---
schema_version: "newruntime-reader-dossiers-v1"
type: "reader_dossier"
slug: "exa"
kind: "ai_answer"
operator: "Exa"
researched_at: "2026-10-23"
confidence: "high"
json_url: "https://newruntime.com/readers/exa.json"
canonical_url: "https://newruntime.com/readers/exa/"
---

# ExaSearchBot / ExaUser

> ExaSearchBot crawls public pages to index them for Exa's search, retrieval and citation API; ExaUser fetches a page live when a user or an app built on the Exa API asks for its current content.

## Dossier

- Kind: AI search & answer engines
- Operator: Exa (https://exa.ai/)
- Documentation: https://crawler.exa.ai/
- robots.txt tokens: ExaSearchBot
- Feeds: search index, live answer fetch
- Respects robots.txt: Partly, per its documentation. ExaSearchBot obeys its own group, then major-search-engine rules, then '*'; ExaUser: 'robots.txt rules may not apply' (user-initiated).
- Verification: Signed requests (Web Bot Auth) (https://crawler.exa.ai/.well-known/http-message-signatures-directory)
- Labels matched in our logs: exasearchbot, exauser

## Why it matters to New Runtime (our interpretation)

Exa is a retrieval API used by many AI agents; ExaUser hits mean an agent pulled our page live.

## Observed behaviour

- Baseline 2026-10-23 (93-day window): 2,234 requests on 21 days; first seen 2026-09-24, last seen 2026-10-23; Regular.
- Live numbers: https://newruntime.com/bot-traffic-history.json and https://newruntime.com/crawler-journeys.json

## Sources

- https://crawler.exa.ai/
- https://crawler.exa.ai/exauser

Identity: A family name is what a client claims in its user agent. It is verified only when its request came from the operator's published IP ranges or passed forward-confirmed reverse DNS, as reported per family in /crawler-journeys.json. Anyone can claim any name.

All dossiers: https://newruntime.com/readers.md
