Skip to main content
POST
/
v3
/
exa
/
search
Exa Search
curl --request POST \
  --url https://api.novita.ai/v3/exa/search \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data '
{
  "query": "<string>",
  "includeDomains": [
    "<string>"
  ],
  "excludeDomains": [
    "<string>"
  ],
  "startCrawlDate": "<string>",
  "endCrawlDate": "<string>",
  "startPublishedDate": "<string>",
  "endPublishedDate": "<string>",
  "numResults": 123,
  "moderation": true,
  "contents": {},
  "additionalQueries": [
    "<string>"
  ],
  "type": "<string>",
  "category": "<string>",
  "userLocation": "<string>",
  "compliance": "<string>",
  "outputSchema": {},
  "systemPrompt": "<string>",
  "text": {},
  "highlights": {},
  "summary": {},
  "extras": {},
  "livecrawlTimeout": 123,
  "maxAgeHours": 123,
  "subpages": 123,
  "subpageTarget": [
    "<string>"
  ],
  "company": {},
  "people": {},
  "maxCharacters": 123,
  "includeHtmlTags": true,
  "verbosity": "<string>",
  "includeSections": [
    "<string>"
  ],
  "excludeSections": [
    "<string>"
  ],
  "schema": {},
  "links": 123,
  "imageLinks": 123,
  "richImageLinks": 123,
  "richLinks": 123,
  "codeBlocks": 123,
  "properties": {},
  "required": [
    "<string>"
  ],
  "items": {},
  "additionalProperties": {}
}
'
{
  "400": {},
  "401": {},
  "403": {},
  "404": {},
  "429": {},
  "500": {},
  "502": {},
  "503": {},
  "requestId": "<string>",
  "results": [
    {}
  ],
  "output": {},
  "content": {},
  "grounding": [
    {}
  ],
  "title": "<string>",
  "url": "<string>",
  "publishedDate": "<string>",
  "author": "<string>",
  "id": "<string>",
  "image": "<string>",
  "favicon": "<string>",
  "text": "<string>",
  "highlights": [
    "<string>"
  ],
  "highlightScores": [
    123
  ],
  "summary": "<string>",
  "subpages": [
    {}
  ],
  "entities": [
    {}
  ],
  "extras": {},
  "name": "<string>",
  "type": "<string>",
  "description": "<string>",
  "metadata": {},
  "links": [
    {}
  ],
  "imageLinks": [
    {}
  ],
  "richImageLinks": [
    {}
  ],
  "richLinks": [
    {}
  ],
  "codeBlocks": [
    {}
  ]
}
This document describes the Exa passthrough endpoints exposed by the platform gateway. It is based on Exa’s Search, Get Contents, and Answer APIs, with platform route prefixes applied. Base URL example: https://api.novita.ai Search the web and optionally extract content from returned results.

Request Headers

All endpoints require platform API authentication.
Content-Type
string
required
Use application/json.
Authorization
string
required
Platform API key, formatted as Bearer <api_key>.

Request Body

query
string
required
Search query. Minimum length is 1.
includeDomains
string[]
Restrict results to these domains. Maximum 1200 entries.
excludeDomains
string[]
Exclude results from these domains. Maximum 1200 entries.
startCrawlDate
string
Include links crawled after this ISO 8601 date-time.
endCrawlDate
string
Include links crawled before this ISO 8601 date-time.
startPublishedDate
string
Include links published after this ISO 8601 date-time.
endPublishedDate
string
Include links published before this ISO 8601 date-time.
numResults
integer
Number of results to return. Default is 10; supported public range is 1 to 100.
moderation
boolean
Enable content moderation to filter unsafe content from search results. Default is false.
contents
object
Content extraction options for search results. See Search Contents Object.
additionalQueries
string[]
Additional query variants for deep-search modes. Range is 1 to 10 entries.
type
string
Search mode. Common values include instant, fast, auto, deep-lite, deep, and deep-reasoning.
category
string
Data category hint. Known values include company, research paper, news, personal site, financial report, and people. See Search Category Limits.
userLocation
string
Two-letter ISO country code, such as US.
compliance
string
Enterprise compliance mode, such as hipaa.
outputSchema
object
JSON schema for structured synthesized output. See Search Output Schema.
systemPrompt
string
Extra instructions that guide synthesized output.

Search Contents Object

The contents object controls which content fields are extracted from search results.
text
boolean | object
Return page text or configure text extraction. See Search Text Options.
highlights
boolean | object
Return selected highlight snippets or configure highlight extraction. See Search Highlight Options.
summary
object
Return generated summaries or configure summary generation. See Search Summary Options.
extras
object
Return extra page data such as links, image links, rich links, or code blocks. See Search Extras Options.
livecrawlTimeout
integer
Timeout for live crawling in milliseconds.
maxAgeHours
integer
Maximum cache age in hours. 0 requests fresh content; -1 always uses cache.
subpages
integer
Number of subpages to crawl. Range is 0 to 100.
subpageTarget
string | string[]
Term or terms used to find targeted subpages.

Search Category Limits

Some category values restrict which filters can be used.
company
category
Does not support startPublishedDate, endPublishedDate, startCrawlDate, endCrawlDate, or excludeDomains.
people
category
Does not support startPublishedDate, endPublishedDate, startCrawlDate, endCrawlDate, or excludeDomains. includeDomains is limited to supported profile domains.

Search Text Options

maxCharacters
integer
Maximum number of text characters to return. Range is 1 to 10000.
includeHtmlTags
boolean
Include lightweight HTML tags instead of plain text.
verbosity
string
Requested text verbosity.
includeSections
string[]
Semantic page sections to include.
excludeSections
string[]
Semantic page sections to exclude.

Search Highlight Options

query
string
Custom query used to select highlights.
maxCharacters
integer
Maximum characters to return for highlights. Range is 1 to 10000.

Search Summary Options

query
string
Custom instruction for summary generation.
schema
object
Optional JSON schema for structured summary output.

Search Extras Options

Number of links to return. Range is 0 to 1000.
Number of image links to return. Range is 0 to 1000.
Number of rich image links to return. Range is 0 to 1000.
Number of rich links to return. Range is 0 to 1000.
codeBlocks
integer
Number of code blocks to return. Range is 0 to 1000.

Search Output Schema

outputSchema accepts a JSON Schema object for structured output generation. Supported root types include text and object; object schemas should describe the expected JSON object returned by Exa.
type
string
JSON Schema root type, commonly text or object.
properties
object
Field definitions for the structured output.
required
string[]
Required property names.
items
object
Array item schema when a property is an array.
additionalProperties
boolean | object
Whether undeclared fields are allowed, or a schema for additional fields.

Request Example

curl -X POST 'https://api.novita.ai/v3/exa/search' \
  -H 'Authorization: Bearer <api_key>' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "Latest research in LLMs",
    "numResults": 10,
    "type": "auto",
    "contents": {
      "text": {
        "maxCharacters": 2000
      },
      "highlights": {
        "query": "model architecture",
        "maxCharacters": 500
      },
      "summary": {
        "query": "Summarize the key findings"
      }
    }
  }'

Response

requestId
string
Unique request identifier.
results
object[]
Search results.
output
object
Structured or synthesized output when requested. See Search Synthesis Output Object.

Search Synthesis Output Object

content
string | object
Generated content. It can be structured when outputSchema is provided.
grounding
object[]
Field-level grounding or citation metadata when returned.

Result Object

title
string
Result title.
url
string
Result URL.
publishedDate
string
Published date when available.
author
string
Author when available.
id
string
Exa document ID.
image
string
Associated image URL.
favicon
string
Site favicon URL.
text
string
Extracted page text when requested.
highlights
string[]
Highlight snippets when requested.
highlightScores
number[]
Scores for returned highlights.
summary
string
Generated summary when requested.
subpages
object[]
Subpage results when requested. See Search Subpage Object.
entities
object[]
Structured entity data when returned. See Search Entity Object.
extras
object
Extra links, images, rich links, or code blocks when requested. See Search Response Extras Object.

Search Subpage Object

title
string
Subpage title.
url
string
Subpage URL.
id
string
Exa document ID when available.
text
string
Extracted text when requested.
summary
string
Generated summary when requested.
highlights
string[]
Highlight snippets when requested.

Search Entity Object

name
string
Entity name.
type
string
Entity type when returned.
url
string
Associated URL when returned.
description
string
Entity description when returned.
metadata
object
Additional entity metadata.

Search Response Extras Object

Links found on the page.
Image links found on the page.
Image links with additional metadata.
Links with additional metadata.
codeBlocks
object[]
Code blocks found on the page.

Errors

The platform may return standard HTTP errors before forwarding the request, and Exa may return upstream errors after forwarding.
400
status
Invalid request body or unsupported parameter value.
401
status
Missing or invalid API key.
403
status
Access denied by platform or upstream provider.
404
status
Route or requested resource not found.
429
status
Rate limit exceeded.
500
status
Internal server error.
502
status
Upstream provider error.
503
status
Service unavailable.

Notes

  • All request bodies are JSON.
  • Extra Exa parameters not listed here may be passed through.
  • Response shapes can vary depending on request options.
  • This document intentionally omits billing-related fields.

References

For more details, see the Exa Search API reference.
Last modified on June 12, 2026