lichamnesia/lich-skills · Archived

tavily-search

Web search and content extraction via the Tavily API. Use when you need real-time web results, citations, or raw article content without a browser. Requires TAVILY_API_KEY.

First seen Apr 13, 2026

Installation

$ npx skills add lichamnesia/lich-skills --skill tavily-search

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from lichamnesia/lich-skills.

npx skills add lichamnesia/lich-skills

Browse all from lichamnesia/lich-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 233
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code codex

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,134 B
  • docs SUMMARY.md 193 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 6 installs

SKILL.md

Tavily Search

Headless web search and content extraction using Tavily. Built for LLM agents — returns clean, summarised results with optional raw article bodies. No browser required.

When to use

  • You need up-to-date web information (news, docs, pricing, facts)
  • You want cited sources with URLs for a research/writing task
  • You need the full readable body of a URL as markdown
  • Brave/Google search is not available or rate-limited

When NOT to use

  • You already have the page in your context
  • The answer is static and likely in the model's training data
  • You need to interact with a page (login, click) — use a browser MCP instead

Setup

  1. Get a free API key: https://app.tavily.com (1000 free searches/month)
  2. Export it:

``bash export TAVILYAPIKEY="tvly-YOURKEYHERE" ``

Add to ~/.zshrc or ~/.bashrc for persistence. Never commit the key.

  1. First run will auto-install dependencies via uv:

``bash command -v uv || curl -LsSf https://astral.sh/uv/install.sh | sh ``

Search

# Basic search — 5 results, summarised answer
uv run ~/.claude/skills/lich-skills/skills/tavily-search/scripts/search.py "your query"

# More results
uv run .../search.py "your query" --max-results 10

# Include full article bodies (slower, more tokens)
uv run .../search.py "your query" --raw-content

# Deeper search with higher recall
uv run .../search.py "your query" --depth advanced

# News-only, last 7 days
uv run .../search.py "your query" --topic news --days 7

# Output as JSON
uv run .../search.py "your query" --json

Flags

Flag Default Purpose
--max-results N 5 Number of results to return (1–20)
--depth {basic,advanced} basic advanced = slower, higher quality
--topic {general,news} general News mode adds recency filtering
--days N With --topic news, restrict to last N days
--raw-content off Include full article body as markdown
--include-domains a,b Restrict to comma-separated domains
--exclude-domains a,b Exclude comma-separated domains
--json off Machine-readable JSON output

Extract a single URL

uv run .../search.py --extract https://example.com/article

Returns clean markdown of the page body (no nav, ads, or boilerplate).

Output format (default, human-readable)

ANSWER: <Tavily's synthesised answer, 1–3 sentences>

RESULTS:
[1] <title>
    <url>
    <snippet — 1–2 sentences>

[2] ...

With --raw-content each result gets an indented markdown body below the snippet.

Examples

Research a library:

uv run .../search.py "Gemini 3 Flash Image API pricing" --depth advanced

Get the full article body of a blog post:

uv run .../search.py --extract https://blog.example.com/post --json > post.json

News sweep:

uv run .../search.py "OpenAI Codex release" --topic news --days 3 --max-results 10

Environment

  • Key lookup order: --api-key flag → $TAVILYAPIKEY$TAVILY_KEY
  • Default model: Tavily's search and extract endpoints (v1)
  • Default timeout: 30s per request

Common failures

Error Fix
Error: No TAVILYAPIKEY Export the key or pass --api-key
401 Unauthorized Key is wrong, revoked, or over quota
429 Rate limit Wait or upgrade plan
No results Broaden query, try --depth advanced, drop domain filters

Red flags

  • Hardcoding the API key anywhere in this repo
  • Passing the key on the command line in shared terminals (shell history leak)
  • Using --raw-content with --max-results 20 on every query (burns tokens)

Verification

  • $TAVILYAPIKEY is set in env, not in files
  • uv run .../search.py "hello world" returns results
  • gitleaks detect --source . clean