---
source_url: "https://exa.ai/docs/reference/contents-api-guide"
title: Contents API - Exa
mirrored_at: 2026-08-04T01:04:44.586Z
host: exa.ai
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/exa.ai/docs/reference/contents-api-guide"
---

> **Original source:** https://exa.ai/docs/reference/contents-api-guide

## 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. 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`:

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

Get the most relevant excerpts without needing the full page.

Structured outputs using summaries

Extract specific fields from any page using a JSON schema.

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](https://dashboard.exa.ai/api-keys), then set it as an environment variable:

-   macOS/Linux
    
-   Windows
    

Install the SDK:

Then make your first request:

## Next

-   [**Search API**](https://exa.ai/docs/reference/search-api-guide) - Find content on the web with natural language
-   [**Contents API Reference**](https://exa.ai/docs/reference/get-contents) - Full API reference with all parameters
-   [**MCP Setup**](https://exa.ai/docs/reference/exa-mcp) - Connect your AI assistant to Exa
-   [**SDKs**](https://exa.ai/docs/sdks/python-sdk) - Python and JavaScript SDK docs