Scrape.do vs AnswerLine
Scrape.do is a general scraping API with ready endpoints for ChatGPT, Gemini, Google Search, AI Mode and Google News, billed in credits on monthly plans. This API serves ChatGPT, Gemini, Perplexity, Copilot, Grok, Google AI Mode, Google Search, and Google News, with async tasks on every engine.
Coverage
| Scrape.do | AnswerLine | |
|---|---|---|
| ChatGPT | Yes, ChatGPT Scraper API: answer, model and citations. | Yes, POST /v1/monitor/chatgpt. |
| Perplexity | No endpoint listed in Scrape.do's public docs (checked 2026-09-17). | Yes, POST /v1/monitor/perplexity. |
| Gemini | Yes, Gemini Scraper API: markdown answer, up to 30 sources, model. | Yes, POST /v1/monitor/gemini. |
| Copilot | No endpoint listed in Scrape.do's public docs (checked 2026-09-17). | Yes, POST /v1/monitor/copilot. |
| Grok | No endpoint listed in Scrape.do's public docs (checked 2026-09-17). | Yes, POST /v1/monitor/grok. |
| Google AI Mode | Yes, Google AI Mode endpoint: text blocks, references and shopping results. | Yes, POST /v1/monitor/aimode. |
| Google AI Overview | Yes, in the Google Search response; a deferred overview needs a follow-up call within 90 seconds. | Supported by the API. +$0.00071 on every tier, charged only when the response holds an AI Overview. |
| Google Search | Yes, Google Search endpoint with parsed JSON. | Supported by the API. |
| Google News | Yes, Google News endpoint. | Supported by the API. |
Scrape.do's plans
| Plan | Monthly | Credits | Concurrency |
|---|---|---|---|
| Free | $0 | 1,000 | 5 |
| Hobby | $29 | 250,000 | 10 |
| Pro | $99 | 1,250,000 | 50 |
| Business | $249 | 3,500,000 | 100 |
| Advanced | $699 | 10,000,000 | 200 |
Price per request
| Request | AnswerLine (Starter) | AnswerLine (Max) | Scrape.do |
|---|---|---|---|
| ChatGPT | $0.0006 | $0.00042 | 25 credits, $0.0029 |
| Perplexity | $0.0015 | $0.001 | No endpoint listed |
| Gemini | $0.0006 | $0.00042 | 25 credits, $0.0029 |
| Copilot | $0.00274 | $0.00274 | No endpoint listed |
| Grok | $0.00218 | $0.00218 | No endpoint listed |
| Google AI Mode | $0.00206 | $0.00206 | 10 credits, $0.0012 |
| Google AI Overview | $0.00174 | $0.00174 | 10 credits, +5 ($0.0006) when the overview is deferred |
| Google Search | $0.00103 | $0.00103 | 10 credits, $0.0012 |
| Google News | $0.0002 | $0.00014 | 10 credits, $0.0012 |
How requests, geo, billing and delivery work
| Scrape.do | AnswerLine | |
|---|---|---|
| Parsing depth | Google endpoints return parsed JSON: organic results, ads, top stories, People Also Ask, AI Overview, local results and knowledge graph. ChatGPT returns answer text, model and citations. The general API returns raw HTML or markdown. | One JSON schema per engine in the OpenAPI document. Assistants: answer text, markdown and sources, plus the engine-specific fields each schema defines. Google Search: organic results, ads, People Also Ask, local pack, knowledge graph and the AI Overview. Google News: the news results with their source, date and position. |
| Geo targeting | Google: gl, hl, location, uule, Google domain and device. General API: country by geoCode. No geo parameter is documented on the ChatGPT and Gemini product pages (checked 2026-09-17). | country on every engine: ChatGPT, Gemini, AI Mode and Google Search answer from 213 countries, Copilot, Perplexity and Grok take any country, and Google News the 71 countries with a Google News edition. Google Search and AI Mode also take a city, and Gemini a US state. |
| Billing on failures | Charged for 2xx, 400, 404 and 410 responses; not for timeouts, blocks or errors. | A failed request or task is not charged, and neither is a queued task you clear before it starts. |
| Async and webhooks | Async API jobs with a webhook URL; its docs list Amazon, Google Search and Google Trends among the endpoints it supports. | Synchronous monitor calls, or async tasks and batches with idempotency keys, polled or delivered to a signed webhook with up to 10 delivery attempts. |
Where Scrape.do fits
- The same credits buy JavaScript rendering, sessions, screenshots and residential or mobile proxies for pages no structured endpoint covers.
- Google requests cost 10 credits, on plans of up to 10,000,000 credits a month.
- Ready endpoints also cover Amazon, Walmart, YouTube, Google Maps, Shopping, Flights, Hotels, Play Store and Trends.
This API fits when you want async tasks with webhooks on every engine and one response schema per engine. The guide below compares the requests.
Where each one fits
Scrape.do covers the case where you need a general-purpose scraper with rendering and residential proxies for arbitrary sites, and its ChatGPT, Gemini and Google endpoints happen to cover the AI and search data you need at its credit prices.
This API covers the case where AI answers are the core data set: ChatGPT, Gemini, Perplexity, Copilot and Grok answers with their citations as documented fields, Google Search with the AI Overview, Google AI Mode, Google News, and async tasks on each of them.
You can keep Scrape.do for long-tail scraping and move only the AI answer workload.
What each is built around
Scrape.do’s core product is a proxy-and-rendering API: pass a URL and options such as render, super (residential and mobile IPs) and geoCode, and get the page back, raw or as markdown. Its “Ready Scraper APIs” are plugins on top of that, each with its own path under /plugin/ and its own credit cost (checked 2026-09-17, scrape.do).
This API has no URL mode and no proxy options. Each engine is an endpoint with a request schema (prompt or query, market, include flags) and a response schema.
What you maintain differs:
- Response parsing. Scrape.do’s ChatGPT response nests the answer as
data.message.content.parts[0]with citations undermetadata.content_references, close to ChatGPT’s own message format. Here the answer isresult.textand citations areresult.sources[], the same field names on every assistant. - Engine coverage. Where Scrape.do’s public docs list no plugin (Perplexity, Copilot and Grok, checked 2026-09-17), you’d use its general API and write your own extraction. Here Perplexity, Copilot and Grok each have their own endpoint.
- Deferred content. Scrape.do’s deferred AI Overview needs your code to make a follow-up call within 90 seconds. Here the Google response contains the overview, or
null.
Migration: one ChatGPT prompt
On Scrape.do
Scrape.do’s ChatGPT page documents a GET with the token and prompt as query parameters (checked 2026-09-17, scrape.do):
curl "https://api.scrape.do/plugin/chatgpt/chat?token=$SCRAPEDO_TOKEN&q=best+standing+desk+for+small+apartments"
The documented response carries the answer in data.message.content.parts[0], the model in metadata.model_slug, citations in metadata.content_references[], and a conversation_id.
On this API
curl -X POST https://api.answerline.dev/v1/monitor/chatgpt \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "best standing desk for small apartments",
"country": "US",
"include": { "markdown": true }
}'
Keep the API key out of URLs: it goes in the Authorization header, which proxies and access logs are less likely to record than a query string.
Mapping the response
| Scrape.do ChatGPT | This API |
|---|---|
data.message.content.parts[0] |
result.text, result.markdown |
metadata.content_references[] |
result.sources[], result.citationPills[] |
metadata.model_slug |
result.model |
{{shopping:<id>}} placeholders in the text |
result.inlineProducts[] with include.shopping (price, link and merchant offers; shoppingCards[] is empty today); product names in result.entities[] |
Migration: Google Search with the AI Overview
On Scrape.do
curl "https://api.scrape.do/plugin/google/search?token=$SCRAPEDO_TOKEN&q=standing+desk&gl=us&hl=en&device=desktop"
Its docs list organic_results, related_questions, ai_overview, local_results, knowledge_graph and more in the response. If ai_overview.state is deferred, you call the AI Overview follow-up endpoint with the session_key before it expires.
On this API
import { Client } from "@answerline/sdk";
const client = new Client({ apiKey: process.env.API_KEY!, baseUrl: "https://api.answerline.dev" });
const { result } = await client.google({
query: "standing desk",
country: "US",
include: { aioverview: { markdown: true } },
});
const cited = (result.aioverview?.sources ?? []).map((s: { url: string }) => s.url);
console.log(result.organicResults.length, cited);
Field names map roughly one to one: organic_results to organicResults, related_questions to peopleAlsoAsk, local_results to localResults, knowledge_graph to knowledgeGraph, ai_overview to aioverview. Check each sub-field in the Google Search engine page rather than assuming identical shapes.
Async jobs
Scrape.do’s Async API creates jobs with targets and a webhook URL, authenticated with an X-Token header; its docs list Amazon, Google Search and Google Trends among the plugins it supports, and give async concurrency as 30% of the plan’s.
This API’s async tasks work for every engine it serves, including ChatGPT, and each task carries its own idempotency key and webhook:
import os, requests
tasks = [
{
"taskType": t,
"payload": {"prompt": "best standing desk for small apartments", "country": "US"},
"idempotencyKey": f"desk-{t}-US-2026-09-17",
"webhook": {"url": "https://your-app.com/hooks/answers"},
}
for t in ("CHATGPT", "GEMINI")
]
r = requests.post(
"https://api.answerline.dev/v1/async/task/batch",
headers={"Authorization": f"Bearer {os.environ['API_KEY']}"},
json=tasks,
timeout=60,
)
print(r.json()["summary"])
One prompt, two assistants, one call. Results arrive as two signed deliveries; verify them as webhooks shows.
Converting credits to dollars
Scrape.do’s plans sell credits whose price falls as plans grow, and each endpoint costs a fixed number of credits: 25 for ChatGPT and Gemini, 10 for Google Search, AI Mode and News, plus 5 for a deferred AI Overview follow-up (checked 2026-09-17). This API charges dollars per request, at the Starter tier: ChatGPT $0.0006 and Copilot $0.00274, Perplexity $0.0015, Grok $0.00218, Gemini $0.0006, Google AI Mode $0.00206, Google Search $0.00103 for the first page plus $0.00071 for the AI Overview, Google News $0.0002 for the first page. Higher tiers, reached by 30-day spend, are cheaper. Scrape.do’s credits need converting before the two compare; put both in dollars per answer.
- Divide each Scrape.do plan’s price by its credits to get the dollar value of a credit, and multiply by its credits per request for each engine you use.
- Here, take the dollar price per request at the tier your 30-day spend reaches.
- For Scrape.do Google requests, add the follow-up cost for the share of queries where the AI Overview is deferred; measure that share on your own queries.
- Include rework: queries whose deferred overview expired before your follow-up call have to be run again.
A trial period with both providers
Keep the Scrape.do calls exactly as they are and add the same work here for a week or two, with a provider column on the rows.
- Choose prompts for ChatGPT and Gemini, which both sides cover.
- Keep Scrape.do calls unchanged.
- Send the same prompts here as tasks with webhooks, building each idempotency key from the prompt id, engine, market and date.
- Store both with a
providercolumn.
The comparisons worth making:
- Answer and citation overlap per prompt, judged against the spread between two runs of the same prompt on one provider.
- Credits spent on responses you couldn’t use, remembering that Scrape.do bills some 4xx responses.
- Code you could delete after the switch: response unwrapping, follow-up calls and session key handling.
Move ChatGPT and Gemini first, and Google in a single step after them. Google is where the deferred-overview follow-up lives, and you want the session-key handling deleted in one commit rather than left half-used against a provider you no longer call for the other engines.
Charges and errors after the switch
Scrape.do bills 2xx, 400, 404 and 410 responses and returns the credit cost of each call in a response header, so clients written for it often read that header to reconcile spend. Keep the reconciliation and move the field: here the charge arrives with the result as credits.creditsCharged, and a request that failed is not charged at all, so a validation error costs nothing.
The other change is that a single HTTP status no longer identifies the problem. Several distinct situations answer 429, so branch on the error code: authentication and errors lists them, and rate limits says which carry Retry-After.
What to check before switching
- Assistants. For Perplexity, Copilot or Grok: Scrape.do’s public docs list no endpoint for them (checked 2026-09-17); here all three are served.
- Markets. US state or city-level location per request? Here Gemini takes a US state, and Google Search and Google AI Mode take a city-level location; ChatGPT answers per country from 213 countries, and Copilot, Perplexity and Grok from any.
- Fields. List the fields you store and test that each is returned for your prompts on both sides.
- Async. For async jobs on ChatGPT prompts, check Scrape.do’s current Async API plugin list; here every served engine accepts tasks.
- Other sites. Keep Scrape.do for pages outside search and AI answers.
Common mistakes
- Tokens in query strings. Moving to header auth is a good moment to rotate keys that were logged in URLs.
- Assuming 4xx is free. Scrape.do’s docs list 400, 404 and 410 responses as billed. Here only completed requests are charged, so validation errors cost nothing, but fix them anyway.
- Session key races. If you keep Scrape.do for some Google traffic, make the deferred-overview follow-up immediate and single-use.
- One parser for all engines. Gemini’s schema has no
searchQueries; ChatGPT’s does. Map per engine.
Send a first request with the quickstart, or read the Gemini engine page for its result schema.
Scrape.do is a trademark of its owner. AnswerLine is not affiliated with or endorsed by Scrape.do.
Questions
Does Scrape.do have a ChatGPT API?
Yes. As checked on 2026-09-17, Scrape.do's ChatGPT Scraper API costs 25 credits per call and its page says it scrapes the public chatgpt.com web product. It also has a Gemini Scraper API at 25 credits. Its public docs list no Perplexity, Copilot or Grok endpoint.
How does Scrape.do handle Google AI Overviews?
Its Google Search endpoint returns ai_overview in the response. When Google defers the overview, the response carries a session key, valid for 90 seconds and usable once, for a follow-up call that costs 5 credits.
Can I target a US state with Scrape.do?
Scrape.do's Google endpoints take gl, hl, location and uule, and its geo-targeting page says to contact them for city or state targeting on the general API. No geo parameter is documented on its ChatGPT and Gemini product pages (checked 2026-09-17). On this API, ChatGPT and Gemini answer from 213 countries, and Gemini also takes a US state.
What does Scrape.do charge for?
Its documentation says requests are charged for 2xx, 400, 404 and 410 responses, and its pricing page says timeouts, blocks and errors are not charged. This API does not charge failed requests or tasks.
Should I replace Scrape.do entirely?
Only if AI answers and Google results are all you use it for. Its general scraping API, rendering and proxies cover sites a structured AI answer API does not.