exa-contents

Extract text, highlights, and summaries from known URLs via the Exa Contents API.

31|5|Updated Mar 12, 2026
One-click install
npx skills add https://github.com/MoizIbnYousaf/marketing-cli --skill exa-contents-moizibnyousaf
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: exa-contents
Source: https://github.com/MoizIbnYousaf/marketing-cli/tree/main/skills/exa-contents
Command: npx skills add https://github.com/MoizIbnYousaf/marketing-cli --skill exa-contents-moizibnyousaf

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When you already have specific URLs and need clean, LLM-ready page content without running a new search, manually fetching and parsing pages is slow and produces noisy output. This Skill calls the Exa Contents API (POST /contents) to return structured text, highlights, or summaries with freshness control. ## Core Features & Use Cases - Known-URL Extraction: Retrieve full page text, query-focused highlights, or Exa-generated summaries from one or more URLs in a single request. - Freshness and Crawl Control: Use maxAgeHours and livecrawlTimeout to balance cache speed against live-crawl freshness, plus subpage crawling with subpageTarget prioritization. - Per-URL Status Inspection: Check the statuses array to detect partial failures like CRAWL_TIMEOUT or SOURCE_NOT_AVAILABLE even when the HTTP response is 200. - Use Case: You have a shortlist of competitor blog URLs from brand/competitors.md and need concise highlights about their pricing changes; the Skill returns grounded excerpts without a discovery search. ## Quick Start Ask the agent to extract highlights from a specific URL using the Exa Contents API with your EXA_API_KEY configured.

Frequently Asked Questions about exa-contents

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract content from a URL with the Exa API?▼

Send a POST request to https://api.exa.ai/contents with your URLs array and one content mode such as text, highlights, or summary. Authenticate with the x-api-key header containing your EXA_API_KEY.

What is the difference between Exa /contents and /search?▼

The /contents endpoint extracts content from URLs you already have, while /search performs open-ended discovery and ranking to find new URLs. Use /search first if you do not yet know which pages to extract.

Should I use highlights, text, or summary mode in Exa contents?▼

Use highlights for token-efficient agent workflows, text for broad page context with maxCharacters limits, and summary for Exa-side compression or structured extraction. Pick one mode by default rather than stacking multiple.

Why does Exa contents return HTTP 200 but some URLs fail?▼

The endpoint can succeed for some URLs and fail for others in the same request. Always inspect the statuses array, which reports per-URL errors such as CRAWL_NOT_FOUND, CRAWL_TIMEOUT, or SOURCE_NOT_AVAILABLE.

How do I control content freshness in Exa API requests?▼

Set maxAgeHours to control caching: 0 forces a live crawl, -1 uses cache only, and a positive integer uses cache younger than that many hours. Pair it with livecrawlTimeout to cap live crawl latency.

When should I not use the Exa contents endpoint?▼

Avoid it for open-ended discovery, which belongs to exa-search, and for auth-walled pages like X/Twitter login stubs, which need a different tool. For full-site crawls of a known domain, a dedicated crawler like firecrawl may fit better.