Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
AI-powered web and code search, content extraction, URL crawling, and asynchronous research with customizable schema and filters using EXA_API_KEY.
AI-powered web and code search, content extraction, URL crawling, and asynchronous research with customizable schema and filters using EXA_API_KEY.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Use this skill for web search, code-context search, URL content extraction, and async research workflows.
Run Exa web search with optional category and domain filters. Retrieve full page content (and optional subpage crawling). Find code and docs context for programming queries. Run async research tasks (one-shot or create/poll workflows). Support optional structured outputs via outputSchema.
Set EXA_API_KEY using one of these methods. export EXA_API_KEY="your-exa-api-key" # .env next to SKILL.md EXA_API_KEY=your-exa-api-key Behavior: If EXA_API_KEY is missing in the environment, scripts load only EXA_API_KEY from .env. Other .env variables are ignored by the loader.
SCHEMA_FILE content is sent to https://api.exa.ai/research/v1 as outputSchema. Never use sensitive local files for SCHEMA_FILE (for example: .env, key/cert files, secrets, internal confidential docs). research_create.sh blocks obvious sensitive paths/suffixes (for example: .env, .pem, .key, .p12, .pfx, id_rsa).
bash scripts/search.sh "query" Main env vars: NUM=10 (max 100) TYPE=auto (auto, neural, fast, deep, instant) CATEGORY= (company, research paper, news, tweet, personal site, financial report, people) DOMAINS=domain1.com,domain2.com EXCLUDE=domain1.com,domain2.com SINCE=YYYY-MM-DD UNTIL=YYYY-MM-DD LOCATION=NL Constraints: EXCLUDE is not supported when CATEGORY=company or CATEGORY=people. SINCE and UNTIL are not supported when CATEGORY=company or CATEGORY=people. When CATEGORY=people, DOMAINS accepts LinkedIn domains only (linkedin.com, www.linkedin.com, *.linkedin.com).
bash scripts/content.sh "url1" "url2" Main env vars: MAX_CHARACTERS=2000 HIGHLIGHT_SENTENCES=3 HIGHLIGHTS_PER_URL=2 SUBPAGES=10 SUBPAGE_TARGET="docs,reference,api" LIVECRAWL=preferred (preferred, always, fallback) LIVECRAWL_TIMEOUT=12000
bash scripts/code.sh "query" [num_results]
bash scripts/research.sh "instructions" Main env vars: MODEL=exa-research or MODEL=exa-research-pro SCHEMA_FILE=path/to/schema.json POLL_INTERVAL=2 MAX_WAIT_SECONDS=240 EVENTS=true
bash scripts/research_create.sh "instructions" | jq bash scripts/research_poll.sh "researchId" | jq
Use this decision order: User explicitly asks for realtime or autocomplete -> TYPE=instant. Task needs broad coverage or deeper synthesis -> TYPE=deep. User asks for speed/quality balance -> TYPE=fast. Otherwise -> TYPE=auto (default). Fallback/escalation: If too slow or time-sensitive: deep -> auto -> fast -> instant. If too shallow: instant -> fast -> auto -> deep. Explicit user requirement always wins. Recommended pattern: TYPE=auto bash scripts/search.sh "query"
Do not pass sensitive files to SCHEMA_FILE. Do not combine CATEGORY=people|company with EXCLUDE, SINCE, or UNTIL. Prefer https://docs.exa.ai/ for subpage crawling seeds (more reliable than https://exa.ai/docs/reference/).
See EXAMPLES.md for grouped command examples and edge-case workflows.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.