Send a prompt to the real chatgpt.com — not the OpenAI API — and get the answer back as structured JSON, including every web source it cited and where in the answer that source is used. Anonymous: no OpenAI account, no OpenAI API key.
No credit card required · PAYG credits never expire
# Ask the real chatgpt.com and read the sources
import scrapebadger
client = scrapebadger.ScrapeBadger("sb_live_...")
answer = client.chatgpt.ask(
prompt="Best web scraping APIs in 2026?",
web_search="force"
){
"answer": "Several APIs stand out in 2026...",
"web_search_triggered": true,
"citation_count": 7,
"citations": [{
"url": "https://example.com/scraping-apis",
"title": "Web Scraping APIs Compared",
"domain": "example.com",
"start_index": 128, "end_index": 214,
"matched_text": "APIs that handle anti-bot..."
}],
"source_domains": ["example.com", "..."],
"model": "gpt-5-5",
"latency_ms": 24118
}Structured JSON responses with normalized data models. No HTML parsing. No proxy management. No OpenAI account.
/v1/chatgpt/ask/v1/chatgpt/brand-visibility/v1/chatgpt/modelsMost ChatGPT scrapers hand back text and, at best, a list of URLs. ScrapeBadger returns the evidence behind the answer.
Answers come from the consumer product with web browsing, so you see what a real user sees — including the sources ChatGPT surfaced. No OpenAI account, no OpenAI API key, no per-token bill.
Every citation carries start_index, end_index, and matched_text — the exact substring of the answer that source supports. No other vendor anchors citations into the text; everyone else hands you a bare URL list.
search_results returns everything ChatGPT retrieved with a cited flag on each entry, next to citations which returns only what it actually referenced. You can see what it read and rejected.
web_search_triggered tells you whether ChatGPT actually ran a web search for this prompt or answered from the model alone. Force it on or off with web_search=force|off when you need determinism.
One call returns mention count, first position, share of voice against named competitors, whether your domain was cited, and its citation rank. AEO/GEO platforms sell this as a $99–989/mo subscription.
Credits are only deducted for successful responses. Blocked, rate-limited, and upstream errors are never billed. PAYG credits never expire.
Same job, different depth. Prices are per 1,000 requests as published by each vendor.
| Vendor | Price / 1K | Citations | Full search trail | Brand analysis |
|---|---|---|---|---|
| Bright Data | $1.50 | Yes | No | No |
| Apify chatgpt-search | $3.00 | Yes | No | No |
| DataForSEO LLM Scraper | $1.20–4.00 | Yes | Yes | Separate product |
| Scrapingdog | ~30 credits/req | No | No | No |
| ScrapingBee | Credits | No | No | No |
| ScrapeBadger | $3.00 | Yes + text offsets | Yes | Bundled |
You only pay for successful responses — blocked, rate-limited, and upstream errors are always free. PAYG credits never expire; volume subscription tiers reduce per-credit cost further.
Get started in minutes with Node.js, Python, or plain HTTP requests.
The scrapebadger Node.js library wraps the ChatGPT API with typed methods. Install with npm install scrapebadger, then start asking ChatGPT in a few lines of code.
import ScrapeBadger from 'scrapebadger'
const client = new ScrapeBadger({
apiKey: 'sb_live_...'
})
// Ask the real chatgpt.com (takes 20-25s ungrounded, 30-70s with web search)
const res = await client.chatgpt.ask({
prompt: 'Best web scraping APIs in 2026?',
webSearch: 'force',
})
console.log(res.answer)
console.log(res.webSearchTriggered, res.citationCount)
// Which sentence does each source back?
for (const c of res.citations) {
console.log(c.domain, c.startIndex, c.endIndex)
}
// How visible is your brand in that answer?
const vis = await client.chatgpt.brandVisibility({
prompt: 'Best web scraping APIs in 2026?',
brand: 'ScrapeBadger',
domain: 'scrapebadger.com',
competitors: ['Bright Data', 'ScrapingBee'],
})
console.log(vis.mentioned, vis.shareOfVoicePct, vis.citationRank)Common questions about scraping ChatGPT with the API — Node.js, Python, or REST.
The /ask endpoint returns the prompt, the answer as plain text and markdown, citations (url, title, snippet, domain, attribution, published_at, plus start_index/end_index/matched_text pointing into the answer), search_results with the full retrieved set and a cited flag on each, source_domains, search_queries, web_search_triggered, the model slug, conversation and message IDs, country, answer_length, citation_count, latency_ms, and created_at.
The real chatgpt.com. Requests go to the consumer product anonymously — no OpenAI account and no OpenAI API key is involved on either side. That is why answers include the web sources ChatGPT cited, which the OpenAI API does not give you.
ChatGPT composes the answer live, so /ask and /brand-visibility measure 20-25s ungrounded, 30-70s with web search end to end. /models returns immediately. Size your client timeouts to at least 60 seconds. For comparison, DataForSEO publishes a 90-second SLA on its live tier.
Call /brand-visibility with a prompt, your brand name, and optionally your domain, aliases, and competitors. You get back mentioned, mention_count, first_position, position_score (1.0 = named at the very start), share_of_voice_pct against the competitors you named, cited plus cited_urls and citation_rank for your domain, a per-competitor breakdown, and an excerpt of the answer around the first mention — alongside the answer and its citations.
Install with `npm install scrapebadger`, initialise the client with your API key, then call client.chatgpt.ask({ prompt: "..." }) or client.chatgpt.brandVisibility({ prompt: "...", brand: "...", competitors: ["..."] }). Both accept an optional country (ISO-3166 alpha-2, default US) and web_search (auto | force | off). Plain HTTP works too — every endpoint accepts GET or POST with the X-API-Key header.
Per-request credit costs are listed above. For higher monthly volume, subscription tiers reduce the per-credit rate substantially. All ChatGPT endpoints — ask, brand visibility, and models — included on every plan.
1,000 free credits. No credit card. Get your API key in under a minute.
PAYG credits never expire · Pay only for successful requests · No OpenAI account needed