ScrapingBee vs AnswerLine
ScrapingBee is a general scraping API with dedicated Google, ChatGPT and Gemini endpoints, billed in credits on monthly plans. This API is built only for AI answers and search results.
Coverage
| ScrapingBee | AnswerLine | |
|---|---|---|
| ChatGPT | Yes, ChatGPT API: answer as text, markdown and a markdown tree; their docs say citations are not returned every time. | Yes, POST /v1/monitor/chatgpt. |
| Perplexity | No prompt endpoint in ScrapingBee's public docs (checked 2026-09-17); its Perplexity page covers scraping public shared answers with the general API. | Yes, POST /v1/monitor/perplexity. |
| Gemini | Yes, Gemini API: answer and citations. | Yes, POST /v1/monitor/gemini. |
| Copilot | No prompt endpoint in ScrapingBee's public docs (checked 2026-09-17); shared-chat pages through the general API. | Yes, POST /v1/monitor/copilot. |
| Grok | No prompt endpoint in ScrapingBee's public docs (checked 2026-09-17); shared-chat pages through the general API. | Yes, POST /v1/monitor/grok. |
| Google AI Mode | Yes, search_type=ai_mode on the Google API, with a 400-character query limit. | Yes, POST /v1/monitor/aimode. |
| Google AI Overview | Yes, ai_overviews in Google API results on regular (not light) requests. | Supported by the API. +$0.00071 on every tier, charged only when the response holds an AI Overview. |
| Google Search | Yes, Google API. | Supported by the API. |
| Google News | Yes, search_type=news on the Google API. | Supported by the API. |
ScrapingBee's plans
| Plan | Monthly | API credits | Concurrent requests |
|---|---|---|---|
| Hobby | $19 | 75,000 | 25 |
| Freelance | $49 | 250,000 | 50 |
| Startup | $99 | 1,000,000 | 100 |
| Business | $249 | 3,000,000 | 200 |
| Business + | $599 | 8,000,000 | 400 |
Price per request
| Request | AnswerLine (Starter) | AnswerLine (Max) | ScrapingBee |
|---|---|---|---|
| ChatGPT | $0.0006 | $0.00042 | 15 credits, $0.0038 ($0.0012) |
| Perplexity | $0.0015 | $0.001 | No prompt endpoint listed |
| Gemini | $0.0006 | $0.00042 | 15 credits, $0.0038 ($0.0012) |
| Copilot | $0.00274 | $0.00274 | No prompt endpoint listed |
| Grok | $0.00218 | $0.00218 | No prompt endpoint listed |
| Google AI Mode | $0.00206 | $0.00206 | A Google API search type; no separate price published |
| Google AI Overview | $0.00174 | $0.00174 | Regular request, 15 credits, $0.0038 ($0.0012) |
| Google Search | $0.00103 | $0.00103 | Light request, 10 credits, $0.0025 ($0.0008) |
| Google News | $0.0002 | $0.00014 | A Google API search type; no separate price published |
How requests, geo, billing and delivery work
| ScrapingBee | AnswerLine | |
|---|---|---|
| Parsing depth | Google: organic, ads, People Also Ask, local, maps, news and AI Overview fragments with their references. ChatGPT: text, markdown and a markdown tree; the docs list no citations field (checked 2026-09-17). Gemini: text, markdown and citations. | 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: country_code, latitude, longitude, radius and device. ChatGPT and Gemini: country_code. | 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 | Pay only for successful requests; their ChatGPT and Gemini pages say failed requests are not charged. | A failed request or task is not charged, and neither is a queued task you clear before it starts. |
| Async and webhooks | No async or webhook option in ScrapingBee's public docs (checked 2026-09-17); calls are synchronous and retried for up to 30 seconds. | 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 ScrapingBee fits
- JavaScript scenarios, premium and stealth proxies, screenshots and AI extraction rules work on any page, and there are Amazon, Walmart and YouTube endpoints.
- Their docs list a CLI, a remote MCP server, and n8n, Make, Zapier and LangChain integrations.
- Plans start at $19 a month with 25 concurrent requests, rising to 400 on Business +.
This API fits when you need sources as an array on every answer and async batches with webhooks for scheduled runs. The guide below shows both requests.
Which one to use
ScrapingBee suits a team that scrapes many kinds of pages and needs JavaScript scenarios, screenshots or AI extraction rules on arbitrary sites, where its Google, ChatGPT and Gemini endpoints return the AI data you need. It has a low entry plan and ready integrations with n8n, Make, Zapier and LangChain. ScrapingBee has been part of the Oxylabs group since June 2025 and says it keeps operating as a separate product and entity (Proxyway, ScrapingBee, checked 2026-09-23).
This API suits a team tracking how brands appear in AI answers, where citations and the market are the data. It returns ChatGPT, Gemini, Perplexity, Copilot, Grok and Google answers with their citations as structured fields, with async tasks and signed webhooks.
Where the two overlap, and where they don’t
Both products return JSON for Google and ChatGPT. The difference is how much of the answer is broken out:
- ChatGPT. ScrapingBee returns
results_text,results_markdownandresults_json(a markdown syntax tree), withllm_modelandprompt. Its docs point you to the full HTML for citation pills (checked 2026-09-17, scrapingbee.com). This API returnstext,markdownandsources[]as fields. - Gemini. Both return the answer and a citations or sources array. This API’s schema adds
citationPillsandplaces. - Google. Both return organic results, People Also Ask, local results and the AI Overview with references. ScrapingBee covers more Google search types (images, lens, shopping, maps); this API adds People Are Saying and the AI Overview’s citation pills and related links.
- Perplexity, Copilot, Grok. ScrapingBee’s pages cover public shared pages through its general API, which means you need someone to have shared the answer and your own extraction rules. This API sends your prompt to Perplexity, Copilot and Grok directly.
Migration: a ChatGPT prompt with web search
On ScrapingBee
Per its docs, a GET with the prompt, web search turned on, a country code, and bearer auth (the api_key query parameter is marked deprecated):
curl "https://app.scrapingbee.com/api/v1/chatgpt?prompt=best+noise-cancelling+headphones+for+flights&search=true&country_code=us" \
-H "Authorization: Bearer $SCRAPINGBEE_API_KEY"
Note that ScrapingBee’s search defaults to false, so omitting it measures ChatGPT without web search.
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 noise-cancelling headphones for flights",
"country": "US",
"include": { "markdown": true }
}'
Here ChatGPT decides on its own whether to search; disableWebSearch changes nothing today. If you are continuing a time series collected without search on ScrapingBee, start a new series and mark the change.
Response fields side by side
| ScrapingBee ChatGPT | This API |
|---|---|
results_text |
result.text |
results_markdown |
result.markdown with include.markdown |
| citations inside the markdown | result.sources[] |
llm_model |
result.model |
full_html with add_html |
result.html with include.html: a link to a copy of the ChatGPT page, free |
With sources as an array, you don’t parse links out of markdown.
Migration: a Google search with AI Overviews
On ScrapingBee
curl "https://app.scrapingbee.com/api/v1/google?search=noise+cancelling+headphones&country_code=us&light_request=false" \
-H "Authorization: Bearer $SCRAPINGBEE_API_KEY"
light_request=false is required for the ai_overviews field, per its docs, which makes the request 15 credits instead of 10.
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: "noise cancelling headphones",
country: "US",
pages: 1,
include: { aioverview: { markdown: true } },
});
const pills = result.aioverview?.citationPills ?? [];
console.log(result.organicResults[0]?.link, pills.map((p: { domain: string }) => p.domain));
From synchronous calls to scheduled runs
ScrapingBee’s documented calls are synchronous (checked 2026-09-17), and its docs say failed requests are retried for up to 30 seconds. A daily prompt set therefore becomes a loop in your own worker, bounded by your plan’s concurrent requests.
This API lets you hand the loop over:
import os, requests
prompts = ["best noise-cancelling headphones for flights", "Sony or Bose for travel?"]
tasks = [
{
"taskType": engine,
"payload": {"prompt": p, "country": "US"},
"idempotencyKey": f"headphones-{i}-{engine}-US-2026-09-17",
"webhook": {"url": "https://your-app.com/hooks/answers"},
}
for i, p in enumerate(prompts)
for engine 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"])
Tasks queue (there is no concurrency cap), run, and arrive as signed deliveries. A task that fails is not charged, and you resubmit only those, with a new key.
Price per answer
ScrapingBee charges 15 credits for ChatGPT, Gemini and a regular Google request, 10 for a light Google request, and the dollar value of a credit falls on larger plans. This API charges dollars per request, at the Starter tier: ChatGPT tasks $0.0006, Perplexity tasks $0.0015, Copilot tasks $0.00274, Grok tasks $0.00218, Gemini $0.0006, Google Search $0.00103 for the first page plus $0.00071 for the AI Overview, Google News $0.0002 for the first page. ChatGPT, Gemini, Perplexity and Google News cost less on higher tiers, reached by 30-day spend. The units differ, so compare dollars per answer:
- ScrapingBee credit value = plan price / plan credits; dollars per answer = credit value × credits per request, per engine.
- Here, dollars per answer = the price per request at the tier your 30-day spend reaches.
- For ScrapingBee Google with AI Overviews, use the regular-request cost.
- Add the worker you’d run for scheduling and retries on a synchronous-only API, or subtract it if you already have one.
Two weeks with both pipelines live
Run your own loop and this API’s queue over the same prompt set for a week or two, storing both in one table with a provider column.
- Choose prompts for ChatGPT and Gemini, which both sides cover.
- Send
search=trueon ScrapingBee. Here ChatGPT decides whether to search, so compare against answers whereprovenance.webSearchTriggeredistrue(the answer cites sources). - Submit tasks here with webhooks, one idempotency key per prompt, engine, market and day, and store both sides in one table.
What to look at when the two weeks are up:
- Citations captured: answers with at least one citation on each side; ScrapingBee’s docs say citations are not returned every time.
- Worker effort: your own retry loop and concurrency handling on the synchronous side, versus the queue here.
- Cost per usable answer at your volume: ScrapingBee’s plan, this API’s tier.
Move the scheduled prompts first and interactive lookups last. The scheduled side is where handing your retry loop to a queue pays off, while a synchronous call here behaves most like the ScrapingBee request you already have, so it is the easiest piece to leave until the end.
Retries and billing after the move
ScrapingBee publishes exactly which status codes it bills on its general API (200, 404, 410 and 413 yes; 400, 401, 403, 429 and 500 no) and retries a failing request for up to 30 seconds before answering. Billing here is by outcome rather than status: a completed request is charged, a failed one is not, and a validation error costs nothing.
The larger change is where retries live. With synchronous calls your worker owns the retry loop and sets its own concurrency; with tasks the queue owns both, and you resubmit only the FAILED ones. Authentication and errors lists the codes to branch on, and rate limits gives the queue limit that replaces the throttling your loop did.
What decides it
- Citations as data? Choose the API that returns them as arrays for every engine you track.
- Scheduled volume? Async tasks and webhooks replace your own queue.
- Non-search scraping? Keep ScrapingBee for it.
- Integrations? Both have n8n and Zapier options; this API also has an MCP server and LangChain tools.
Easy things to get wrong
- Web search defaults differ. Off by default on ScrapingBee’s ChatGPT API; here ChatGPT decides on its own. Don’t mix series.
- AI Mode input length. ScrapingBee documents a 400-character limit for its AI Mode search type; keep prompts natural in any case.
- Light requests hide AI Overviews. If you compare AI Overview presence between providers, make sure the ScrapingBee side used regular requests.
- Parsing citations from markdown. Replace it with the arrays; markdown link formats change.
For the fields, read the Gemini engine page; to try a request, the quickstart.
ScrapingBee is a trademark of its owner. AnswerLine is not affiliated with or endorsed by ScrapingBee.
Questions
Does ScrapingBee's ChatGPT API return citations?
ScrapingBee's ChatGPT docs, checked 2026-09-17, list the answer as text, markdown and a markdown tree, and say the API is not able to return citations 100% of the time; citations appear inside the markdown rather than as a separate field. This API returns sources as a separate array.
Can ScrapingBee query Perplexity, Copilot or Grok with a prompt?
As checked on 2026-09-17, its Perplexity, Copilot and Grok pages describe scraping public shared answer pages with its general HTML API, not sending a prompt. This API sends your prompt to Perplexity, Copilot and Grok directly.
How many credits does a ScrapingBee Google search cost?
Its Google API docs say a light request costs 10 credits and a regular request 15, and AI Overviews are only returned on regular requests. Its ChatGPT and Gemini endpoints cost 15 credits per request.
Does ScrapingBee support webhooks?
ScrapingBee's public docs listed no async or webhook option when checked on 2026-09-17; documented calls are synchronous. This API supports synchronous calls and async tasks with signed webhooks.
Can I target a US state with ScrapingBee?
Its Google API takes country_code plus latitude, longitude and radius, and its ChatGPT and Gemini APIs take country_code. On this API, ChatGPT and Gemini answer from 213 countries, Copilot, Perplexity and Grok from any country, and Gemini also takes a US state.