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.
Key Capabilities
Content Modes
Choose how you receive content, or combine them in a single request:| Mode | What You Get | Best For |
|---|---|---|
| Text | Full page content as clean markdown | Deep analysis, full context research |
| Highlights | Key excerpts relevant to your query | Agent workflows, factual lookups (10x fewer tokens) |
| Summary | LLM-generated abstract | Quick overviews, structured extraction with JSON schema |
Subpage crawling
Automatically discover and extract content from linked pages within a site. Passsubpages: 10 and optionally subpageTarget: ["docs", "about"] to focus on relevant sections.
Content freshness
Control whether results come from cache or are freshly crawled withmaxAgeHours:
| Setting | Behavior |
|---|---|
| Omit (default) | Livecrawl only when no cache exists |
24 | Use cache if < 24 hours old, otherwise livecrawl |
0 | Always livecrawl (slowest, freshest) |
-1 | Cache only (fastest, may be stale) |
Common use cases
Token-efficient info from an article
Token-efficient info from an article
Get the most relevant excerpts without needing the full page.
Structured outputs using summaries
Structured outputs using summaries
Extract specific fields from any page using a JSON schema.
Crawl many pages from a website
Crawl many pages from a website
Pull content from a docs site, targeting specific sections.
Human Quickstart
Get your API key from the Exa Dashboard.- Python
- JavaScript
- cURL
Next
- Search API - Find content on the web with natural language
- Contents API Reference - Full API reference with all parameters
- MCP Setup - Connect your AI assistant to Exa
- SDKs - Python and JavaScript SDK docs

