cloro
ChatGPT Ads

The ChatGPT ads competitive-intelligence API

One API returns the parsed ads array on every ChatGPT response — brand, creative, deep-link, and country. Built for ad-ops, brand teams, and ad-tech vendors who need the raw signal, not a packaged dashboard.

4.6 · 21 reviews G2.com software review platform logo
Try 500 credits for free

No credit card required.

ChatGPT ads API example
Live

Example Request

POST
curl -X POST https://api.cloro.dev/v1/monitor/chatgpt \
  -H "Authorization: Bearer sk_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "best HR software for a 500-person company",
    "country": "US",
    "include": {
      "markdown": true
    }
  }'

Response

~30 s
{
  "success": true,
  "result": {
    "text": "...",
    "sources": [],
    "ads": [
      {
        "brand": {
          "name": "Rippling",
          "url": "https://rippling.com",
          "favicon": "https://bzrcdn.openai.com/rippling/favicon.png"
        },
        "cards": [
          {
            "title": "Run HR, IT, and Finance in One Platform",
            "body": "All your employee data in one system.",
            "url": "https://rippling.com/?utm_source=chatgpt.com&utm_medium=src"
          }
        ]
      }
    ]
  }
}
Used by ad-ops and brand teams tracking ChatGPT ad share-of-voice
1B+ monthly API calls

The ChatGPT ads intelligence layer

cloro returns the parsed ads array on every ChatGPT response. The same API key also gets you Google AI Overview ads, plus organic citations across every major AI engine.

Why ChatGPT ads need their own monitoring layer

Our 2026-05-26 measurement put ChatGPT ad penetration at 26.5% of responses overall and 49.1% within the US, up from 0.42% three weeks earlier. The competitive-intelligence problem is no longer theoretical.

ChatGPT ads now appear in roughly half of US responses on commercial-intent queries

Ad penetration jumped 60× in three weeks

From 0.42% in April-May to 26.5% overall and 49.1% in the US on 2026-05-26. A competitor buying placements on your priority queries today shows up on ~1 in 2 US responses. Full breakdown.

OpenAI Platform API documentation page

No public API exposes ChatGPT ads

OpenAI's API returns model output, not the rendered UI. The `ads[]` array, the `bzrcdn.openai.com` creative CDN, the `utm_source=chatgpt.com` tagging — none of it surfaces through any official endpoint. cloro renders and parses the UI for you.

ChatGPT bot-detection security check screen

Direct ChatGPT scraping breaks weekly

ChatGPT's anti-automation hardens faster than most teams can keep up with. DIY proxy fleets and fingerprint rotation spend more on infra than the data is worth. cloro absorbs that maintenance so your monitoring keeps running.

ChatGPT response showing variable ad placements by country and query type

Ads cluster by country and prompt — you need both axes

ChatGPT ads are an English-speaking-market product, and commercial-intent queries surface them at far higher rates. Single-prompt monitoring tells you nothing — you need a query-set × country grid.

Detect ChatGPT ads in 5 lines of code

The ads[] array is a non-empty array when ChatGPT served a paid placement. Each entry has the brand, creative, and deep-link already parsed.

Detect ads on a single prompt

python
import requests

response = requests.post(
  "https://api.cloro.dev/v1/monitor/chatgpt",
  headers={
    "Authorization": "Bearer sk_live_your_api_key_here",
    "Content-Type": "application/json"
  },
  json={
    "prompt": "best HR software for a 500-person company",
    "country": "US",
    "include": {"markdown": True}
  }
)

ads = response.json().get("result", {}).get("ads") or []
for ad in ads:
  print(f"{ad['brand']['name']}: {ad['cards'][0]['title']}")

Response example

200 OK application/json
{
  "success": true,
  "result": {
    "text": "For a 500-person company, the leading options include...",
    "model": "gpt-5-3",
    "sources": [
      {
        "position": 1,
        "url": "https://rippling.com/blog/hr-software-500-employees",
        "label": "HR Software for Mid-Market Companies",
        "description": "How to choose an HR platform..."
      }
    ],
    "ads": [
      {
        "brand": {
          "name": "Rippling",
          "url": "https://rippling.com",
          "favicon": "https://bzrcdn.openai.com/rippling/favicon.png"
        },
        "cards": [
          {
            "title": "Run HR, IT, and Finance in One Platform",
            "body": "All your employee data in one system. Free up your team to focus on what matters.",
            "url": "https://rippling.com/?utm_source=chatgpt.com&utm_medium=src",
            "image": "https://bzrcdn.openai.com/rippling/card.png"
          }
        ]
      }
    ],
    "searchQueries": [
      "best HR software mid-market",
      "HR platform 500 employees"
    ]
  }
}

Pricing that scales with you

Pick a plan that fits your volume. Price per credit drops as you scale.

Hobby
$100/mo
250,000 credits
  • $0.40 per 1000 credits
  • 10 concurrent jobs
  • Email support
Starter
$250/mo
694,444 credits
  • $0.36 per 1000 credits
  • 25 concurrent jobs
  • Email support
Most Popular
Growth
$500/mo
1,562,500 credits
  • $0.32 per 1000 credits
  • 50 concurrent jobs
  • Priority email support
Business
$1,000/mo
3,333,333 credits
  • $0.30 per 1000 credits
  • 100 concurrent jobs
  • Priority email support
Enterprise
$1,500+
Large volumes
  • Volume discounts
  • Larger concurrency
  • Slack support

Credit cost per request varies by provider. The rates below apply to async/batch requests; sync requests add a +2 credit surcharge.

ChatGPT (query fan-out) 7 credits
ChatGPT (web search) 5 credits
Perplexity 3 credits
Grok 4 credits
Copilot 5 credits
AI Mode 4 credits
AI Overview (incl. SERP) 5 credits
Gemini 4 credits
Google Search 3 credits +2/page
Google News 3 credits +2/page

Google News uses the same pricing as Google Search.

ChatGPT ad monitoring, answered

How do I see which brands advertise on ChatGPT in my category?+

Run your category-defining queries through `POST /v1/monitor/chatgpt` and inspect the `ads[]` array on each response. Brand name, ad creative, deep-link, and country are all returned as structured fields. Aggregate across your priority query set on a fixed cadence (weekly is typical) and you have your category's share-of-voice signal. The technical monitoring guide walks through a working Python implementation.

What's the difference between /chatgpt/ and /chatgpt-ads/?+

Same endpoint, different lens. `/chatgpt/` is positioned around the full UI surface — citations, sources, shopping cards, entities, brand mentions. `/chatgpt-ads/` is positioned around the `ads[]` array specifically: who's buying placements, what they're saying, and how often. Same `POST /v1/monitor/chatgpt` request; the response payload carries both surfaces, and you parse the one you care about.

How does cloro detect that a placement is paid and not organic?+

Three independent signals, any one of which is sufficient. First, the placement appears in `response.result.ads[]` rather than `sources[]` (OpenAI maintains a strict separation). Second, the creative assets are served from `bzrcdn.openai.com`, OpenAI's brand/creative CDN used exclusively for paid placements. Third, the destination URL is tagged `utm_source=chatgpt.com&utm_medium=src` for advertiser attribution. cloro checks all three for redundancy.

Can I track ChatGPT ad share-of-voice for my category over time?+

Yes. Define a fixed query set (typically 50-200 priority prompts representing your category), run it on cadence, and aggregate the `ads[]` arrays into a per-brand placement count. Share of voice is straightforward arithmetic from there. The new-advertiser signal — brands that appear for the first time vs your trailing-30-day baseline — is often the highest-signal event in the dataset.

Which countries actually see ChatGPT ads?+

As of our 2026-05-26 measurement: US (49.1%), Canada (33.6%), Australia (19.8%), UK (1.5%), and roughly zero everywhere else. ChatGPT advertising in May 2026 is an English-speaking-market product. If you're tracking non-US/CA/AU/UK markets, expect sparse ad data and budget your monitoring volume accordingly.

How often does ChatGPT show ads — and how often should I poll?+

On the post-spike rate (~25% overall, ~49% US), daily cadence on a US-focused query set surfaces enough signal to track per-advertiser trends. Weekly is fine for total-volume monitoring and non-US coverage. Hourly polling burns API calls without surfacing proportionally more data — there's no benefit until you're tracking a specific competitive event in real time.

Can I run this at high volume without holding open connections?+

Use the async endpoint (`POST /v1/monitor/chatgpt/async`). Submit your priority query set as a batch, receive results via webhook when each completes. Same response shape, same `ads[]` detection logic. Sync concurrency limits depend on your plan; async has none.

What does cloro pricing look like compared to running this in-house?+

DIY ChatGPT ad monitoring requires rotating residential proxies, headless browser fleets, fingerprint rotation, and engineering time to chase ChatGPT's anti-automation cadence. Realistic in-house cost lands at $3-8k/month on infra alone before headcount. cloro's Hobby plan ($100/month) covers 250k requests with managed reliability and zero infra to run.

Start tracking ChatGPT ads in your category today

One endpoint. The same key gets you Google AI Overview ads and organic citations across every major AI engine.