> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Exa Search

> Search the web by meaning rather than by keyword.

Search the web by meaning rather than by keyword. `query` is required; narrow with `category`, `includeDomains`, `excludeDomains`, `startPublishedDate`, `endPublishedDate`, and set `numResults`. Returns `requestId`, `resolvedSearchType`, `searchTime`, `costDollars` and `results[]` with `id`, `title` and `url`. **`id` is the URL**, and it is what [`post_exa_contents`](/docs/api-reference/search/post_exa-contents) takes. Measured at 1.4 seconds — the fastest search here. Billed at a flat rate per successful request. ⚠️ Results carry **no page text** unless you ask: pass `contents`, or follow up with [`post_exa_contents`](/docs/api-reference/search/post_exa-contents). Choose it over [`post_tavily_search`](/docs/api-reference/search/post_tavily-search) when the query is a description rather than keywords; choose Tavily when you want the text in the same call, and [`post_exa_answer`](/docs/api-reference/search/post_exa-answer) when you want a written answer rather than a list.

<Note>
  **First time?** Point any MCP client at `https://mcp.aisa.one/mcp` — Claude
  Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client
  opens a browser, you click Allow once, and there is no key to paste. The
  commands per client, and what each call costs, are on
  [aisa.one/mcp](https://aisa.one/mcp#connect).
</Note>

[Set this endpoint up in your agent →](https://aisa.one/mcp?from=/api-reference/search/post_exa-search)


## OpenAPI

````yaml openapi/exa.json POST /exa/search
openapi: 3.0.0
info:
  title: Exa API
  version: 1.0.0
  description: >-
    Unified API documentation for Exa neural semantic search endpoints exposed
    through the AIsa gateway: Search, Contents, Answer, and the asynchronous
    research Agent Runs.


    Search, Contents, and Answer are synchronous and billed at a flat rate per
    successful request. Agent Runs is asynchronous: the caller submits a run and
    then polls the returned job resource for status and results, billed at a
    flat rate per run. Upstream 4xx responses (for example 401/403/404) are not
    billed. The `costDollars` field that Exa returns is the upstream cost
    breakdown and is informational only — customer billing follows the flat AIsa
    prices above.
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - bearerAuth: []
paths:
  /exa/search:
    post:
      tags:
        - https://docs.exa.ai/reference/search
      summary: Run a neural semantic web search.
      description: >-
        Search the web by meaning rather than by keyword. `query` is required;
        narrow with `category`, `includeDomains`, `excludeDomains`,
        `startPublishedDate`, `endPublishedDate`, and set `numResults`. Returns
        `requestId`, `resolvedSearchType`, `searchTime`, `costDollars` and
        `results[]` with `id`, `title` and `url`. **`id` is the URL**, and it is
        what `post_exa_contents` takes. Measured at 1.4 seconds — the fastest
        search here. Billed at a flat rate per successful request. ⚠️ Results
        carry **no page text** unless you ask: pass `contents`, or follow up
        with `post_exa_contents`. Choose it over `post_tavily_search` when the
        query is a description rather than keywords; choose Tavily when you want
        the text in the same call, and `post_exa_answer` when you want a written
        answer rather than a list.
      operationId: post_exa_search
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: The natural-language search query.
                  example: latest evaluation frameworks for AI agents
                type:
                  type: string
                  enum:
                    - auto
                    - fast
                    - instant
                    - deep-lite
                    - deep
                    - deep-reasoning
                  default: auto
                  description: >-
                    Search mode. auto lets Exa choose; the deep modes trade
                    latency for higher-quality retrieval.
                numResults:
                  type: integer
                  minimum: 1
                  maximum: 100
                  default: 10
                  description: Number of results to return.
                category:
                  type: string
                  enum:
                    - company
                    - research paper
                    - news
                    - personal site
                    - financial report
                    - people
                  description: Optional hint about the kind of pages to prioritize.
                includeDomains:
                  type: array
                  items:
                    type: string
                  description: Only return results from these domains.
                excludeDomains:
                  type: array
                  items:
                    type: string
                  description: Exclude results from these domains.
                startPublishedDate:
                  type: string
                  format: date-time
                  description: >-
                    Only return results published on or after this ISO 8601
                    date.
                endPublishedDate:
                  type: string
                  format: date-time
                  description: >-
                    Only return results published on or before this ISO 8601
                    date.
                contents:
                  type: object
                  description: Content options to return alongside each result.
                  properties:
                    text:
                      type: boolean
                      description: Return the full page text.
                    highlights:
                      type: boolean
                      description: Return highlighted relevant snippets.
                    summary:
                      type: boolean
                      description: Return an AI-generated summary of the page.
                outputSchema:
                  type: object
                  description: >-
                    JSON Schema used to synthesize a structured output from the
                    results.
                systemPrompt:
                  type: string
                  description: >-
                    Instruction that guides how the structured output is
                    generated.
              required:
                - query
      responses:
        '200':
          description: Search completed successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  requestId:
                    type: string
                    description: Exa request identifier.
                  results:
                    type: array
                    description: Ranked search results.
                    items:
                      type: object
                      properties:
                        title:
                          type: string
                        url:
                          type: string
                        publishedDate:
                          type: string
                        author:
                          type: string
                        id:
                          type: string
                  output:
                    description: >-
                      Structured output, present only when outputSchema was
                      supplied.
                    nullable: true
                  costDollars:
                    description: >-
                      Upstream Exa cost breakdown. Informational only; customer
                      billing is a flat per-request rate.
                    nullable: true
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.