openapi: 3.1.0
info:
title: Exa Search API
version: 2.0.0
description: Exa Search API - subset of the Exa Public API.
servers:
- url: https://api.exa.ai
security:
- apiKey: []
- bearer: []
paths:
/search:
post:
operationId: search
summary: Search
description: Perform a search with an Exa prompt-engineered query and retrieve a list of relevant results. Optionally
get contents.
x-codeSamples:
- lang: bash
label: Simple search with contents
source: "curl -X POST 'https://api.exa.ai/search' \\\n -H 'x-api-key: YOUR-EXA-API-KEY' \\\n -H 'Content-Type: application/json'\
\ \\\n -d '{\n \"query\": \"Latest research in LLMs\",\n \"contents\": {\n \"highlights\": true\n \
\ }\n }'"
- lang: python
label: Simple search with contents
source: "# pip install exa-py\nfrom exa_py import Exa\nexa = Exa(api_key='YOUR_EXA_API_KEY')\n\nresults = exa.search(\n\
\ \"Latest research in LLMs\",\n contents={\"highlights\": True}\n)\n\nprint(results)"
- lang: javascript
label: Simple search with contents
source: "// npm install exa-js\nimport Exa from 'exa-js';\nconst exa = new Exa('YOUR_EXA_API_KEY');\n\nconst results\
\ = await exa.search(\n 'Latest research in LLMs',\n { contents: { highlights: true } }\n);\n\nconsole.log(results);"
- lang: bash
label: Advanced search with filters
source: "curl --request POST \\\n --url https://api.exa.ai/search \\\n --header 'x-api-key: <token>' \\\n --header\
\ 'Content-Type: application/json' \\\n --data '{\n \"query\": \"Latest research in LLMs\",\n \"type\": \"\
auto\",\n \"category\": \"research paper\",\n \"numResults\": 10,\n \"moderation\": true,\n \"contents\"\
: {\n \"text\": true,\n \"summary\": {\n \"query\": \"Main developments\"\n },\n \"subpages\"\
: 1,\n \"subpageTarget\": \"sources\",\n \"extras\": {\n \"links\": 1,\n \"imageLinks\"\
: 1\n }\n }\n }'"
- lang: bash
label: Deep search with query variations
source: "curl --request POST \\\n --url https://api.exa.ai/search \\\n --header 'x-api-key: <token>' \\\n --header\
\ 'Content-Type: application/json' \\\n --data '{\n \"query\": \"Who is the CEO of OpenAI?\",\n \"additionalQueries\"\
: [\n \"OpenAI CEO current\",\n \"OpenAI leadership official source\"\n ],\n \"type\": \"deep\"\
,\n \"systemPrompt\": \"Prefer official sources and avoid duplicate results\",\n \"outputSchema\": {\n \
\ \"type\": \"object\",\n \"properties\": {\n \"leader\": { \"type\": \"string\" },\n \"title\"\
: { \"type\": \"string\" },\n \"sourceCount\": { \"type\": \"number\" }\n },\n \"required\": [\"\
leader\", \"title\"]\n },\n \"contents\": {\n \"text\": true\n }\n }'"
- lang: python
label: Advanced search with filters
source: "# pip install exa-py\nfrom exa_py import Exa\nexa = Exa(api_key='YOUR_EXA_API_KEY')\n\nresults = exa.search(\n\
\ \"Latest research in LLMs\",\n type=\"auto\",\n category=\"research paper\",\n num_results=10,\n \
\ moderation=True,\n contents={\n \"text\": True,\n \"summary\": {\n \"query\": \"\
Main developments\"\n },\n \"subpages\": 1,\n \"subpage_target\": \"sources\",\n \"\
extras\": {\n \"links\": 1,\n \"image_links\": 1\n }\n },\n)\n\nprint(results)"
- lang: javascript
label: Advanced search with filters
source: "// npm install exa-js\nimport Exa from 'exa-js';\nconst exa = new Exa('YOUR_EXA_API_KEY');\n\nconst results\
\ = await exa.search('Latest research in LLMs', {\n type: 'auto',\n category: 'research paper',\n numResults:\
\ 10,\n moderation: true,\n contents: {\n text: true,\n summary: {\n query: 'Main\
\ developments'\n },\n subpages: 1,\n subpageTarget: 'sources',\n extras: {\n \
\ links: 1,\n imageLinks: 1\n }\n }\n});\n\nconsole.log(results);"
- lang: python
label: Deep search with query variations
source: "# pip install exa-py\nfrom exa_py import Exa\nexa = Exa(api_key='YOUR_EXA_API_KEY')\n\nresults = exa.search(\n\
\ \"Who is the CEO of OpenAI?\",\n additional_queries=[\n \"OpenAI CEO current\",\n \"OpenAI\
\ leadership official source\"\n ],\n type=\"deep\",\n system_prompt=\"Prefer official sources and avoid\
\ duplicate results\",\n output_schema={\n \"type\": \"object\",\n \"properties\": {\n \
\ \"leader\": {\"type\": \"string\"},\n \"title\": {\"type\": \"string\"},\n \"source_count\"\
: {\"type\": \"number\"}\n },\n \"required\": [\"leader\", \"title\"]\n },\n contents={\"text\"\
: True}\n)\n\nprint(results)"
- lang: javascript
label: Deep search with query variations
source: "// npm install exa-js\nimport Exa from 'exa-js';\nconst exa = new Exa('YOUR_EXA_API_KEY');\n\nconst results\
\ = await exa.search('Who is the CEO of OpenAI?', {\n additionalQueries: [\n 'OpenAI CEO current',\n \
\ 'OpenAI leadership official source'\n ],\n type: 'deep',\n systemPrompt: 'Prefer official sources\
\ and avoid duplicate results',\n outputSchema: {\n type: 'object',\n properties: {\n \
\ leader: { type: 'string' },\n title: { type: 'string' },\n sourceCount: { type: 'number'\
\ }\n },\n required: ['leader', 'title']\n },\n contents: {\n text: true\n }\n});\n\
\nconsole.log(results);"
- lang: bash
label: Streaming synthesized output
source: "curl --no-buffer --request POST \\\n --url https://api.exa.ai/search \\\n --header 'x-api-key: <token>'\
\ \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"query\": \"Summarize the latest AI chip\
\ launches\",\n \"type\": \"fast\",\n \"stream\": true,\n \"outputSchema\": {\n \"type\": \"text\"\
,\n \"description\": \"A short grounded summary in 3 bullets\"\n }\n }'"
- lang: bash
label: Instant search (lowest latency)
source: "curl --request POST \\\n --url https://api.exa.ai/search \\\n --header 'x-api-key: <token>' \\\n --header\
\ 'Content-Type: application/json' \\\n --data '{\n \"query\": \"What is the capital of France?\",\n \"type\"\
: \"instant\",\n \"numResults\": 10,\n \"contents\": {\n \"highlights\": true\n }\n }'"
- lang: python
label: Instant search (lowest latency)
source: "# pip install exa-py\nfrom exa_py import Exa\nexa = Exa(api_key='YOUR_EXA_API_KEY')\n\nresults = exa.search(\n\
\ \"What is the capital of France?\",\n type=\"instant\",\n num_results=10,\n contents={\"highlights\"\
: True}\n)\n\nprint(results)"
- lang: javascript
label: Instant search (lowest latency)
source: "// npm install exa-js\nimport Exa from 'exa-js';\nconst exa = new Exa('YOUR_EXA_API_KEY');\n\nconst results\
\ = await exa.search(\n 'What is the capital of France?',\n {\n type: 'instant',\n numResults:\
\ 10,\n contents: { highlights: true }\n }\n);\n\nconsole.log(results);"
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SearchRequest'
responses:
'200':
description: OK
content:
application/json:
example:
requestId: b5947044c4b78efa9552a7c89b306d95
results:
- title: A Comprehensive Overview of Large Language Models
url: https://arxiv.org/pdf/2307.06435.pdf
publishedDate: '2023-11-16T01:36:32.547Z'
author: Humza Naveed, University of Engineering and Technology (UET), Lahore, Pakistan
id: https://arxiv.org/abs/2307.06435
image: https://arxiv.org/pdf/2307.06435.pdf/page_1.png
favicon: https://arxiv.org/favicon.ico
text: Abstract Large Language Models (LLMs) have recently demonstrated remarkable capabilities...
highlights:
- Such requirements have limited their adoption...
highlightScores:
- 0.4600165784358978
summary: This overview paper on Large Language Models (LLMs) highlights key developments...
subpages:
- id: https://arxiv.org/abs/2303.17580
url: https://arxiv.org/pdf/2303.17580.pdf
title: 'HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face'
author: Yongliang Shen, Microsoft Research Asia, Kaitao Song, Microsoft Research Asia, Xu Tan, Microsoft
Research Asia, Dongsheng Li, Microsoft Research Asia, Weiming Lu, Microsoft Research Asia, Yueting Zhuang,
Microsoft Research Asia, [email protected], Zhejiang University, Microsoft Research Asia, Microsoft Research,
Microsoft Research Asia
publishedDate: '2023-11-16T01:36:20.486Z'
text: 'HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face Date Published: 2023-05-25
Authors: Yongliang Shen, Microsoft Research Asia Kaitao Song, Microsoft Research Asia Xu Tan, Microsoft
Research Asia Dongsheng Li, Microsoft Research Asia Weiming Lu, Microsoft Research Asia Yueting Zhuang,
Microsoft Research Asia, [email protected] Zhejiang University, Microsoft Research Asia Microsoft Research,
Microsoft Research Asia Abstract Solving complicated AI tasks with different domains and modalities
is a key step toward artificial general intelligence. While there are abundant AI models available for
different domains and modalities, they cannot handle complicated AI tasks. Considering large language
models (LLMs) have exhibited exceptional ability in language understanding, generation, interaction,
and reasoning, we advocate that LLMs could act as a controller to manage existing AI models to solve
complicated AI tasks and language could be a generic interface to empower t'
summary: HuggingGPT is a framework using ChatGPT as a central controller to orchestrate various AI models
from Hugging Face to solve complex tasks. ChatGPT plans the task, selects appropriate models based on
their descriptions, executes subtasks, and summarizes the results. This approach addresses limitations
of LLMs by allowing them to handle multimodal data (vision, speech) and coordinate multiple models for
complex tasks, paving the way for more advanced AI systems.
highlights:
- 2) Recently, some researchers started to investigate the integration of using tools or models in LLMs .
highlightScores:
- 0.32679107785224915
extras:
links: []
resolvedSearchType: ''
context: <string>
output:
content: <string>
grounding:
- field: <string>
citations:
- url: <string>
title: <string>
confidence: high
costDollars:
total: 0.007
search:
neural: 0.007
schema:
$ref: '#/components/schemas/SearchResponse'
text/event-stream:
schema:
$ref: '#/components/schemas/SearchStreamChunk'
/contents:
post:
operationId: getContents
summary: Contents
x-codeSamples:
- lang: bash
label: Simple contents retrieval
source: "curl -X POST 'https://api.exa.ai/contents' \\\n -H 'x-api-key: YOUR-EXA-API-KEY' \\\n -H 'Content-Type:\
\ application/json' \\\n -d '{\n \"urls\": [\"https://arxiv.org/abs/2307.06435\"],\n \"text\": true\n }'"
- lang: python
label: Simple contents retrieval
source: "# pip install exa-py\nfrom exa_py import Exa\nexa = Exa(api_key='YOUR_EXA_API_KEY')\n\nresults = exa.get_contents(\n\
\ urls=[\"https://arxiv.org/abs/2307.06435\"],\n text=True\n)\n\nprint(results)"
- lang: javascript
label: Simple contents retrieval
source: "// npm install exa-js\nimport Exa from 'exa-js';\nconst exa = new Exa('YOUR_EXA_API_KEY');\n\nconst results\
\ = await exa.getContents(\n [\"https://arxiv.org/abs/2307.06435\"],\n { text: true }\n);\n\nconsole.log(results);"
- lang: bash
label: Advanced contents retrieval
source: "curl --request POST \\\n --url https://api.exa.ai/contents \\\n --header 'x-api-key: YOUR-EXA-API-KEY'\
\ \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"urls\": [\"https://arxiv.org/abs/2307.06435\"\
],\n \"text\": {\n \"maxCharacters\": 1000,\n \"includeHtmlTags\": false\n },\n \"highlights\"\
: {\n \"query\": \"Key findings\"\n },\n \"summary\": {\n \"query\": \"Main research contributions\"\
\n },\n \"subpages\": 1,\n \"subpageTarget\": \"references\",\n \"extras\": {\n \"links\": 2,\n\
\ \"imageLinks\": 1\n }\n }'"
- lang: python
label: Advanced contents retrieval
source: "# pip install exa-py\nfrom exa_py import Exa\nexa = Exa(api_key='YOUR_EXA_API_KEY')\n\nresults = exa.get_contents(\n\
\ urls=[\"https://arxiv.org/abs/2307.06435\"],\n text={\n \"maxCharacters\": 1000,\n \"includeHtmlTags\"\
: False\n },\n highlights={\n \"query\": \"Key findings\"\n },\n summary={\n \"query\"\
: \"Main research contributions\"\n },\n subpages=1,\n subpage_target=\"references\",\n extras={\n \
\ \"links\": 2,\n \"image_links\": 1\n }\n)\n\nprint(results)"
- lang: javascript
label: Advanced contents retrieval
source: "// npm install exa-js\nimport Exa from 'exa-js';\nconst exa = new Exa('YOUR_EXA_API_KEY');\n\nconst results\
\ = await exa.getContents(\n [\"https://arxiv.org/abs/2307.06435\"],\n {\n text: {\n maxCharacters:\
\ 1000,\n includeHtmlTags: false\n },\n highlights: {\n query: \"Key findings\"\
\n },\n summary: {\n query: \"Main research contributions\"\n },\n subpages:\
\ 1,\n subpageTarget: \"references\",\n extras: {\n links: 2,\n imageLinks:\
\ 1\n }\n }\n);\n\nconsole.log(results);"
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContentsRequest'
responses:
'200':
description: OK
content:
application/json:
example:
requestId: e492118ccdedcba5088bfc4357a8a125
results:
- title: A Comprehensive Overview of Large Language Models
url: https://arxiv.org/pdf/2307.06435.pdf
publishedDate: '2023-11-16T01:36:32.547Z'
author: Humza Naveed, University of Engineering and Technology (UET), Lahore, Pakistan
id: https://arxiv.org/abs/2307.06435
image: https://arxiv.org/pdf/2307.06435.pdf/page_1.png
favicon: https://arxiv.org/favicon.ico
text: Abstract Large Language Models (LLMs) have recently demonstrated remarkable capabilities...
highlights:
- Such requirements have limited their adoption...
highlightScores:
- 0.4600165784358978
summary: This overview paper on Large Language Models (LLMs) highlights key developments...
subpages:
- id: https://arxiv.org/abs/2303.17580
url: https://arxiv.org/pdf/2303.17580.pdf
title: 'HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face'
author: Yongliang Shen, Microsoft Research Asia, Kaitao Song, Microsoft Research Asia, Xu Tan, Microsoft
Research Asia, Dongsheng Li, Microsoft Research Asia, Weiming Lu, Microsoft Research Asia, Yueting Zhuang,
Microsoft Research Asia, [email protected], Zhejiang University, Microsoft Research Asia, Microsoft Research,
Microsoft Research Asia
publishedDate: '2023-11-16T01:36:20.486Z'
text: 'HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face Date Published: 2023-05-25
Authors: Yongliang Shen, Microsoft Research Asia Kaitao Song, Microsoft Research Asia Xu Tan, Microsoft
Research Asia Dongsheng Li, Microsoft Research Asia Weiming Lu, Microsoft Research Asia Yueting Zhuang,
Microsoft Research Asia, [email protected] Zhejiang University, Microsoft Research Asia Microsoft Research,
Microsoft Research Asia Abstract Solving complicated AI tasks with different domains and modalities
is a key step toward artificial general intelligence. While there are abundant AI models available for
different domains and modalities, they cannot handle complicated AI tasks. Considering large language
models (LLMs) have exhibited exceptional ability in language understanding, generation, interaction,
and reasoning, we advocate that LLMs could act as a controller to manage existing AI models to solve
complicated AI tasks and language could be a generic interface to empower t'
summary: HuggingGPT is a framework using ChatGPT as a central controller to orchestrate various AI models
from Hugging Face to solve complex tasks. ChatGPT plans the task, selects appropriate models based on
their descriptions, executes subtasks, and summarizes the results. This approach addresses limitations
of LLMs by allowing them to handle multimodal data (vision, speech) and coordinate multiple models for
complex tasks, paving the way for more advanced AI systems.
highlights:
- 2) Recently, some researchers started to investigate the integration of using tools or models in LLMs .
highlightScores:
- 0.32679107785224915
extras:
links: []
context: <string>
statuses:
- id: https://example.com
status: success
source: cached
costDollars:
total: 0.007
search:
neural: 0.007
schema:
$ref: '#/components/schemas/ContentsResponse'
/answer:
post:
operationId: answer
summary: Answer
description: Performs a search based on the query and generates either a direct answer or a detailed summary with citations,
depending on the query type.
x-codeSamples:
- lang: bash
label: Simple answer
source: "curl -X POST 'https://api.exa.ai/answer' \\\n -H 'x-api-key: YOUR-EXA-API-KEY' \\\n -H 'Content-Type: application/json'\
\ \\\n -d '{\n \"query\": \"What is the latest valuation of SpaceX?\",\n \"text\": true\n }'"
- lang: python
label: Simple answer
source: "# pip install exa-py\nfrom exa_py import Exa\nexa = Exa(api_key='YOUR_EXA_API_KEY')\n\nresult = exa.answer(\n\
\ \"What is the latest valuation of SpaceX?\",\n text=True\n)\n\nprint(result)"
- lang: javascript
label: Simple answer
source: "// npm install exa-js\nimport Exa from 'exa-js';\nconst exa = new Exa('YOUR_EXA_API_KEY');\n\nconst result\
\ = await exa.answer(\n 'What is the latest valuation of SpaceX?',\n { text: true }\n);\n\nconsole.log(result);"
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AnswerRequest'
responses:
'200':
description: OK
content:
application/json:
example:
answer: $350 billion.
citations:
- id: https://www.theguardian.com/science/2024/dec/11/spacex-valued-at-350bn-as-company-agrees-to-buy-shares-from-employees
url: https://www.theguardian.com/science/2024/dec/11/spacex-valued-at-350bn-as-company-agrees-to-buy-shares-from-employees
title: SpaceX valued at $350bn as company agrees to buy shares from ...
author: Dan Milmon
publishedDate: '2023-11-16T01:36:32.547Z'
text: SpaceX valued at $350bn as company agrees to buy shares from ...
image: https://i.guim.co.uk/img/media/7cfee7e84b24b73c97a079c402642a333ad31e77/0_380_6176_3706/master/6176.jpg?width=1200&height=630&quality=85&auto=format&fit=crop&overlay-align=bottom%2Cleft&overlay-width=100p&overlay-base64=L2ltZy9zdGF0aWMvb3ZlcmxheXMvdGctZGVmYXVsdC5wbmc&enable=upscale&s=71ebb2fbf458c185229d02d380c01530
favicon: https://assets.guim.co.uk/static/frontend/icons/homescreen/apple-touch-icon.svg
costDollars:
total: 0.007
search:
neural: 0.007
schema:
$ref: '#/components/schemas/AnswerResponse'
text/event-stream:
schema:
$ref: '#/components/schemas/AnswerStreamChunk'
components:
schemas:
AnswerRequest:
type: object
properties:
query:
type: string
minLength: 1
description: Natural-language question or instructions for the request.
example: What is the latest valuation of SpaceX?
stream:
type: boolean
description: If true, the response is returned as a server-sent events (SSE) stream.
default: false
text:
type: boolean
title: Simple text retrieval
description: If true, returns full page text with default settings. If false, disables text return.
default: false
outputSchema:
type: object
properties:
type:
type: string
description: The root schema type (typically "object").
example: object
properties:
type: object
propertyNames:
type: string
additionalProperties:
$ref: '#/components/schemas/JsonValue'
description: An object where each key is a property name and each value is a JSON Schema describing that property
(with `type`, `description`, etc).
required:
type: array
items:
type: string
description: List of required property names.
description:
type: string
description: A description of the schema.
additionalProperties:
type: boolean
description: Whether to allow properties not listed in `properties`.
default: false
additionalProperties:
$ref: '#/components/schemas/JsonValue'
description: A [JSON Schema Draft 7](https://json-schema.org/draft-07) specification for the desired answer structure.
When provided, the answer is returned as a structured object matching the schema instead of a plain string.
required:
- query
AnswerResponse:
type: object
properties:
requestId:
type: string
description: Unique identifier for the request.
example: b5947044c4b78efa9552a7c89b306d95
answer:
description: The generated answer based on search results. Returns a string by default, or a structured object matching
the provided outputSchema.
example: $350 billion.
oneOf:
- type: string
- type: object
propertyNames:
type: string
additionalProperties:
$ref: '#/components/schemas/JsonValue'
citations:
description: Search results used to generate the answer.
type: array
items:
type: object
properties:
title:
type: string
description: The title of the search result.
example: SpaceX valued at $350bn as company agrees to buy shares from ...
url:
type: string
description: The URL of the search result.
example: https://www.theguardian.com/science/2024/dec/11/spacex-valued-at-350bn-as-company-agrees-to-buy-shares-from-employees
format: uri
publishedDate:
description: An estimate of the creation date, from parsing HTML content. Format is YYYY-MM-DD.
example: '2023-11-16T01:36:32.547Z'
format: date-time
type: string
author:
description: If available, the author of the content.
example: Humza Naveed
anyOf:
- type: string
- type: 'null'
id:
description: The temporary ID for the document. Useful for the /contents endpoint.
example: https://arxiv.org/abs/2307.06435
type: string
image:
description: The URL of an image associated with the search result, if available.
example: https://arxiv.org/pdf/2307.06435.pdf/page_1.png
format: uri
type: string
favicon:
description: The URL of the favicon for the search result's domain.
example: https://arxiv.org/favicon.ico
format: uri
type: string
text:
description: The full text content of each source. Only present when text contents are requested.
example: SpaceX valued at $350bn as company agrees to buy shares from ...
type: string
required:
- title
- url
additionalProperties: false
costDollars:
$ref: '#/components/schemas/CostDollarsOutput'
required:
- answer
additionalProperties: false
AnswerStreamChunk:
description: 'Schema for each JSON payload emitted in an `/answer` server-sent event stream. Each event is emitted as
`data: <json>`.'
oneOf:
- type: object
properties:
choices:
type: array
items:
type: object
properties:
index:
type: integer
minimum: 0
description: Index of this streamed choice.
delta:
type: object
properties:
role:
type: string
const: assistant
content:
type: string
refusal:
anyOf:
- type: string
- type: 'null'
additionalProperties:
$ref: '#/components/schemas/JsonValue'
description: Incremental answer content emitted by the model.
finish_reason:
description: Reason this streamed choice finished, when present.
oneOf:
- type: string
- type: 'null'
required:
- index
- delta
additionalProperties:
$ref: '#/components/schemas/JsonValue'
description: OpenAI-compatible streamed completion choices with internal provider fields removed.
required:
- choices
additionalProperties:
$ref: '#/components/schemas/JsonValue'
- type: object
properties:
citations:
type: array
items:
type: object
properties:
title:
type: string
description: The title of the search result.
example: SpaceX valued at $350bn as company agrees to buy shares from ...
url:
type: string
description: The URL of the search result.
example: https://www.theguardian.com/science/2024/dec/11/spacex-valued-at-350bn-as-company-agrees-to-buy-shares-from-employees
format: uri
publishedDate:
description: An estimate of the creation date, from parsing HTML content. Format is YYYY-MM-DD.
example: '2023-11-16T01:36:32.547Z'
format: date-time
type: string
author:
description: If available, the author of the content.
example: Humza Naveed
anyOf:
- type: string
- type: 'null'
id:
description: The temporary ID for the document. Useful for the /contents endpoint.
example: https://arxiv.org/abs/2307.06435
type: string
image:
description: The URL of an image associated with the search result, if available.
example: https://arxiv.org/pdf/2307.06435.pdf/page_1.png
format: uri
type: string
favicon:
description: The URL of the favicon for the search result's domain.
example: https://arxiv.org/favicon.ico
format: uri
type: string
text:
description: The full text content of each source. Only present when text contents are requested.
example: SpaceX valued at $350bn as company agrees to buy shares from ...
type: string
required:
- title
- url
additionalProperties: false
description: Search results cited by the final streamed answer.
required:
- citations
additionalProperties: false
- type: object
properties:
costDollars:
$ref: '#/components/schemas/CostDollarsOutput'
requestId:
type: string
description: Unique identifier for the request.
example: b5947044c4b78efa9552a7c89b306d95
required:
- costDollars
additionalProperties: false
- type: object
properties:
tag:
type: string
const: ERROR
payload:
type: object
properties:
error:
type: object
# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/exa-ai/refs/heads/main/openapi/exa-search-api-openapi.yml