What is build-with-exa?
Build applications and agents with Exa's API Platform: search, contents, answer, context, Agent API, monitors, websets, OpenAI-compatible endpoints, and exa-py / exa-js. Load references/ on demand for endpoint details.
MoizIbnYousaf/marketing-cli
Build applications and agents with Exa's API Platform: search, contents, answer, context, Agent API, monitors, websets, OpenAI-compatible endpoints, and exa-py / exa-js. Use when choosing Exa endpoints, writing Exa API calls, integrating semantic web search or research into products, or debugging Exa request shapes. Load references/ on demand for endpoint details.
npx skills add https://github.com/MoizIbnYousaf/marketing-cli --skill "skills/build-with-exa"Quick start
Install it or open the source, trigger it with a clear task, then follow the source workflow.
npx skills add https://github.com/MoizIbnYousaf/marketing-cli --skill "skills/build-with-exa"Use build-with-exa to help me with: [describe your task]. Before you begin, tell me what input you need, the steps you will follow, and the expected output.
1 key workflow steps, examples, and cautions are distilled below.
Continue to the workflowDirect answers
Build applications and agents with Exa's API Platform: search, contents, answer, context, Agent API, monitors, websets, OpenAI-compatible endpoints, and exa-py / exa-js. Load references/ on demand for endpoint details.
It is relevant to workflows involving Documentation, Engineering, Operations, Research.
SkillSignal detected this source-specific command: npx skills add https://github.com/MoizIbnYousaf/marketing-cli --skill "skills/build-with-exa". Inspect the repository and command before running it.
The upstream source does not declare a dedicated Agent platform.
Static analysis detected read-files, network, exec-script, send-data signals. Review the cited source lines before installing; these signals are not a security audit.
This page combines upstream documentation with deterministic repository, quality, and static-risk signals. It is not described as a manual test or security review.
SkillSignal brief
Build applications and agents with Exa's API Platform: search, contents, answer, context, Agent API, monitors, websets, OpenAI-compatible endpoints, and exa-py / exa-js. Load references/ on demand for endpoint details.
Useful in these contexts
Core capabilities
Distilled from the source
About 5 min · 11 sections
Use when choosing Exa endpoints, writing Exa API calls, integrating semantic web search or research into products, or debugging Exa request shapes.
For more complete examples, see the relevant reference file in the table below.
On the search endpoint, text, highlights, and summary belong inside contents, not at the top level.
On the contents endpoint, text, highlights, and summary are top-level fields, not nested inside contents.
Pick one of highlights, text, or summary by default. Do not stack them unless the use case truly needs multiple views of the same page.
numSentences and highlightsPerUrl are deprecated highlight knobs. Prefer highlights: true, or set maxCharacters only when you have a fixed budget.
Quality breakdown
Based on traceable docs and repository signals; stars are not treated as quality.
Compare before choosing
These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.
Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Comprehensive geospatial science skill covering remote sensing, GIS, spatial analysis, machine learning for earth observation, and 30+ scientific domains. Supports satellite imagery processing (Sentinel, Landsat, MODIS, SAR, hyperspectral), vector and raster data operations, spatial statistics, point cloud processing, network analysis, cloud-native workflows (STAC, COG, Planetary Computer), and 8 programming languages (Python, R, Julia, JavaScript, C++, Java, Go, Rust) with 500+ code examples. U
Reverse-engineering specialist that extracts specifications from existing codebases. Use when working with legacy or undocumented systems, inherited projects, or old codebases with no documentation. Invoke to map code dependencies, generate API documentation from source, identify undocumented business logic, figure out what code does, or create architecture documentation from implementation. Trigger phrases: reverse engineer, old codebase, no docs, no documentation, figure out how this works, in
Multi-agent orchestration using dmux (tmux pane manager for AI agents). Patterns for parallel agent workflows across Claude Code, Codex, OpenCode, and other harnesses. Use when running multiple agent sessions in parallel or coordinating multi-agent development workflows.
EXA_API_KEY is available for any live API call. SDK examples assume the key is set.POST /search with type: "auto" and contents.highlights: true. Escalate to Agent API only for multi-step research / list-building.references/*.md file needed for the current endpoint - do not dump the whole tree into context.exa-search, company-research, or lead-generation over inventing a custom integration.Included by default:
/agent)exa-py, TypeScript exa-jsNote on data retention:
/search,/answer, and deep research are Zero Data Retention (ZDR). The Agent API (/agent), Websets, and Monitors are not ZDR. If a use case requires ZDR, stay on the ZDR surfaces or contact Exa.
# Python
pip install exa-py
# TypeScript / JavaScript
npm install exa-js
export EXA_API_KEY="your_api_key_here"
Exa accepts either the x-api-key header or Authorization: Bearer <key>.
Before picking an endpoint, decide which workflow shape fits:
/search using type: "auto" and contents: { highlights: true }/search using the search type that fits your latency and reasoning needs, then add outputSchema and systemPrompt/agent)Default to the search endpoint. Use the search endpoint (/search) for most new integrations, then move to a more specialized Exa surface only when the task shape clearly calls for it.
/search)/contents)/search) with a query derived from the page (for example title, topic, or text from /contents)/answer)/context)/chat/completions, /responses)/agent)/monitors)/websets/v0)For more complete examples, see the relevant reference file in the table below.
Python (/search):
from exa_py import Exa
exa = Exa(api_key="YOUR_EXA_API_KEY")
result = exa.search(
"latest developments in LLMs",
type="auto",
contents={"highlights": True}
)
for item in result.results:
print(item.title, item.url)
TypeScript (/search):
import Exa from "exa-js";
const exa = new Exa();
const result = await exa.search("latest developments in LLMs", {
type: "auto",
contents: { highlights: true }
});
for (const item of result.results) {
console.log(item.title, item.url);
}
Raw HTTP (/search):
curl -X POST "https://api.exa.ai/search" \
-H "Content-Type: application/json" \
-H "x-api-key: $EXA_API_KEY" \
-d '{
"query": "latest developments in LLMs",
"type": "auto",
"contents": {
"highlights": true
}
}'
text, highlights, and summary belong inside contents, not at the top level.text, highlights, and summary are top-level fields, not nested inside contents.highlights, text, or summary by default. Do not stack them unless the use case truly needs multiple views of the same page.numSentences and highlightsPerUrl are deprecated highlight knobs. Prefer highlights: true, or set maxCharacters only when you have a fixed budget.maxAgeHours for freshness guidance. Older livecrawl examples still exist, but maxAgeHours is the normative control for new integrations.category set and do not invent categories like github, documentation, qa, or pdf. Specialized categories such as people and company also restrict which filters are valid; check the search reference before combining categories with domain or date filters./agent as a drop-in replacement for /search. It is higher-latency and async, so use the dedicated Agent reference when that workflow shape is the real fit. Consider using it over websets or deep where appropriate./research/v1 as legacy. Do not present it as the default for new work./findSimilar as deprecated. Prefer /search (optionally after /contents on the seed URL) for related-page discovery.| File | Topics |
|---|---|
| references/search.md | Search endpoint request/response shape, search types, filters, nested contents, structured output |
| references/contents.md | Contents endpoint extraction, freshness, statuses, top-level content fields |
| references/answer.md | Grounded answer generation with citations and structured output |
| references/context.md | Code-focused retrieval with tokensNum |
| references/agent.md | Agent API for async multi-step research, enrichment, structured output, polling, and events |
| references/openai-compat.md | OpenAI-compatible endpoints, model routing, extra_body usage |
| references/monitors.md | Standalone Monitors API for scheduled recurring search |
| references/websets.md | Websets API for async verified and enriched collection building |
| references/sdks.md | Python and TypeScript SDK naming, methods, and shape differences |
| references/http-requests.md | Minimal raw HTTP examples across major Exa surfaces |
| references/models-and-modes.md | Search type selection, answer/research model routing, latency tradeoffs |
| references/prompting-and-patterns.md | Durable query, prompting, freshness, and output-schema patterns |
| references/common-mistakes.md | Parameter-shape corrections |
https://exa.ai/docshttps://exa.ai/docs/llms.txthttps://exa.ai/docs/reference/searchhttps://exa.ai/docs/reference/agent-api-guidehttps://exa.ai/docs/reference/agent-api/connect/overviewhttps://exa.ai/docs/sdks/python-sdk-specificationhttps://exa.ai/docs/sdks/typescript-sdk-specificationPorted from exa-labs/agent-skills - adapted for mktg's drop-in contract on 2026-07-18.
Upstream commit: 390ffee2d7e1d0dce2ed8efe4994c2b3c1c0173b
Drift detection: if the upstream skill changes, re-run mktg-steal https://github.com/exa-labs/agent-skills to evaluate the diff.