Back to Directory
E

Exa Public API

Other

About Exa Public API

Review the Service identity, supported languages, protocol versions, and source metadata discovered by the directory.

Service details

Service Id
795c0305-b304-4be3-8084-be969382fd23
Service origin
https://api.exa.ai
ListedSeptember 24, 2026, 6:50 PM
Last checkedSeptember 24, 2026, 8:07 PM

Protocol details

SourceOpenAPI

Endpoints

Endpoint details are saved from the OpenAPI document. Authentication requirements and prices are advertised information, not a verified payment or access guarantee. The document may contain additional endpoints.Open OpenAPI document
GET/agent/runs

List runs

List Agent runs for your team, ordered from newest to oldest.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/agent/runs

Create a run

Create an asynchronous Agent run. By default, the API returns the run object immediately. Set `Accept: text/event-stream` to stream run lifecycle events until the run reaches a terminal status.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
DELETE/agent/runs/{id}

Delete a run

Delete a stored Agent run.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/agent/runs/{id}

Get a run

Retrieve a single Agent run by ID.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/agent/runs/{id}/cancel

Cancel a run

Cancel a queued or running Agent run immediately without returning any results. You are billed for usage accrued before cancellation. If the run has already reached a terminal status, the API returns the existing run.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/agent/runs/{id}/events

List run events

List stored events for an Agent run. Set `Accept: text/event-stream` to replay stored events as server-sent events. Use `cursor` for JSON pagination or `Last-Event-ID` for SSE replay.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/agent/runs/{id}/stop

Stop a run

Complete a running Agent run early, returning the results gathered so far. You are billed for usage accrued before the stop. Currently supported only for `ultra` effort runs. If the run has already reached a terminal status, the API returns the existing run.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/answer

Answer

Performs a search based on the query and generates either a direct answer or a detailed summary with citations, depending on the query type.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/batches

List batches

List batches for your team, ordered from newest to oldest.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/batches

Create a batch

Create a batch of requests to run asynchronously. Each request is dispatched to its target route and results are made available for download when the batch completes.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
DELETE/batches/{id}

Delete a batch

Soft-delete a batch in a terminal status.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/batches/{id}

Get a batch

Retrieve a single batch by ID.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/batches/{id}/cancel

Cancel a batch

Request cancellation of a batch. The batch stops scheduling new requests and drains in-flight work before settling to `cancelled`. Cancelling a batch that is already `cancelling` or `cancelled` is idempotent and returns the batch unchanged. A batch that has already reached a terminal status (`completed` or `expired`) cannot be cancelled and the request fails with a 409.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/contents

Contents

Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/findSimilarDeprecated

Find similar links

Find links similar to the provided URL and optionally retrieve their contents. Deprecated: prefer `/search` with a query describing the source.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/monitors

List monitors

Lists all monitors for the authenticated team. Supports filtering by status and cursor-based pagination.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/monitors

Create a monitor

Creates a new Monitor to run recurring Exa searches on a schedule. Monitors automatically execute your search query on a recurring schedule and deliver results to your webhook endpoint with automatic deduplication: - **Date-based filtering** only fetches content since the last run - **Semantic deduplication** tracks previous outputs to surface only new developments The response includes a `webhookSecret` that is only returned once at creation time. Store it securely for webhook signature verification.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/monitors/batch

Batch action on monitors

Perform a batch action on monitors matching the provided filters. Supported actions: - **delete**: Permanently remove matching monitors - **pause**: Pause matching monitors - **unpause**: Unpause matching monitors Use `dry_run: true` (the default) to preview which monitors would be affected before performing the action. Results are paginated via the `limit` parameter; loop until `has_more` is `false` to process all matching monitors.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
DELETE/monitors/{id}

Delete a monitor

Deletes a monitor. This cannot be undone.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/monitors/{id}

Get a monitor

Retrieves a single monitor by its ID.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
PATCH/monitors/{id}

Update a monitor

Updates an existing monitor. All fields are optional. For `search`, you can send a partial object containing only the fields you want to change. Set `trigger` to `null` to remove the schedule.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/monitors/{id}/runs

List runs

Lists all runs for a monitor with cursor-based pagination. Runs are returned in reverse chronological order.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/monitors/{id}/runs/{runId}

Get a run

Retrieves a single run by its ID, including the full output if the run is completed.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/monitors/{id}/trigger

Trigger a monitor

Triggers a run immediately, regardless of the schedule. Works for monitors with status `active` or `paused`.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/search

Search

Perform a search with an Exa prompt-engineered query and retrieve a list of relevant results. Optionally get contents.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/events

List all Events

List all events that have occurred in the system. You can paginate through the results using the `cursor` parameter.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/events/{id}

Get an Event

Get a single Event by id. You can subscribe to Events by creating a Webhook.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/imports

List Imports

Lists all imports for the Webset.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/imports

Create an Import

Creates a new import to upload your data into Websets. Imports can be used to: - **Enrich**: Enhance your data with additional information using our AI-powered enrichment engine - **Search**: Query your data using Websets' agentic search with natural language filters - **Exclude**: Prevent duplicate or already known results from appearing in your searches Once the import is created, you can upload your data to the returned `uploadUrl` until `uploadValidUntil` (by default 1 hour).Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
DELETE/v0/imports/{id}

Delete Import

Deletes a import.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/imports/{id}

Get Import

Gets a specific import.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
PATCH/v0/imports/{id}

Update Import

Updates a import configuration.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/monitors

List Monitors

Lists all monitors for the Webset.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/monitors

Create a Monitor

Creates a new `Monitor` to continuously keep your Websets updated with fresh data. Monitors automatically run on your defined schedule to ensure your Websets stay current without manual intervention: - **Find new content**: Execute `search` operations to discover fresh items matching your criteria - **Update existing content**: Run `refresh` operations to update items contents and enrichments - **Automated scheduling**: Configure `cron` expressions and `timezone` for precise scheduling controlPrice unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
DELETE/v0/monitors/{id}

Delete Monitor

Deletes a monitor.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/monitors/{id}

Get Monitor

Gets a specific monitor.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
PATCH/v0/monitors/{id}

Update Monitor

Updates a monitor configuration.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/monitors/{monitor}/runs

List Monitor Runs

Lists all runs for the Monitor.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/monitors/{monitor}/runs/{id}

Get Monitor Run

Gets a specific monitor run.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/teams/me

Get team info

Returns information about the authenticated team, including current concurrency usage and limits.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/webhooks

List webhooks

Returns the active Webhooks for your team. You can paginate through the results using the `cursor` parameter.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/webhooks

Create a Webhook

Creates a Webhook that delivers the selected events to your URL as they occur. The response includes the signing `secret` used to verify deliveries; it is only returned on creation.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
DELETE/v0/webhooks/{id}

Delete a Webhook

Deletes a Webhook. Its status becomes `inactive`, which stops future webhook deliveries to its URL.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/webhooks/{id}

Get a Webhook

Returns a Webhook by id, including its status, subscribed events, target URL, and metadata. The signing `secret` is not returned.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
PATCH/v0/webhooks/{id}

Update a Webhook

Updates the target URL, subscribed events, or metadata of a Webhook. Omitted fields are left unchanged.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/webhooks/{id}/attempts

List webhook attempts

List all attempts made by a Webhook ordered in descending order.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/websets

List all Websets

Returns a list of Websets. You can paginate through the results using the `cursor` parameter. You can filter results using the `search` parameter to find Websets by ID, external ID, or title.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/websets

Create a Webset

Creates a new Webset with optional search, import, and enrichment configurations. The Webset will automatically begin processing once created. You can specify an `externalId` to reference the Webset with your own identifiers for easier integration.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/websets/preview

Preview a webset

Preview how a search query will be decomposed before creating a webset. This endpoint performs the same query analysis that happens during webset creation, allowing you to see the detected entity type, generated search criteria, and available enrichment columns in advance. Use this to help users understand how their search will be interpreted before committing to a full webset creation.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
DELETE/v0/websets/{id}

Delete a Webset

Deletes a Webset. Once deleted, the Webset and all its Items will no longer be available.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/websets/{id}

Get a Webset

Returns a Webset by `id` or `externalId`, including its status, searches, imports, enrichments, and monitors. Pass `expand=items` to include up to the first 100 items in the response.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/websets/{id}

Update a Webset

Updates the `title` or `metadata` of a Webset. Searches, imports, and enrichments are managed through their own endpoints.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/websets/{id}/cancel

Cancel a running Webset

Cancels all operations being performed on a Webset. Any enrichment or search will be stopped and the Webset will be marked as `idle`.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/websets/{webset}/enrichments

Create an Enrichment

Create an Enrichment for a Webset.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
DELETE/v0/websets/{webset}/enrichments/{id}

Delete an Enrichment

When deleting an Enrichment, any running enrichments will be canceled and all existing `enrichment_result` generated by this Enrichment will no longer be available.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/websets/{webset}/enrichments/{id}

Get an Enrichment

Returns an Enrichment configured on a Webset, including its status, description, format, and options.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
PATCH/v0/websets/{webset}/enrichments/{id}

Update an Enrichment

Update an Enrichment configuration for a Webset.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/websets/{webset}/enrichments/{id}/cancel

Cancel a running Enrichment

All running enrichments will be canceled. You can not resume an Enrichment after it has been canceled.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/websets/{webset}/items

List all Items for a Webset

Returns a list of Webset Items. You can paginate through the Items using the `cursor` parameter.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
DELETE/v0/websets/{webset}/items/{id}

Delete an Item

Deletes an Item from the Webset. This will cancel any enrichment process for it.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/websets/{webset}/items/{id}

Get an Item

Returns a Webset Item.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/websets/{webset}/searches

Create a Search

Creates a new Search for the Webset. The default behavior is to reuse the previous Search results and evaluate them against the new criteria.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
GET/v0/websets/{webset}/searches/{id}

Get a Search

Gets a Search by idPrice unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.
POST/v0/websets/{webset}/searches/{id}/cancel

Cancel a running Search

Cancels a currently running Search. You can cancel all searches at once by using the `websets/:webset/cancel` endpoint.Price unavailableThe operation requires declared authentication; API keys, bearer tokens and other schemes are not evidence of AEP support.