The ChatGPT Ads API on AdScrape gives you the same data the dashboard renders, exposed as a small REST surface. Every call returns JSON with consistent envelopes — there are no XML or form-encoded responses. Preview API specification for ChatGPT ads.
- REST + JSONUTF-8 JSON in/out. Endpoint shapes are stable and forward-compatible.
- New ad surfaceMonitor promotions inside ChatGPT as the catalog matures.
- Net-new inventoryBe early on a platform the rest of the industry hasn't indexed yet.
- Preview pricingEndpoints reserved — not billable until GA. 10 free credits at launch.
- Same auth as MetaOne AdScrape key covers Meta, YouTube, Google, LinkedIn, and ChatGPT.
- WaitlistPre-launch — endpoints return 503 until your account is allowlisted.
- 1. Join the waitlist. Sign up — accounts are allowlisted in cohorts as the ad inventory grows.
- 2. Create a key. Settings → API Keys → Create. The same key works across every AdScrape surface.
- 3. Send a probe call.
/chatgpt/searchwith a generic query returns the response envelope so you can wire up your handlers before GA.
curl -X POST https://api.adscrape.in/api/v1/chatgpt/search \
-H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"query":"openai","max_results":10}'Same authentication as every other AdScrape surface — pass X-API-Key on every request. Bearer JWT also works for dashboard sessions. Manage keys at Settings → API Keys.
curl -X POST https://api.adscrape.in/api/v1/chatgpt/search \
-H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-d '{"query":"openai"}'ChatGPT routes are reserved but not billable during preview. Every call currently returns a 503 with code: "preview_not_allowlisted" until your account is enabled. At GA, pricing will match the rest of the AdScrape per-ad model.
POST /api/v1/chatgpt/searchpreview— (free at GA: $0.05/ad)Reserved during preview. Returns 503 until allowlisted.
GET /api/v1/chatgpt/ads/{id}preview— (free at GA)Cache reads, free at GA.
Caps follow the rest of AdScrape. During preview, allowlisted accounts get the Free-tier cap regardless of plan — billing kicks in at GA.
- Preview (all)
30Same cap for everyone until GA.
- Free (GA)
30Future GA cap.
- Starter (GA)
60Future GA cap.
- Growth (GA)
120Future GA cap.
Errors share one envelope. During preview most non-allowlisted calls return 503 — wire your handlers now so GA is a flip-flag.
400validation_errorBad body. Detail names the field.
401missing_keyNo X-API-Key header and no valid JWT cookie.
404ad_not_foundNo ad with that id in your cache.
429rate_limitedPer-minute cap exceeded. Honour Retry-After.
503preview_not_allowlistedYour account isn't in the preview cohort yet — join the waitlist.
/api/v1/chatgpt/search preview · freeSearch the ChatGPT ad inventory by free-text query. Response envelope is final — payloads will be more populated as inventory grows.
queryrequiredstring1–80 chars. Free-text query against advertiser, ad title, and body.max_resultsoptionalintegerMax ads returned (1–50). Playground clamps to 5.Defaults to10.session_tokenoptionalstringCursor from the previous response — pagination is supported even in preview.
curl -X POST https://api.adscrape.in/api/v1/chatgpt/search \
-H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"query":"openai","max_results":10}'{
"summary": { "count": 4, "query": "openai", "preview": true },
"ads": [
{
"ad_id": "gpt_ad_001",
"advertiser": "OpenAI",
"surface": "chatgpt-conversation",
"placement": "sidebar",
"headline": "Try ChatGPT Plus — Faster, smarter, $20/mo",
"destination_url": "https://chatgpt.com/upgrade",
"first_seen": "2026-04-22T11:00:00Z"
}
],
"session_token": "gpt_sess_x9y8z7",
"has_more": false
}/api/v1/chatgpt/ads/{id} preview · freeFull single-ad record. Reads from your cache after a /chatgpt/search call has surfaced the ad. Returns 404 for unknown ids.
curl https://api.adscrape.in/api/v1/chatgpt/ads/gpt_ad_001 \
-H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"{
"ad_id": "gpt_ad_001",
"advertiser": "OpenAI",
"surface": "chatgpt-conversation",
"placement": "sidebar",
"headline": "Try ChatGPT Plus — Faster, smarter, $20/mo",
"body": "Unlock GPT-5 and priority access during peak times.",
"cta": "Upgrade",
"destination_url": "https://chatgpt.com/upgrade",
"media_url": null,
"first_seen": "2026-04-22T11:00:00Z",
"last_seen": "2026-05-15T08:30:00Z",
"preview": true
}Next steps
The dashboard, your keys, and your billing live one tab away.