get_report_data
Assemble a report's live data (KPIs, charts, tables) for a period, pulled from the connected sources exactly as the app does. datePreset and comparePreset default to the report's saved config; widgetIds (from get_report) limits the result to chosen widgets, which matters for large tables (a 500-row table alone can run to about 90,000 characters); brandFilter reads query-based widgets as branded or non-branded only. A widget that could not be read for the period is null, with the reason in _meta.unavailable. Third-party text (URLs, domains, page titles, search queries) is named in untrustedContent. Notes on donuts, sparklines, margins of error, memory-sourced answers, Peec AI counts and report filters arrive in howToRead.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"reportId": "<reportId>"
},
"name": "get_report_data"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reportId | Yes | The report id. | |
| widgetIds | No | Only these widgets (ids from get_report). Omit for the whole report. | |
| datePreset | No | Date range, e.g. "last_month", "last_7_days", "last_30_days", "quarter_to_date", "last_quarter", "year_to_date", "custom_YYYY-MM-DD_YYYY-MM-DD". | |
| brandFilter | No | Branded or non-branded only, for the widgets that count search queries or keywords, as if each had that filter. Omit for the widgets as saved. | |
| comparePreset | No | Comparison, e.g. "none", "previous_period", "previous_year". |