AnswerLineStart free

Compare

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 adds Perplexity, Copilot and Grok, with async tasks on every engine.

Sources: scrape.do/pricing/ (checked 2026-09-17), scrape.do/documentation/request-costs/ (checked 2026-09-17), scrape.do/products/ready-api/chatgpt-scraper/ (checked 2026-09-17), scrape.do/products/ready-api/gemini-scraper/ (checked 2026-09-17), scrape.do/documentation/google-scraper-api/search/ (checked 2026-09-17), scrape.do/documentation/google-scraper-api/search/ai-mode/ (checked 2026-09-17), scrape.do/documentation/google-scraper-api/news/ (checked 2026-09-17), scrape.do/documentation/async-api/ (checked 2026-09-17), scrape.do/documentation/ (checked 2026-09-17).

Coverage

Scrape.doAnswerLine
ChatGPTYes, ChatGPT Scraper API: answer, model and citations.Yes, POST /v1/monitor/chatgpt.
PerplexityNo endpoint found.Yes, POST /v1/monitor/perplexity.
GeminiYes, Gemini Scraper API: markdown answer, up to 30 sources, model.Yes, POST /v1/monitor/gemini.
Microsoft CopilotNo endpoint found.Yes, POST /v1/monitor/copilot.
GrokNo endpoint found.Yes, POST /v1/monitor/grok.
Google AI ModeYes, Google AI Mode endpoint: text blocks, references and shopping results.Yes, POST /v1/monitor/aimode.
Google AI OverviewYes, in the Google Search response; a deferred overview needs a follow-up call within 90 seconds.Supported by the API. +2 credits, added once per request.
Google SearchYes, Google Search endpoint with parsed JSON.Supported by the API.
Google NewsYes, Google News endpoint.Supported by the API.

Scrape.do's plans

As published on scrape.do/pricing, checked 2026-09-17. Enterprise is custom.

PlanMonthlyCreditsConcurrency
Free$01,0005
Hobby$29250,00010
Pro$991,250,00050
Business$2493,500,000100
Advanced$69910,000,000200

Price per request

Scrape.do figures are its credits per request, in dollars on the Hobby plan ($29 for 250,000 credits). This API's dollar figure is its credits per request at the credit price of the lowest paid plan. Reference plan: Lite.

RequestAnswerLine creditsAnswerLine priceScrape.do
ChatGPT5$0.00325 credits, $0.0029
Perplexity4$0.002No endpoint found
Gemini4$0.00225 credits, $0.0029
Microsoft Copilot5$0.003No endpoint found
Grok4$0.002No endpoint found
Google AI Mode4$0.00210 credits, $0.0012
Google AI Overview5$0.00310 credits, +5 ($0.0006) when the overview is deferred
Google Search3$0.00210 credits, $0.0012
Google News3$0.00210 credits, $0.0012

How requests, geo, billing and delivery work

Scrape.doAnswerLine
Parsing depthGoogle 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: organic results, ads, People Also Ask, local pack, knowledge graph and the AI Overview with its sources.
Geo targetingGoogle: 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.country on every engine; US state on ChatGPT, Perplexity, Gemini, Copilot and Grok; location, uule, hl and device on Google Search and AI Mode.
Billing on failuresCharged 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 webhooksAsync 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 is stronger

Choose this API when you also need Perplexity, Copilot and Grok, US state targeting on the assistants, and async tasks with webhooks on every engine. The guide below compares the requests.

Which to pick

Pick Scrape.do when you need a general-purpose scraper with rendering and residential proxies for arbitrary sites, and its ChatGPT, Gemini and Google endpoints cover the AI and search data you need at its credit prices.

Pick this API when AI answers are the core data set and you need Perplexity, Copilot and Grok alongside ChatGPT and Gemini, a US state on every assistant request, and async tasks on every engine.

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:

  1. Response parsing. Scrape.do’s ChatGPT response nests the answer as data.message.content.parts[0] with citations under metadata.content_references, close to ChatGPT’s own message format. Here the answer is result.text and citations are result.sources[], the same field names on every assistant.
  2. Engine gaps. Where Scrape.do has no plugin (Perplexity, Copilot, Grok), you’d use its general API and write your own extraction. Here each of them is an endpoint.
  3. 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: the same ChatGPT request

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",
    "state": "WA",
    "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.shoppingCards[] with include.shopping

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",
  hl: "en",
  device: "desktop",
  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, 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", "COPILOT", "GROK")
]
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, four assistants, one call. Results arrive as four signed deliveries; verify them as webhooks shows.

Comparing cost

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’s credits per request: ChatGPT, Copilot and Grok 5, Gemini 4, Google Search 3 for the first page plus 2 for the AI Overview, and 2 more for synchronous calls. The two credit units are not directly comparable; convert both to dollars per answer.

  1. Divide each plan’s price by its credits to get the dollar value of a credit.
  2. Multiply by credits per request for each engine you use.
  3. 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.
  4. Include rework: queries whose deferred overview expired before your follow-up call have to be run again.

Running both side by side before cutting over

Start with a parallel run: the same prompts, markets and schedule on Scrape.do and on this API for one or two weeks, stored in the same table with a provider column.

  1. Choose prompts for ChatGPT and Gemini, which both sides cover, and Google queries where you read the AI Overview.
  2. Keep Scrape.do calls unchanged, including your deferred AI Overview follow-ups.
  3. Send the same prompts here, as tasks with webhooks, keyed by prompt, engine, market and day.
  4. Store both with a provider column, plus on Scrape.do whether the AI Overview was deferred and whether the follow-up succeeded.

What to compare at the end of the run:

Cut over one engine at a time and keep the parallel data: it is the only record of how the switch itself moved your numbers.

Handling errors after the switch

Scrape.do charges for 2xx, 400, 404 and 410 responses and returns the credit cost of each call in a response header, per its docs, so a client written for it often reads that header.

This API’s errors carry a stable code to branch on (authentication and errors):

Situation Status and code What to do
Too many requests this second 429 RATE_LIMIT_EXCEEDED Back off with jitter and retry; nothing ran or was charged.
Every concurrency slot busy on a synchronous call 429 CONCURRENT_LIMIT_EXCEEDED Retry when a running call finishes, or send a task instead.
Queue would overflow 429 QUEUE_LIMIT_EXCEEDED The whole submission was rejected; resubmit later.
API shedding load 429 SERVICE_OVERLOADED Wait at least Retry-After seconds.
Balance can’t cover the request 403 INSUFFICIENT_CREDITS Top up or wait for the next cycle; check GET /v1/credits.
Repeated idempotency key 409 RESOURCE_CONFLICT The task already exists; fetch it instead of creating it.
Engine failed after automatic retries 500 or 502 EXTERNAL_SERVICE_ERROR Not charged. For tasks, resubmit with a new key if you still need the answer.

Every response carries an X-Request-Id; send your own to tie a request to your logs, and quote it to support. The TypeScript SDK applies this retry policy for you.

Decision checklist

  1. Assistants. Perplexity, Copilot or Grok needed? Covered here; no Scrape.do endpoint found.
  2. Markets. US state or city-level location per request? This API takes state on assistants and location on Google.
  3. Fields. List the fields you store and test that each is returned for your prompts on both sides.
  4. Async. Do you need async jobs for ChatGPT prompts? Check Scrape.do’s current Async API plugin list; here every engine accepts tasks.
  5. Other sites. Keep Scrape.do for pages outside search and AI answers.

Pitfalls

Start with the quickstart or the Grok engine page.

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. No Perplexity, Copilot or Grok endpoint was found.

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. This API takes country and a US state on every assistant.

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.

Other comparisons

Build vs buy

What collecting ChatGPT, Perplexity and Google AI answers in-house costs, from browser fleets and parser maintenance to geo egress, compared with per-request pricing.

Provider APIs vs AnswerLine

The OpenAI or Gemini API returns a completion; the consumer app adds web search, citations and product cards on top. What differs, and when each is the right call.

SerpApi vs AnswerLine

Google Search, Google News and AI Overview coverage and price per search on SerpApi, next to this API's credit prices for the same requests.

Apify vs AnswerLine

Apify's ChatGPT, Perplexity, Gemini, Copilot and Google actors next to this API: engine coverage, pay-per-event prices, geo inputs, failures and webhooks.

Bright Data vs AnswerLine

Bright Data's SERP API and AI scrapers for ChatGPT, Perplexity, Gemini, Copilot, Grok and AI Mode next to this API: coverage, price per request, geo and delivery.

DataForSEO vs AnswerLine

DataForSEO's SERP API, LLM Scraper, LLM Responses and LLM Mentions next to this API: which engines are scraped, prices per SERP and per task, geo and delivery.

Oxylabs vs AnswerLine

Oxylabs Web Scraper API sources for ChatGPT, Perplexity, Gemini, AI Mode, AI Overviews and Google next to this API: coverage, price per result, geo and delivery.

ScraperAPI vs AnswerLine

ScraperAPI's structured ChatGPT, Perplexity, Gemini, AI Mode and Google endpoints next to this API: coverage, credits per request, geo, failures and callbacks.

ScrapingBee vs AnswerLine

ScrapingBee's Google, ChatGPT and Gemini APIs next to this API: coverage of AI engines, credits per request, geo parameters, failure billing and async support.

SearchApi vs AnswerLine

SearchApi's Google, AI Mode, AI Overview, ChatGPT, Perplexity, Gemini and Bing Copilot engines next to this API: coverage, price per search, geo and delivery.

Serper vs AnswerLine

Serper's Google Search API credit packs next to this API: which surfaces each covers, price per query, geo options, billing and delivery.

AI Overview API alternative

Which APIs return Google's AI Overview, what each returns and charges, and this API's AI Overview fields from its OpenAPI document.