Skip to main content
POST
Exa Contents
Retrieve page content, summaries, metadata, and fetch statuses for URLs or Exa document IDs. This is a passthrough to Exa’s Get Contents API, exposed through the Novita gateway with a platform route prefix. To authenticate with your Novita API key, get one from the Novita dashboard. Base URL: https://api.novita.ai.

Quickstart

Running the quickstart above returns:

Request Headers

All endpoints require platform API authentication.
string
required
Use application/json.
string
default:"Bearer YOUR_API_KEY"
required
Platform API key, formatted as Bearer YOUR_API_KEY.

Request Body

string[]
required
URLs to retrieve. This field is also backwards compatible with values previously supplied through ids. Range is 1 to 100 entries; each URL may be up to 2048 characters. Provide either urls or ids, but not both — supplying both returns a 400.
string[]
Exa document IDs to retrieve. Range is 1 to 100 entries; each ID may be up to 2048 characters. Provide either urls or ids, but not both — supplying both returns a 400.
string
Enterprise compliance mode. Only hipaa is supported.
boolean | object
Text extraction options. Default is false.
boolean | object
Highlight extraction options. Default is false.
boolean | object
Summary generation options. Pass true for a default summary, or an object to configure it.
object
Extra outputs to return from each page.
integer
Live crawl timeout in milliseconds. Range is greater than 0 and up to 90000; default is 10000.
integer
Maximum cache age in hours. Use 0 for fresh content and -1 to always use cache. Range is -1 to 720.
integer
Number of subpages to crawl. Range is 0 to 100; default is 0.
string | string[]
Term or terms used to find targeted subpages. String values are limited to 100 characters.

Examples

Extract text and highlights

Summarize a page

Use summary with a query to get a focused summary instead of raw text.

Include linked subpages

Use subpages with subpageTarget to also pull related pages the URL links to.

Force fresh content

Set maxAgeHours to 0 to bypass the cache and live-crawl the page.

Response

string
Unique request identifier.
object[]
Content results.
object[]
Fetch status for each requested URL or document ID.
number
Time taken to serve the request, in milliseconds. Requests served from Exa’s cache (source: "cached") return in a few milliseconds, while pages that must be crawled live (source: "crawled") typically take on the order of one to several seconds.

Errors

Errors are returned as a JSON envelope with code, reason, message, and metadata. The platform validates and authenticates the request before forwarding it to Exa, so some errors originate at the platform and others are surfaced from upstream. For validation failures, message is a JSON-encoded string carrying the detailed error and tag. The examples below show that inner detail decoded for readability.

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 Contents API reference.
Last modified on July 30, 2026