dev-tools 6 min read

Exa - Neural AI Search Engine With 20x Recall

Exa is a YC S21 AI search engine offering a Web Search API, web crawler, and SERP API. Uses neural embeddings for 20x better recall than keyword search. Free tier available.

By
Share: X in
Exa AI search engine thumbnail

TL;DR

TL;DR: Exa is a YC S21 AI search engine that uses neural embeddings to achieve 20x better recall than traditional keyword search, exposing web search, crawling, and SERP APIs for developers building AI applications.

Source and Accuracy Notes

What Is Exa?

Exa is an AI search engine built by a YC S21 startup that takes a fundamentally different approach to web search. While traditional search engines like Google rely on keyword matching and PageRank, Exa uses neural embeddings — dense vector representations of meaning — to understand the intent behind your queries and retrieve semantically relevant results.

The key insight is that semantic similarity (understanding “what you mean”) vastly outperforms lexical matching (“what you typed”) for complex, nuanced queries. Exa’s models were trained specifically for information retrieval, giving it a significant advantage over general-purpose embedding models applied retroactively to search.

Exa offers four core products:

  • Web Search API — Query the live web with semantic relevance scoring
  • Web Crawler API — Extract and index full content from any website
  • SERP API — Get structured search engine results pages programmatically
  • Websets — Visual interface for complex research queries (websets.exa.ai)

The Websets demo is particularly illustrative: it can handle queries like “software engineers in the Bay Area, with experience in startups and big tech, who know Rust and have published technical content” and return accurately filtered lists — something that would require multiple Google searches and manual parsing to achieve otherwise.

Setup Workflow

Step 1: Get an API Key

Sign up at https://exa.ai and navigate to the dashboard to generate an API key. The free tier provides generous rate limits suitable for development and small projects.

Step 2: Install the Client

pip install exa-python

Or use the OpenAI-compatible endpoint if you already use a standard LLM client:

from openai import OpenAI

client = OpenAI(
    api_key="your-exa-api-key",
    base_url="https://api.exa.ai"
)
from exa import Exa

exa = Exa(api_key="your-api-key")

# Semantic search with natural language query
result = exa.search_and_contents(
    "YC-backed developer tools with strong AI integration",
    num_results=10,
    highlights=True
)

for item in result.results:
    print(f"[{item.score:.3f}] {item.title}")
    print(f"  URL: {item.url}")
    print(f"  Excerpt: {item.highlights[0] if item.highlights else 'N/A'}")
    print()

Step 4: Use the Web Crawler API

# Extract full content from specific pages
contents = exa.search_and_contents(
    "latest LLM research papers from 2025",
    use_crawlers=["google"],
    num_results=5,
    text=True
)

for item in contents.results:
    print(f"Title: {item.title}")
    print(f"Content preview: {item.text[:200]}...")
    print()

Deeper Analysis

Traditional search engines use inverted indexes — essentially giant dictionaries mapping words to document IDs. When you search for “developer tools AI”, they find documents containing those exact words (or close variants via stemming and synonyms).

Exa’s neural approach converts queries and documents into vectors in a high-dimensional embedding space. Documents semantically related to the query “developer tools AI” cluster near it in vector space, regardless of exact word overlap. A document titled “Build Internal Tools With AI Assistance” scores high even if it never uses the phrase “developer tools.”

This matters enormously for:

  • Complex research queries — multi-constraint searches that would require 10+ Google queries
  • Implicit intent — when you know what you want but not the exact terminology
  • Exploratory search — finding related concepts you didn’t know existed

The Embeddings-First Architecture

Exa built custom embedding models trained specifically for information retrieval, rather than adapting general-purpose sentence transformers. Their models understand:

  • Technical terminology and jargon
  • Code snippets and their context
  • Hierarchical category relationships
  • Temporal relevance signals

API Design

Exa provides both a native Python client and an OpenAI-compatible API endpoint. The OpenAI compatibility means you can swap in Exa as the search backend for any AI agent already configured for OpenAI, without changing application code:

# Works with existing AI agent frameworks
response = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": f"Research: {query}. Use Exa for search."}]
)

Practical Evaluation Checklist

  • [ ] Sign up for free API key — no credit card required
  • [ ] Run a semantic search query — observe relevance vs keyword baseline
  • [ ] Try a complex multi-constraint query (e.g., “startups in fintech YC cohort with >50 employees”)
  • [ ] Test the crawler API on a technical blog or documentation site
  • [ ] Compare SERP results against Google Custom Search for the same query
  • [ ] Check rate limits and pricing for production scale

Security Notes

  • API keys are scoped to your account — rotate immediately if exposed
  • Rate limits apply per key — monitor usage in dashboard
  • Crawling respects robots.txt directives automatically
  • No PII is stored by Exa — queries are used for model improvement anonymously

FAQ

Q: How does Exa compare to Tavily or Kagi for AI search? A: Exa differentiates through its embeddings-first architecture. Tavily focuses on real-time data and agentic research workflows; Kagi emphasizes privacy and ad-free results. Exa’s strength is semantic precision on complex queries where keyword matching fails.

Q: What is the free tier limit? A: Free tier provides 1,000 search requests/month with basic features. Paid plans start at $15/month for higher limits and advanced features like crawler access.

Q: Can Exa search behind authentication or paywalls? A: The crawler respects standard robots.txt and cannot bypass paywalls. For authenticated content, you would need to proxy requests through your own infrastructure first.

Q: How does Exa handle freshness and recency ranking? A: Exa includes temporal signals in its relevance scoring. You can filter by date range or boost recent content explicitly in your query parameters.

Q: Is there a way to use Exa without leaving my local network? A: Exa is a cloud API — all queries go through their servers. For air-gapped environments, you would need a self-hosted alternative like SearXNG or Whoosh.

Conclusion

Exa fills a specific but important niche: semantic search for developers building AI applications. Its embeddings-first approach handles complex queries that would frustrate traditional search, and the API-first design makes it trivial to integrate into existing AI agent pipelines.

The free tier is genuinely useful for development and small projects. If you’re building anything that involves researching, filtering, or extracting information from the web — especially with AI agents in the loop — Exa is worth evaluating against Google’s Custom Search API.

Explore at https://exa.ai or read the docs at https://docs.exa.ai.