# Exa API Proxies the Exa API. Four products: search the web, extract content from URLs, get answers to questions, and build structured datasets — 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. ## Edge Usage - **Base URL:** https://cohesivity.ai/edge/exa-api - **Auth:** `coh_application_key` as the **key** query parameter - **Method:** POST with JSON body - **Format:** same as Exa's API — same paths, same request/response shapes ## Products - **Search** (`POST /search`) — find web pages matching a query. Returns titles, URLs, dates, and optionally text/summaries. - **Contents** (`POST /contents`) — extract text, highlights, or summaries from a list of URLs. - **Answer** (`POST /answer`) — ask a question, get an answer with cited sources. Supports streaming (`"stream": true`). - **Websets** (`POST /websets/v0/websets`) — build structured datasets from web data asynchronously. ## Examples - Search: `POST https://cohesivity.ai/edge/exa-api/search?key=` with body `{ "query": "...", "numResults": 10 }` - 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": "..." }` - Websets: `POST https://cohesivity.ai/edge/exa-api/websets/v0/websets?key=` with body `{ "search": { "query": "...", "count": 10 }, "enrichments": [{ "description": "...", "format": "text" }] }` ## Response Format Search: `{ results: [{ title, url, publishedDate, author, text?, summary? }] }` Contents: `{ results: [{ title, url, text, highlights?, summary? }] }` Answer: `{ answer: "...", citations: [{ url, title, text? }] }` Websets: `{ id: "...", status: "...", dashboardUrl: "..." }` (async — poll for results)