# Crawl4AI vs Exa

Both give AI agents web search. Exa searches its own index from $4 per 1,000 calls. Crawl4AI searches for $1.00 per 1,000, returns Google's own results page as data, reads the full pages, hard sites included, and never trains on what you send.
Facts last checked 12 Nov 2026

Crawl4AI vs Exa: the short answer
Crawl4AI search costs $1.00 per 1,000 calls; Exa costs $4 for cached results and $7 for auto. Crawl4AI returns Google's own results page as data, with ads, maps and the AI overview, for 1 credit; Exa says it cannot provide that, by design. On the same key, Crawl4AI reads full pages from $0.10 per 1,000 and gets past bot checks on hard sites, and a failed call costs nothing. Crawl4AI never trains on what you send; Exa's privacy policy says query data trains its models unless you buy its $12,000 Enterprise plan. Crawl4AI runs in the EU, Singapore and the US, and agents set it up from one message with 17 MCP tools.

## Which one fits

Different tools fit different jobs. Here is when each one is the better choice.

### Choose Exa if

- You want search by meaning over their own index, which tracks over 2 trillion URLs.
- You search research papers, patents, court opinions and filings as ready collections.
- You need the web as it was on a past date for evals and backtests: Exa Snapshot.
- You want long research runs and lead lists built on their side, with Exa Agent and Websets.

### Choose Crawl4AI if

- You build with AI agents: one message sets Crawl4AI up in Claude Code, Codex, Cursor, Windsurf, Gemini CLI or OpenCode, and 17 MCP tools let the agent search, read pages, run recipes, price a call first and manage its budget.
- You need Google's own results: organic, ads, maps and the AI overview with /serp, 1 credit a page.
- You need the full page after the search: $0.10 per 1,000 plain pages, hard sites included, and nothing for a failed or blocked call. Exa says it is not built to reach sites that block crawlers.
- Your queries carry customer names or plans: Crawl4AI does not train on request content, on every plan.
- You need named sites as rows: 93 recipes, a LinkedIn profile for 1 credit.
- You need data in the EU, Singapore or the US, or the same Apache 2.0 engine inside your network.

For enterprise teams

## The controls your security team asks for

Crawl4AI's Enterprise plan next to Exa's. Exa's side restates its own pages; click a line to see the quote.

| Control | Crawl4AI Enterprise | Exa Enterprise |
|---|---|---|
| SSO (SAML, OIDC) | **✓ Yes** | Custom plans only |
| SCIM user sync | **✓ Yes** | Custom plans only |
| Teams, roles and audit log | **✓ From Builder ($99), no seat limit** | Shared keys; audit log not published |
| Zero data retention | **✓ Yes** | Enterprise, $12,000 a year upfront |
| IP allowlist and key limits | **✓ Yes** | Not published |
| Static exit IPs | **✓ Yes** | Not published |
| Where data is processed | EU, Singapore or US, your choice | Not published |
| Deployment | Cloud, dedicated fleet, inside your network, managed pipeline; one engine | Hosted API, with custom indexes |
| DPA and invoice billing | **✓ Every Enterprise plan** | Custom plans; invoices on Enterprise |
| Refunds | 14 days, if no credits were used | Subscriptions are nonrefundable |
| Status page | Hourly uptime per service, public | No Contents component; 8 notices Sep-Nov |
| Uptime and response SLA | Typical: 99.9% a month; service down: first answer within 1 hour, 24/7; part broken: 4 business hours; a question: 1 business day; 5% of the month's fee back if missed, 10% under 99% | Enterprise only; targets not published |
| Support | A named engineer | A dedicated Slack channel |
| Security assurance | Controls monitored every day in Drata, with the evidence kept; dependencies watched for known vulnerabilities; SOC 2 audit by Sensiba under way, report target January 2027. Security pack on request: policies, audit status, DPA, questionnaire answers. | SOC 2 Type II |

## Same job, two calls

6 jobs an agent does every day. The call on each side, and the price of 1,000 of them at list. The label marks the side that costs less for that job.
**01 · A web search**one query, 10 results
**Crawl4AI costs less$1.00/ 1,000

```
curl "https://api.crawl4ai.com/search?q=latest+chip+export+rules" \
  -H "Authorization: Bearer $KEY"
```

1 credit a search, the same price for live and index results.

**Exa $4.00–$7.00/ 1,000

```
curl -X POST https://api.exa.ai/search \
  -H "Authorization: Bearer $EXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"latest chip export rules",
       "type":"lite","numResults":5,
       "contents":{"highlights":true}}'
```

$4 for lite, $7 for auto; text or highlights of the 10 results included. Lite never fetches a page live.

**02 · Google results with ads and maps**rank tracking, local search
**Crawl4AI costs less$1.00/ 1,000

```
curl "https://api.crawl4ai.com/serp?q=best+crm+software&country=us" \
  -H "Authorization: Bearer $KEY"
```

/serp: organic, ads, maps, AI overview, people also ask. 1 credit; a page from our cache costs half.

**Exa Not offered/ 1,000

```
# No endpoint for Google's results page.
# "Exa cannot provide that, by design"
```

Exa says rank tracking needs Google's result and "Exa cannot provide that, by design"; it has no Maps or Shopping.

**03 · A query plus the top pages' text**10 full pages for an agent
**Crawl4AI costs less$2.00/ 1,000

```
curl "https://api.crawl4ai.com/search?q=inference+outage+postmortems" \
  -H "Authorization: Bearer $KEY"
curl https://api.crawl4ai.com/scrape \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://…","format":"md"}'
```

1 credit for the search plus 0.1 a plain page: 1 + 10 × 0.1 = 2 credits. $6.00 if every page needs a browser. The live page, every time.

**Exa $7.00/ 1,000

```
curl -X POST https://api.exa.ai/search \
  -H "Authorization: Bearer $EXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Technical postmortems of large-scale inference outages",
       "numResults":5,
       "contents":{"text":{"maxCharacters":10000}}}'
```

$7 per 1,000 with text. A failed fetch may return an old copy.

**04 · One page to Markdown**a known URL
**Crawl4AI costs less$0.10/ 1,000

```
curl https://api.crawl4ai.com/scrape \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://example.com","format":"md"}'
```

0.1 credit for a plain page, 0.5 with a real browser. Markdown and HTML in one call.

**Exa $1.00–$3.00/ 1,000

```
curl -X POST https://api.exa.ai/contents \
  -H "Authorization: Bearer $EXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids":["https://example.com/technical-report"],
       "text":{"maxCharacters":10000}}'
```

$1 per 1,000 pages per content type: text, highlights and summary are billed one by one.

**05 · A LinkedIn profile as rows**name, title, company, history
**Crawl4AI costs less$1.00/ 1,000

```
curl https://api.crawl4ai.com/recipes/linkedin-profile \
  -H "Authorization: Bearer $KEY" \
  -d '{"profile":"satyanadella"}'
```

A recipe: 2 units × 0.5 credit. The same named columns every time; one of 93.

**Exa $40 + Agent runs/ 1,000

```
# An Agent run with the Fiber.ai data source
# POST https://api.exa.ai/agent/runs
# dataSources: fiber
```

Through Fiber.ai inside an Agent run: 2 credits at $0.02 a person lookup, billed on top of Agent usage.

**06 · Structured JSON from a page**your schema, filled by a model
**Crawl4AI $1.87/ 1,000

```
curl https://api.crawl4ai.com/extract \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"https://news.ycombinator.com",
       "instruction":"the top stories",
       "schema":{…}}'
```

Median of real calls this week: the page's effort price plus the model's tokens.

**Exa costs less$1.00/ 1,000

```
curl -X POST https://api.exa.ai/contents \
  -H "Authorization: Bearer $EXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids":["https://example.com/company"],
       "summary":{"schema":{…}}}'
```

A summary in your JSON schema, at $1 per 1,000 pages, for the pages its crawler can read.

## Crawl4AI vs Exa, side by side

Each Exa cell restates Exa's own pages, read on 12 Nov 2026. Click it to see the quote and the page. "Not published" means those pages say nothing about it, not that it is missing.

|  | Crawl4AI Cloud | Exa |
|---|---|---|
| Pricing |  |  |
| How you pay | Credits in every plan: Free, Starter $10, Builder $99, Scale $499 | Pay as you go, no plans |
| Free start | 1,000 credits a month, no card: 1,000 searches | $10 a month, up to 2,500 Lite searches |
| 1,000 searches | $1.00 | $4 lite (cache only), $7 auto, $12 deep |
| 1,000 pages (known URLs) | $0.10 plain / $0.50 browser / $2.00 hard | $1 per content type |
| Failed calls | Free, blocked pages included | Only a 503 is stated as not billed |
| A page already cached | Half price; every answer says if it came from cache | Same price; a failed fetch may return it |
| Refunds | 14 days, if no credits were used | Subscriptions are nonrefundable |
| What you get back |  |  |
| Search | /search 1 credit; ranked results with title, URL and snippet | Ranked results with text, highlights or summary |
| Google results as data | /serp: organic, ads, maps, AI overview, people also ask | Not offered, "by design" |
| Full page | /scrape: Markdown, HTML, links, media, metadata, tables; engine and cache on every answer | /contents: text, highlights, summary |
| Whole site | /site deep crawl (500 pages a call); /scan up to 50,000 URLs | 100 subpages a request |
| Named sites | 93 recipes; a LinkedIn profile 1 credit | No catalog; LinkedIn via Fiber.ai in Agent runs |
| Documents | PDF, Word and Excel; a PDF costs one page | PDFs through /contents |
| Change monitoring | Watch (beta) | Monitors, $2 per 1,000 runs |
| Hard sites |  |  |
| Bot checks and CAPTCHA pages | Gets past them on hard sites; a page we cannot get costs nothing | "Does not attempt to bypass" them |
| Proxies and country | standard and extra levels; country choice | Not published |
| Agents |  |  |
| MCP | Hosted, no install; key or OAuth; 17 tools | Hosted; keyless, OAuth or key; 4 tools |
| Setup | One message sets it up in 7 coding agents | Plugins and an agent skill |
| Agent budget | Estimate, balance, spend cap and top-up as tools; cost on every answer | Key budgets in the dashboard, not in MCP |
| Open source |  |  |
| License | Apache 2.0, 87,236 GitHub stars | Engine closed; SDKs and MCP server open |
| Self-host | The same engine as the Cloud | Not published |

Crawl4AI's prices come from its live price list, GET /v1/prices. Prices change; check each product's own pricing page before you decide.

The trade-off

## What each one does better

### Where Exa does best

1. **Their own semantic index.** Search by meaning over an index of more than 2 trillion URLs.
2. **Ready collections.** Research papers, patents, court opinions and filings in one search call.
3. **The web on a past date.** Exa Snapshot returns pages as they were before a cutoff, for evals and backtests.
4. **Long research runs.** Exa Agent and Websets build reports and lists on their side.

### Where Crawl4AI is the better choice

1. **Search costs less.** 1 credit a search, $1.00 per 1,000, plus Google's own results page as data.
2. **The full page, hard sites too.** $0.10 per 1,000 plain pages, nothing for a failed or blocked call.
3. **Made for agents.** One message sets it up; 17 MCP tools cover search, pages, recipes, cost estimates and the budget.
4. **Built for enterprise.** No training on your data on any plan, three regions, teams and an audit log from Builder, SSO and SCIM.

Switch in one prompt

## Move your Exa calls in minutes

Paste this into Claude Code, Cursor or Codex in your project. It finds your Exa calls and moves them to Crawl4AI, one endpoint at a time, and keeps both working until you check the results.
Move this project's Exa calls to Crawl4AI Cloud. Read https://crawl4ai.com/llms.txt first. 1. Find every call to the Exa API or SDK. 2. Map each one: POST /search → GET /search · /search + contents.text → GET /search + POST /scrape · category: news → GET /serp (top_stories) · Google ranking (none) → GET /serp · POST /contents → POST /scrape · /contents subpages → POST /site · summary.schema → POST /extract · Agent + Fiber.ai → POST /recipes/{name} · POST /monitors → Watch. 3. Read the key from CRAWL4AI_API_KEY (YOUR_CRAWL4AI_API_KEY). 4. Keep the old path behind a flag; compare 20 real URLs on both; show me the diff.

| Exa |  | Crawl4AI |
|---|---|---|
| POST /search | → | GET /search |
| /search + contents.text | → | GET /search + POST /scrape |
| category: news | → | GET /serp (top_stories) |
| Google ranking (none) | → | GET /serp |
| POST /contents | → | POST /scrape |
| /contents subpages | → | POST /site |
| summary.schema | → | POST /extract |
| Agent + Fiber.ai | → | POST /recipes/{name} |
| POST /monitors | → | Watch |

From both products' docs, 12 Nov 2026.

## Using both

Not either-or. Both speak MCP, so one agent can hold both. A team could keep Exa for search by meaning, research papers and Snapshot, and use Crawl4AI for Google's results, full pages from hard sites, recipes and EU data.

## Frequently asked questions
How much does Exa cost?

Exa is pay-as-you-go: search is $4 per 1,000 calls for cached results (lite) and $7 for auto, page contents $1 per 1,000 pages for each content type, and answers $5 per 1,000. Zero data retention needs its $12,000-a-year Enterprise plan, paid upfront. Crawl4AI search is $1.00 per 1,000, and a plain page $0.10 per 1,000.
Can Exa return Google search results?

No, by its own page: Exa says rank tracking needs "the real Google result in position order. Exa cannot provide that, by design." Crawl4AI /serp returns Google's results page as data, with organic results, ads, maps and the AI overview, for 1 credit on the same key.
Does Exa charge for failed requests?

Exa states that a 503 "is not billed"; its pages do not say whether a failed URL on /contents is billed, and "A failed fetch may return the latest cached copy instead." Crawl4AI charges nothing for a failed call, a blocked page included.
Does Exa train on my data?

Exa's privacy policy says "Query Data is used to improve our products and technology, including by training and fine-tuning models that power our Services." Zero Data Retention needs the Enterprise plan, $12,000 a year paid upfront. Crawl4AI does not use request content to train models, on every plan.
Does Exa have EU data residency?

Exa's pages read on 12 Nov 2026 name no data region; its enterprise page offers to "Configure throughput, regions, and retrieval behavior" without a list. Crawl4AI runs in the EU, Singapore and the US and keeps account and billing data in the EU.
Can Exa scrape sites that block bots?

Exa says it "is not built to read every page on a domain or to reach sites that block crawlers", and its crawler "does not attempt to bypass logins, paywalls, or CAPTCHAs." Crawl4AI gets past bot checks and CAPTCHA pages on hard sites, and a page we cannot get costs nothing.
Is Crawl4AI a self-hosted crawler with no API pricing?

No. A page on Exa's site says so, and it is out of date. Crawl4AI Cloud is a hosted API in three regions with a public price list (Free 1,000 credits a month, Starter $10), /search and Google results, a hosted MCP server, support up to a named engineer, and 87,236 GitHub stars on the open-source engine (GitHub, 2026-11-12).

Sources and method

1. [Exa pricing ↗](https://exa.ai/pricing)
2. [Exa pricing docs ↗](https://exa.ai/docs/admin/pricing)
3. [Exa billing and rate limits ↗](https://exa.ai/docs/admin/billing)
4. [Exa terms ↗](https://exa.ai/terms)
5. [Exa privacy policy ↗](https://exa.ai/privacy-policy)
6. [Exa zero data retention ↗](https://exa.ai/docs/admin/security/zero-data-retention)
7. [Exa vs Serper ↗](https://exa.ai/versus/serper)
8. [Exa: Firecrawl alternatives (mentions Crawl4AI) ↗](https://exa.ai/alternatives/firecrawl)
9. [Exa status ↗](https://status.exa.ai)
10. [Crawl4AI prices ↗](https://crawl4ai.com/v1/prices)
11. [Crawl4AI security ↗](https://crawl4ai.com/security/)
12. [Crawl4AI legal ↗](https://crawl4ai.com/legal/)

We read these pages on 12 Nov 2026. Crawl4AI's facts come from its live price list, docs and terms. Something wrong or out of date? Write to hello@crawl4ai.com and we fix it.
