# Exa API Proxies the Exa API. Ephemeral tenants get the Exa core retrieval surface, Claimed Free adds research plus deep search and deep-reasoning search, and Plus/Pro unlock websets and monitors — no Exa API key needed. ## Prerequisites Provision this resource before use. Edge requests without provisioning will error. ### Provision curl -s -X POST https://cohesivity.ai/api/resources/exa-api \ -H "Authorization: Bearer " ### Delete curl -s -X DELETE https://cohesivity.ai/api/resources/exa-api \ -H "Authorization: Bearer " **Important:** Provision this resource now, before building or running the application. Provisioning is the agent's job, not the application's. ## Official Docs https://exa.ai/docs/reference — read before coding. > **Server-side only.** `coh_application_key` is a secret. Call this from your `vercel-hosting` API routes, `cloudflare-workers`, or your own server tier — never from a browser, mobile app, or other client-side code. See the canonical key-secrecy directive in `.cohesivity` for details. ## Edge Usage - **Base URL:** https://cohesivity.ai/edge/exa-api - **Auth:** `coh_application_key` as the **key** query parameter - **Method:** mostly POST with JSON body; Plus/Pro may also use Exa's webset and monitor endpoints through the same proxy - **Format:** same as Exa's API — same paths, same request/response shapes ## Launch Access Policy - **Ephemeral core surface:** `POST /search`, `POST /contents`, `POST /findSimilar`, `POST /answer`, and `POST /context` - **Ephemeral search-type restriction:** `/search` only allows `instant`, `fast`, `auto`, and `neural` - **Blocked on Ephemeral:** `/research*`, `/websets*`, `/monitors*`, and `/search` types `deep-lite`, `deep`, `deep-reasoning` - **Claimed Free:** core retrieval, `/research*`, and deep search types including `deep-lite`, `deep`, and `deep-reasoning`; websets and monitors require Plus or Pro - **Claimed Plus and Claimed Pro:** claimed search types plus websets and monitors ## Products - **Search** (`POST /search`) — find web pages matching a query. Claimed tenants can use deep search types, including `deep-reasoning`, through the same endpoint. Returns titles, URLs, dates, and optionally text/summaries. - **Contents** (`POST /contents`) — extract text, highlights, or summaries from a list of URLs. - **Find Similar** (`POST /findSimilar`) — find pages similar to a URL or document. - **Context** (`POST /context`) — return compact context payloads for downstream reasoning. - **Answer** (`POST /answer`) — ask a question and get the final synthesized answer with citations. This is the LLM answer surface, not just raw retrieval. - **Research** (`/research*`) — claimed tenants can use Exa research surfaces. Ephemeral tenants must claim first. - **Monitors** (`/monitors*`) — watch topics or pages over time. Plus/Pro only. - **Websets** (`/websets/v0/websets*`) — build structured datasets from web data asynchronously. Plus/Pro only. ## Examples - Search: `POST https://cohesivity.ai/edge/exa-api/search?key=` with body `{ "query": "...", "numResults": 10, "type": "auto" }` - Contents: `POST https://cohesivity.ai/edge/exa-api/contents?key=` with body `{ "urls": ["https://example.com"], "text": true }` - Answer: `POST https://cohesivity.ai/edge/exa-api/answer?key=` with body `{ "query": "..." }` - Context: `POST https://cohesivity.ai/edge/exa-api/context?key=` with body `{ "query": "..." }` - Research (claimed tiers): `POST https://cohesivity.ai/edge/exa-api/research?key=` with the body shape from Exa's current docs - Deep reasoning search (claimed tiers): `POST https://cohesivity.ai/edge/exa-api/search?key=` with body `{ "query": "...", "numResults": 1, "type": "deep-reasoning" }` - Websets (Plus/Pro): `POST https://cohesivity.ai/edge/exa-api/websets/v0/websets?key=` with body `{ "search": { "query": "...", "count": 10 }, "enrichments": [{ "description": "...", "format": "text" }] }` ## Response Format Search and deep-reasoning search: `{ results: [{ title, url, publishedDate?, author?, text?, summary? }], requestId?, autopromptString? }` Contents: `{ results: [{ title, url, text, highlights?, summary? }] }` Answer: `{ answer: "...", citations: [{ url, title, text? }] }` Websets: `{ id: "...", status: "...", dashboardUrl: "..." }` (async — poll for results) ## Launch Rate Limits Ephemeral tenants pause as a whole if any authoritative hard cap below is exceeded. Claimed tiers use account-scoped buckets shared across every project owned by the Cohesivity user; OpenAI, Deepgram, and Exa are fluid-only after tier, rate, and concurrency checks; Deepgram has no fixed monthly usage bucket for claimed tiers. **Ephemeral** - requests: 50 per ephemeral tenant lifetime before claim or expiry - requests: 5 per minute **Claimed Free** - requests: 15 per minute **Claimed Plus** - requests: 60 per minute **Claimed Pro** - requests: 300 per minute ### Notes - Exa is fluid-only for claimed accounts. Ephemeral tenants get core retrieval only, Claimed Free adds research plus deep search and deep-reasoning search, and Plus/Pro unlock websets and monitors.