AnswerLine Start free

, SERP API · Google · Agents

Exa vs Google search results: discovery or ranking truth

Exa and Google search data solve different problems. Exa is a search engine for machines: its own index, queried by meaning, returning pages plus their text in one call. It is strong when you need to discover relevant documents or entities, such as companies like a given one or papers on a narrow topic. Google SERP data is an observation of what Google shows people for a query, in a country, city and device. It is the only right answer when the question involves Google’s ranking, its SERP features or its AI Overview.

The rule of thumb: if the output of your job is a set of documents, start with Exa. If the output is a fact about Google, start with a SERP API. Vendor facts below were checked on 2026-09-17 and are linked. For a wider field of agent search tools, see best search APIs for AI agents.

What each one is

Exa describes itself on its homepage as “The world’s data for AI agents”, and says it can “crawl billions of documents per day”. Queries run against Exa’s own index with search types from instant to deep-reasoning, and a single call can also return page contents.

A Google SERP API runs the query on Google from a chosen market and returns the results page as JSON. This API’s POST /v1/monitor/google returns organicResults, ads, peopleAlsoAsk, relatedSearches, localResults, knowledgeGraph, shoppingCards, peopleAreSaying and, on request, the aioverview. There is no stored index: each request returns Google’s current results.

Google’s own route to full-web results is closing: the Custom Search JSON API overview, checked 2026-09-17, says it is closed to new customers, with existing customers given until January 1, 2027 to move.

Output compared field by field

Need Exa /search Google SERP (this API)
Result identity results[].title, url, id, favicon, image organicResults[].title, link, displayedLink, position, page
Position meaning Exa’s relevance order Google’s rank on the page, 1-indexed
Dates publishedDate, optional author date when Google shows one
Page text contents.text (up to 10,000 characters per page, verbosity compact, standard or full) Not returned; Google snippet only
Query-relevant excerpts contents.highlights snippet
Structured summary contents.summary with a custom query and a JSON schema Not applicable
SERP features None listed Ads, People Also Ask, local pack, knowledge panel, shopping cards, discussions
AI answer on the page None listed (Exa has a separate /answer endpoint) aioverview with text, sources, citationPills
Cost reported in response costDollars with a breakdown X-Credits-Charged header (dollars) on each response; see credits

Exa fields are from its search reference, checked 2026-09-17.

The practical consequence: Exa can remove a fetch-and-extract step, because text comes back with the result. Google SERP data cannot, because it only describes the page of results. If a model needs to read the documents, a Google pipeline needs a fetcher after the SERP call.

Query controls

Exa

From the search reference:

Google SERP data

On this API: query with country (or gl), pages from 1 to 10, and include.aioverview, plus hl, location or uule, and device. Alternatively a full Google search url.

Filtering in the Google case happens the way users do it: operators such as site:, before: and after: in the query. There is no 1,200-domain allowlist, and there is no semantic category filter. On this API a query with site: costs 5x the plain request. Conversely, Exa’s search reference lists no city-level location, device or language parameter (checked 2026-09-17).

Freshness

Freshness means different things here.

If you are monitoring change, you want the second. If you are retrieving documents and want to cap cost and latency, cached content is usually fine.

Pricing and limits

From Exa’s pricing page and rate limits, checked 2026-09-17:

Exa item Price
Search, up to 10 results $7 per 1,000 requests
Deep search (deep-lite, deep) $12 per 1,000
Deep search (deep-reasoning) $15 per 1,000
Results above 10 $1 per 1,000 results
Contents $1 per 1,000 pages per content type
AI page summaries $1 per 1,000 pages
Answer $5 per 1,000 requests
Monitors $15 per 1,000 requests
Free credits $20 for new accounts; the Free tier adds $10 a month
Exa endpoint Default rate limit
/search, /answer 10 QPS
/search with deep types 5 QPS
/contents 100 QPS

Exa’s docs say adding $1,000 in credits within any 30-day window on pay-as-you-go raises a team to 25 QPS for 90 days; beyond that, sales.

This API’s Google Search price per request at the Starter tier (credits):

Google request Price
1 page $0.00103
1 page + AI Overview $0.00174
3 pages + AI Overview $0.00316

Tier prices are on /pricing and limits on rate limits; there is no concurrency cap. Failed requests are not charged.

A cost comparison that is fair to both

Comparing $7 per 1,000 Exa searches with a SERP request price hides what each line includes. Normalize to the job.

Job A: give a model 10 relevant documents with text, 10,000 times a month.

Job B: record Google positions and AI Overview citations for 10,000 keywords a month.

Compare the cost of the whole job, including any second system it needs.

Five jobs, and which to pick

Job Pick Why
“Find 50 companies similar to X” Exa category: "company" and semantic queries; Google returns pages about the query, not a list of entities
RAG over recent web documents on a technical topic Exa Text and highlights in one call; domain and date filters
Rank tracking by market Google SERP country, and positions that mean Google’s positions (and location for a city); see local rank tracking
“Is our brand cited in the AI Overview for these queries?” Google SERP aioverview.sources and citationPills; see monitoring AI Overviews
Keyword research Google SERP peopleAlsoAsk and relatedSearches come from Google’s page; see keyword research

A hybrid pattern that uses both

Many GEO and research pipelines need both views. A pattern that keeps each tool on its strength:

  1. Observe on Google. For each tracked query, request the SERP with the AI Overview. Store organicResults and aioverview.sources.
  2. Find the gap set. List the domains Google ranks or cites that are not yours or your clients’.
  3. Discover on Exa. For each topic, run a semantic search with includeDomains set to the gap domains, or with no filter to find similar pages Google did not surface, and request highlights.
  4. Read and summarize. Feed highlights to a model to describe what the cited pages cover that yours do not.
  5. Re-observe. After content changes, rerun step 1 on a schedule and compare citations over time.

Step 1 on this API, as a batch item (queue up to 500 per POST /v1/async/task/batch call):

{
  "taskType": "GOOGLE",
  "payload": {
    "query": "soc 2 compliance software",
    "country": "US",
    "include": { "aioverview": {} }
  },
  "idempotencyKey": "google-soc2-software-US-2026-09-17",
  "webhook": { "url": "https://example.com/hooks/serp" }
}

And reading the result once it arrives, in Python:

from urllib.parse import urlparse

def google_domains(result: dict) -> dict:
    organic = [urlparse(r["link"]).hostname for r in result.get("organicResults", []) if r.get("link")]
    overview = result.get("aioverview") or {}
    cited = [urlparse(s["url"]).hostname for s in overview.get("sources", []) if s.get("url")]
    return {"organic": organic, "aio_cited": cited, "has_aio": bool(overview)}

The rest of that pipeline is covered in tracking AI Overviews with async batches and webhooks and structured SERP data.

Decision criteria

  1. If the output depends on Google’s ordering, use SERP data. If it needs relevant documents from anywhere, use Exa.
  2. If the consumer needs page text, Exa returns it; SERP data needs a fetcher.
  3. Is location more precise than a country? Exa’s search reference lists no city parameter; this API’s Google Search takes location or uule.
  4. Are you tracking change over time? Each SERP request is a timestamped observation of Google; an index query gives the index.
  5. How many domains do you filter by? Exa handles up to 1,200 per request; Google needs operators.
  6. What throughput do you need? Exa’s default is 10 QPS for search; SERP APIs typically let you queue bulk work asynchronously.
  7. Does the vendor state its data handling? Exa’s homepage says “Zero data retention” and “SOC 2 Type II”. Ask any vendor for the same in writing before sending customer queries.

Pitfalls

For the Google side, start with the quickstart or the Google Search engine page.

Questions

Is Exa a Google search API?

Exa describes its own search over its own index, returning pages chosen by its ranking, with optional page text, highlights and summaries. A Google SERP API returns what Google itself shows for a query in a given market.

How much does Exa cost per 1,000 searches?

Exa's pricing page, checked 2026-09-17, lists Search at $7 per 1,000 requests for up to 10 results, deep search types at $12 to $15, extra results at $1 per 1,000, and contents at $1 per 1,000 pages per content type. New accounts get $20 in free credits.

What are Exa's rate limits?

Per Exa's rate-limit docs checked 2026-09-17: 10 QPS for /search and /answer, 5 QPS for deep search types, and 100 QPS for /contents. Adding $1,000 in credits within 30 days raises the team to 25 QPS for 90 days.

Can Exa tell me where my site ranks on Google?

Not per Exa's search reference, checked 2026-09-17: result order is Exa's relevance, not Google's positions. For Google positions, the AI Overview or local packs you need Google SERP data.

What does a Google results request cost on this API?

$0.00103 on every tier for a one-page request, $0.00071 more for each extra results page, and $0.00071 once if you request the AI Overview and Google shows one.

Try it on your own prompts

100 free requests on any engine, no card. One POST returns the answer, sources and citations as JSON.

Keep reading