Skip to main content

Just want working code?

Stop reading. Visit contents coding agent reference and copy paste to your agent.

What it is

/contents returns clean, structured content from any URL, handling JavaScript-rendered pages, PDFs, and complex layouts automatically. You pass in URLs and get back full page text, targeted highlights, LLM-generated summaries, or all three. It can also be used to crawl linked subpages to pull content from entire site sections in a single request. All contents features are also available in /search for returned URLs, at no extra charge up to 10 results per search ($1/1000 pages afterwards). We recommend using /search in this way instead of /contents for web search tool use cases.
Use /contents when you already know the URLs. If you are starting from a query and want Exa to find the pages first, start with Search.

Key Capabilities

Content Modes

Choose how you receive content, or combine them in a single request:

Subpage crawling

Automatically discover and extract content from linked pages within a site. Pass subpages: 10 and optionally subpageTarget: ["docs", "about"] to focus on relevant sections.

Content freshness

Control whether results come from cache or are freshly crawled with maxAgeHours:

Common use cases

Get the most relevant excerpts without needing the full page.
Extract specific fields from any page using a JSON schema.
Pull content from a docs site, targeting specific sections.

Human Quickstart

Get your API key from the Exa Dashboard, then set it as an environment variable:
Install the SDK:
Then make your first request:

Next

Last modified on June 26, 2026