ChatGPT Ads Read
Full performance reporting at any scope: ad_account, campaign, ad_group, or ad (pass scope + scope_id)
POST https://api.adspirer.ai/api/v1/tools/get_chatgpt_insights/execute
Authorization: Bearer sk_live_... — your Adspirer API key (required)Content-Type: application/json (required)Idempotency-Key: <uuid> — recommended for write operations to make retries safeAll tool arguments are wrapped in an arguments object.
| Field | Type | Description |
|---|---|---|
scope | string optional | 'ad_account', 'campaign', 'ad_group', or 'ad'. default: "ad_account" |
scope_id | string optional | Required for campaign/ad_group/ad scopes — the cmpn_/adgrp_/ad_ id. |
lookback_days | integer optional | How many days back to report (used unless start/end are given). default: 30 |
start | integer optional | Explicit window start (unix seconds, floored to the hour). Use with end instead of lookback_days. |
end | integer optional | Explicit window end (unix seconds, floored to the hour). |
breakdown | string optional | Time granularity: 'none', 'hourly', 'daily', or 'monthly'. (hourly not allowed with segments.) default: "none" |
aggregation_level | string optional | Row entity within the scope: 'ad_account', 'campaign', 'ad_group', or 'ad' (e.g. ad_account scope + campaign level = per-campaign rows). |
segments | array optional | At most one breakdown: 'product', 'country', or 'device'. |
fields | array optional | Project specific columns, e.g. ['campaign.clicks','campaign.spend','campaign.name']. Omit for defaults. |
filters | array optional | Row filters: [{field, operator, value}] with operator 'IN' (array value), 'GREATER_THAN', or 'LESS_THAN' (numeric). E.g. {'field':'campaign.spend','operator':'GREATER_THAN','value':1000000}. |
sort | array optional | Ordering: [{field, direction}] with direction 'asc'|'desc'. E.g. {'field':'campaign.clicks','direction':'desc'}. |
includes | array optional | Zero-impression expansion: 'zero_impression_items' (no segments) or 'zero_impression_products' (with product segment). |
limit | integer optional | Max rows per page (1–2000). default: 200 |
after | string optional | Pagination cursor — pass the prior response's last_id to get the next page. |
before | string optional | Pagination cursor — pass the prior response's first_id to page backward. |
{
"arguments": {
"scope": "ad_account",
"scope_id": "string",
"lookback_days": 30,
"start": 1,
"end": 1,
"breakdown": "none"
}
}
{
"success": true,
"data": {
"text": "(tool-specific textual output for get_chatgpt_insights)",
"quota": {
"used": 42,
"limit": 150,
"tier": "plus",
"period_end": "2026-05-01"
}
},
"tool": "get_chatgpt_insights"
}
{
"success": false,
"error": "You have 25 meta_ads accounts connected. Please specify which account to use by passing the ad_account_id parameter:\n - Acme Holdings (ad_account_id=\"act_123456789\")\n - Acme EU (ad_account_id=\"act_987654321\")",
"is_error": true,
"tool": "get_chatgpt_insights"
}
{
"success": false,
"error": "\ud83d\udea8 Monthly limit reached (150/150 tool calls on Plus tier).\nUpgrade to Pro at https://adspirer.ai to keep building.",
"is_error": true,
"tool": "get_chatgpt_insights",
"quota": {
"used": 150,
"limit": 150,
"tier": "plus",
"period_end": "2026-05-01",
"upgrade_url": "https://adspirer.ai"
}
}
Interactive: Swagger UI
Machine-readable: OpenAPI 3.1 spec · llms-full.txt
More tools: ChatGPT Ads · All tools
Adspirer REST API — get an API key at adspirer.ai/keys · adspirer.ai