The deciding difference is operational: Firecrawl can run on infrastructure you control, Exa cannot. If that constraint is real for you, it settles the choice before anything else is considered.
Embeddings-native web search built for agents, with full-content retrieval.
Turns any site into clean markdown, including the JavaScript-heavy ones.
| Exa | Firecrawl | |
|---|---|---|
| Licence | Proprietary | Open source |
| Pricing | freemium | freemium |
| Self-hostable | No | Yes |
| Languages | Python, TypeScript | Python, TypeScript |
| Install | npm install exa-js | — |
| Keys required | EXA_API_KEY | FIRECRAWL_API_KEY |
The deciding difference is operational: Firecrawl can run on infrastructure you control, Exa cannot. If that constraint is real for you, it settles the choice before anything else is considered. Exa: Embeddings-native web search built for agents, with full-content retrieval. Firecrawl: Turns any site into clean markdown, including the JavaScript-heavy ones.
Exa is a hosted service only. Firecrawl can run on your own infrastructure.
Exa is proprietary (freemium). Firecrawl is open source (freemium).
Every page here answers to Accept: text/markdown and returns the same content at roughly a tenth the tokens. No separate site, no toggle — same URL.
curl -s -H "Accept: text/markdown" https://newagent.build/compare/exa-vs-firecrawl