Serper vs AnswerLine
Serper sells fast Google results from prepaid credit packs. This API covers Google Search too, and adds the AI Overview and the answers of the AI assistants under one contract.
Coverage
| Serper | AnswerLine | |
|---|---|---|
| ChatGPT | Not listed on serper.dev. | Yes, POST /v1/monitor/chatgpt. |
| Perplexity | Not listed on serper.dev. | Yes, POST /v1/monitor/perplexity. |
| Gemini | Not listed on serper.dev. | Yes, POST /v1/monitor/gemini. |
| Microsoft Copilot | Not listed on serper.dev. | Yes, POST /v1/monitor/copilot. |
| Grok | Not listed on serper.dev. | Yes, POST /v1/monitor/grok. |
| Google AI Mode | Not listed on serper.dev. | Yes, POST /v1/monitor/aimode. |
| Google AI Overview | Not listed on serper.dev. | Supported by the API. +2 credits, added once per request. |
| Google Search | Yes, search endpoint. | Supported by the API. |
| Google News | Yes, news endpoint. | Supported by the API. |
Serper's credit packs
| Pack | Price | Credits | Per 1,000 | Rate limit |
|---|---|---|---|---|
| Starter | $50 | 50,000 | $1.00 | 50 queries / second |
| Standard | $375 | 500,000 | $0.75 | 100 queries / second |
| Scale | $1,250 | 2,500,000 | $0.50 | 200 queries / second |
| Ultimate | $3,750 | 12,500,000 | $0.30 | 300 queries / second |
Price per request
| Request | AnswerLine credits | AnswerLine price | Serper |
|---|---|---|---|
| ChatGPT | 5 | $0.003 | Not listed |
| Perplexity | 4 | $0.002 | Not listed |
| Gemini | 4 | $0.002 | Not listed |
| Microsoft Copilot | 5 | $0.003 | Not listed |
| Grok | 4 | $0.002 | Not listed |
| Google AI Mode | 4 | $0.002 | Not listed |
| Google AI Overview | 5 | $0.003 | Not listed |
| Google Search | 3 | $0.002 | $0.001 ($0.0003) |
| Google News | 3 | $0.002 | From the same credit packs |
How requests, geo, billing and delivery work
| Serper | AnswerLine | |
|---|---|---|
| Parsing depth | JSON results per endpoint: search, news, images, maps, places, videos, shopping, scholar, patents and autocomplete. | 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 targeting | Country and language (gl and hl). | 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 failures | Credits are deducted for successful responses. | 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 support listed; real-time requests, which their FAQ says return in 1 to 2 seconds without caching. | 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 Serper is stronger
- Google queries cost down to $0.30 per 1,000 on its largest pack; compare it with this API's Google Search price above.
- Their FAQ states 1 to 2 second responses, with rate limits from 50 to 300 queries per second.
- There is no subscription: packs are prepaid and last six months.
Choose this API when you measure more than the ten blue links: the AI Overview with its sources, answers from ChatGPT, Perplexity, Gemini, Copilot and Grok, city-level location for Google, and async batches. The guide below shows both requests.
Which to pick
Pick Serper for high-volume Google results where speed and price per query come first: rank checks on large keyword sets, search grounding for an LLM application, or any workload that needs organic results in one to two seconds. Its packs are prepaid and last six months, with no subscription.
Pick this API when what you measure sits above or beside the ten blue links: the Google AI Overview with its source rail and citation pills, and the AI assistants’ answers for the same topics. It returns Google Search too, so one integration covers both.
The two solve different problems, and running both is a reasonable setup.
What each is optimised for
Serper’s public site positions it as a fast Google SERP API: real-time requests, no caching, rate limits from 50 to 300 queries per second by pack, and endpoints for search, news, images, maps, places, videos, shopping, scholar, patents and autocomplete (checked 2026-09-17, serper.dev). It does not list AI Overviews or AI assistants.
This API is optimised for completeness of what a user sees. A Google Search request can return organic results, ads, People Also Ask (including their AI Overview answers with include.paaAioverview), People Are Saying, the local pack, the knowledge graph, shopping cards and the AI Overview, from a location and device you choose. That takes longer than a bare organic query, so this API offers synchronous calls for interactive use and async tasks for volume.
Migration: the same Google request
On Serper
The request format below is the one Serper’s playground generates: a POST with the key in an X-API-KEY header and a JSON body (checked 2026-09-17, serper.dev/playground).
curl -X POST https://google.serper.dev/search \
-H "X-API-KEY: $SERPER_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "q": "electric bike for commuting", "gl": "us", "hl": "en" }'
On this API
curl -X POST https://api.answerline.dev/v1/monitor/google \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "electric bike for commuting",
"country": "US",
"hl": "en",
"location": "Portland,Oregon,United States",
"include": { "aioverview": { "markdown": true } }
}'
Parameter mapping:
| Serper | This API |
|---|---|
q |
query |
gl (lower-case) |
country (ISO 3166-1 alpha-2); gl is also accepted |
hl |
hl |
page |
pages (fetch 1 to 10 pages in one request) |
X-API-KEY header |
Authorization: Bearer <key> |
| — | location or uule for city-level results |
| — | device: desktop, mobile, ios or android |
| — | include.aioverview, include.paaAioverview |
The difference in pages matters for rank tracking: one request returns up to ten pages, charged for the pages fetched, instead of one request per page.
Adding AI answers to a rank tracker
Adding this API next to Serper covers two more layers of a keyword’s visibility: whether the AI Overview cites you, and whether the assistants recommend you when asked the same question in natural language.
import os, requests
API = "https://api.answerline.dev"
headers = {"Authorization": f"Bearer {os.environ['API_KEY']}"}
keyword = "electric bike for commuting"
day = "2026-09-17"
tasks = [
{
"taskType": "GOOGLE",
"payload": {"query": keyword, "country": "US", "include": {"aioverview": {}}},
"idempotencyKey": f"ebike-google-US-{day}",
},
*[
{
"taskType": engine,
"payload": {"prompt": f"What is the best {keyword}?", "country": "US"},
"idempotencyKey": f"ebike-{engine}-US-{day}",
}
for engine in ("CHATGPT", "GEMINI", "COPILOT", "GROK")
],
]
for t in tasks:
t["webhook"] = {"url": "https://your-app.com/hooks/answers"}
r = requests.post(f"{API}/v1/async/task/batch", headers=headers, json=tasks, timeout=60)
print(r.json()["summary"])
Keep Serper for the daily organic positions across your whole keyword list, and run this batch for the subset you report AI visibility on. Join the two on keyword and day.
What to store from each
From Serper, most rank trackers keep the organic position and URL per keyword. From this API, store per keyword and day:
result.aioverviewpresence (null or not).aioverview.sources[].urlandposition, the source rail.aioverview.citationPills[], which sources the answer text cites inline, grouped bycitationPillId.- For each assistant,
result.sources[]and whether your domain or brand appears inresult.text. - For Copilot and Grok,
result.searchQueries, which shows how the assistant rephrased the question.
These give you share-of-voice metrics that organic rank alone can’t: see mentions vs citations for definitions.
Comparing cost
Serper sells credits in packs; as of 2026-09-17 its site describes each pack’s credits as that many queries. This API prices a Google Search task at 3 credits for the first page and 2 per extra page, plus 2 for the AI Overview, and 2 more for a synchronous call, with the credit’s dollar value set by the plan on pricing.
A bare organic query can be cheaper on Serper; the table above shows both prices. The useful comparison is the cost of the data you need:
- If you only need organic positions, compare per-query prices directly.
- If you need the AI Overview, Serper’s site doesn’t list it, so the comparison is this API against building or buying that layer elsewhere.
- If you need assistant answers, price them per engine here and add them to your Serper spend.
- Remember Serper credits expire after six months and this API’s monthly credits do not roll over; size both to what you use.
Running both side by side before cutting over
Start with a parallel run: the same prompts, markets and schedule on Serper and on this API for one or two weeks, stored in the same table with a provider column.
- Take the subset of keywords where you want AI Overview and assistant data; Serper keeps running your full organic list.
- Run the same keywords here as
GOOGLEtasks withinclude.aioverview, in the same country and language. - Store organic positions from both sides for those keywords, so you can see whether positions agree.
- Add the assistant prompts for the same topics as separate rows keyed by keyword and engine.
What to compare at the end of the run:
- Organic position agreement for the overlapping keywords. Small differences are normal between any two collections at different moments; large systematic ones point to location or device settings.
- AI Overview presence and citations for those keywords, which only one side returns.
- Latency budget: whether async tasks fit your reporting schedule.
- Combined cost of Serper for bulk organic plus this API for the subset.
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
Serper deducts credits only for successful responses and stops accepting queries at a zero balance, per its FAQ.
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
- Only organic results, high volume, low latency? Serper.
- AI Overview citations? This API.
- ChatGPT, Perplexity, Gemini, Copilot or Grok answers? This API.
- City-level or device-specific Google results? This API takes
location,uuleanddevice; Serper’s site describes country and language. - Webhooks and async batches? This API.
Pitfalls
- Expecting one-second AI data. AI answers and full SERPs take longer to return. Use async tasks and webhooks; don’t put a synchronous call in a user-facing request path without a timeout plan.
- Case of country codes. Serper examples use lower-case
gl; this API’scountryis an upper-case ISO code. - Duplicated runs. Serper requests are independent; tasks here are deduplicated by idempotency key, so derive keys from keyword, engine, market and day.
- Comparing organic rank with AI citations. A page can rank first and be absent from the AI Overview, or the reverse. Report them as separate series.
Start with the quickstart or the Google Search engine page.
Questions
Does Serper return Google AI Overviews?
Serper's public site, checked 2026-09-17, lists search, images, news, maps, places, videos, shopping, scholar, patents and autocomplete endpoints and does not list AI Overviews or AI assistants. This API returns result.aioverview with sources and citation pills when include.aioverview is set.
How much does Serper cost per query?
Serper's credit packs on 2026-09-17 ranged from $50 for 50,000 credits ($1.00 per 1,000) to $3,750 for 12,500,000 credits ($0.30 per 1,000), valid for 6 months, with 2,500 free queries on sign-up.
Is Serper faster than this API?
Serper's FAQ says queries return in 1 to 2 seconds. This API's synchronous calls can take up to five minutes; for bulk work use async tasks, which return a task id at once.
Can I use Serper and this API together?
Yes. A common split is Serper for high-volume organic rank checks where speed and price per query matter, and this API for the AI Overview and AI assistant answers on the queries you report on.
How do I move a Serper search request to this API?
Replace the POST to google.serper.dev/search with a POST to /v1/monitor/google, send this API's key as a bearer token instead of the X-API-KEY header, rename q to query and gl to country (upper-case ISO code), and keep hl. Add include.aioverview to get the AI Overview.