Introducing Exa Agent
We released a new class of frontier web research agents that are accessible via API.Exa Agent API supports parameters including a natural-language query,effort mode, outputSchema for structured outputs, and input.data to build upon an existing dataset.Read the Exa Agent API guide →API Deprecation Notice
We retired a few legacy items from the Exa API:/researchendpoint: replaced by/searchwithtype: "deep-reasoning".resolvedSearchTypeandhighlightScores(response fields): returnednullfrom April 15, removed May 1.startCrawlDate/endCrawlDate(request parameters): silently ignored from April 15.
Introducing Exa Monitors
Monitors run Exa searches on a schedule and deliver results to your webhook, deduplicated against previous runs so you only get new content.- Track topics over time: competitor news, funding rounds, regulatory changes, research papers.
- Structured results: return plain text or typed JSON via
outputSchema. - Flexible scheduling: run on an interval (minimum 1 hour) or trigger manually.
Exa Deep Revamp
Exa Deep is faster, cheaper, and now supports structured outputs with field-level grounding.- New
deep-reasoningtype for higher-effort tasks (12-50s);deepruns in 4-12s. - 20% lower price for regular
deepsearch. - Structured outputs via
outputSchema, withoutput.contentandoutput.grounding(field-level citations and confidence) in the response.
Exa Pricing Update
We simplified and lowered pricing. Contents for the first 10 search results are now included for free, and the new pricing applies automatically with no action needed.- Search with contents: $7 per 1k requests (10 results, text + highlights included); $1 per 1k additional results.
- Summaries: $1 per 1k, on both search and contents.
- Exa Deep: $12 per 1k requests; Deep (Reasoning) $15 per 1k.
- Contents endpoint: $1 per 1k pages per content type.
Introducing Exa Instant Search
Exa Instant is our fastest search type, combining improved neural search quality with sub-150ms latency. Enable it withtype="instant".- Built for real-time: chat apps, voice AI, coding agents, autocomplete, and live suggestions.
- State-of-the-art quality at the lowest latency we offer.
Highlights, content freshness, and MCP updates
Three improvements to content extraction and access:maxCharactersfor highlights: now the preferred way to control highlight length.numSentencesandhighlightsPerUrlare deprecated.maxAgeHoursfor content freshness: age-based control replacing booleanlivecrawl(0always crawls,-1cache-only,24crawls if older than 24h).- Exa MCP free tier: try it unauthenticated at 3 QPS and 150 calls/day; add an API key for full access.
Introducing Exa Company Search
Company search now uses a fine-tuned retrieval model and entity-matching pipeline. Usetype="auto", category="company".- Accurate across attributes: industry, geography, funding stage, and employee count.
- Structured entity data: results return typed company info (workforce, HQ, financials, web traffic).
- Use cases: sales prospecting, market research, and supply chain workflows.
Introducing Exa People Search
People search now spans 1B+ public profiles via a hybrid retrieval system. Thelinkedin category is replaced by the new people category.- Broader coverage: profiles across the whole web, not just LinkedIn.
- Better accuracy: fine-tuned embeddings for role, skill, and company queries.
- Use cases: sales, recruiting, and market research.
JS SDK: highlights restored
Highlights are back in the JavaScript SDK as ofexa-js v2.0.11, returning key sentences with relevance scores. Pass highlights: true or highlights: { maxCharacters, query } in search and contents calls.Read the JavaScript SDK docs →New Deep Search Type
Exa Deep finds better results by running multiple searches at once and returning high-quality context for each result. Enable it withtype="deep".- Query expansion: send one query and we generate variations, or supply your own with
additionalQueries. - Parallel search and smart ranking across your query and all variations.
- Detailed summaries for each result.
Added Language Filtering
Exa now detects your query language and returns results only in that language. Enabled by default for all users, with no setup required.Read the Search API guide →SDK changes: highlights removed and contents returned by default
A major SDK version with breaking changes:- Contents by default: search now includes page contents; opt out for faster searches.
- Highlights removed from SDKs: later restored in the JS SDK; see JS SDK: highlights restored.
use_autopromptdeprecated: removed from all API responses.
Domain Path Filter Support
includeDomains and excludeDomains now support finer targeting:- Path-specific filtering: e.g.
exa.ai/blogorlinkedin.com/company. - Subdomain wildcards: e.g.
*.substack.com.
Geolocation Filter Support
The newuserLocation parameter biases results toward a user’s region, passed as an ISO 3166-1 alpha-2 country code (e.g. "us", "fr"). Useful for multi-regional apps, regional-language content, and local discovery.Read the Search API reference →New Fast Search Type
Exa Fast uses streamlined search models with p50 latency below 425ms. Enable it withtype="fast".- Same Exa index of high-quality content as neural search.
- Full parameter compatibility with other search types.
- Built for fast web grounding, agentic workflows, and low-latency products.
Score Deprecation in Auto Search
A new Auto search architecture can no longer produce meaningful relevance scores, so thescore field is being removed from Auto search results.- Auto search: no longer returns
score; results are already ranked by relevance. - Neural search: scores are unchanged. Set
type="neural"if you depend on them.
Markdown Contents as Default
All endpoints now return clean markdown by default, which is better for LLMs, RAG, and general text processing. No action needed.includeHtmlTags=false(default): content processed into clean markdown.includeHtmlTags=true: raw HTML without markdown processing.
New Livecrawl Option: Preferred
livecrawl: "preferred" attempts a fresh crawl but falls back to cached content when crawling fails (unlike "always", which errors). Ideal for production apps that want fresh content without failing on temporarily unavailable sites.Read the Content Freshness docs →Contents Endpoint Status Changes
/contents now returns a per-URL statuses field instead of a single HTTP error, so you can handle each URL’s outcome individually. The endpoint only errors on internal issues.status:"success"or"error"per URL.error.tag: e.g.CRAWL_NOT_FOUND,CRAWL_TIMEOUT,SOURCE_NOT_AVAILABLE, with anhttpStatusCode.
Auto search as Default
Auto search is now the default, automatically routing each query to the best search method. No action needed; settype="neural" to keep the previous behavior.Learn about Exa’s search types →
