tavily-cli — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited tavily-cli (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Web search, content extraction, site crawling, URL discovery, and deep research. Returns JSON optimized for LLM consumption.
Requires tavily-cli. Search and extract support capped keyless access; map, crawl, and research require authentication.
Run tvly --help or tvly <command> --help for full option details.
If tvly is not installed:
curl -fsSL https://cli.tavily.com/install.sh | bashOr manually: uv tool install tavily-cli / pip install tavily-cli
For agent setup, start keyless unless the user asks to sign in or the requested task needs map, crawl, or research. If the installer did not already complete setup, run:
tvly init --skip-authThis installs or updates the Tavily skills and verifies a live keyless search. Do not look for an API key or authenticate before the first search or extract request.
When authentication is requested or required, use guided setup:
tvly init
# Prefer to open the sign-in link yourself
tvly init --no-browsertvly init reuses an existing credential, installs or updates the Tavily skills bundled with that CLI release, and verifies a live search. Run tvly update first when refreshing bundled skills. Use tvly init --skip-skills when the skills are already installed and only authentication or verification is needed.
Search and extract can run immediately without authentication, subject to a keyless rate-limit cap. If either command reaches that cap in an interactive session, run tvly login to open browser OAuth, then retry the original command once. In an unattended environment, report the cap and authentication options instead of starting an interactive flow. Map, crawl, and research require authentication. Check the current state only when needed with tvly --status --json.
For authentication without full setup, use tvly login, tvly login --no-browser, tvly login --api-key tvly-YOUR_KEY, or TAVILY_API_KEY.
Browser-based OAuth is the preferred interactive sign-in method. --no-browser simply prints the sign-in link instead of opening it automatically; the flow still returns to a localhost callback on the machine running tvly. In remote sessions, make sure that callback is reachable (SSH may require port forwarding). In an unattended agent or CI environment, leave authentication to the user or use a securely provided TAVILY_API_KEY, then resume the original command.
Keep an existing installation current with tvly update --check and tvly update.
Follow this escalation pattern — start simple, escalate when needed:
| Need | Command | When |
|---|---|---|
| Find pages on a topic | tvly search | No specific URL yet |
| Get a page's content | tvly extract | Have a URL |
| Find URLs within a site | tvly map | Need to locate a specific subpage |
| Bulk extract a site section | tvly crawl | Need many pages (e.g., all /docs/) |
| Deep research with citations | tvly research | Need multi-source synthesis |
For detailed command reference, use the individual skill for each command (e.g., tavily-search, tavily-crawl) or run tvly <command> --help.
Run tvly without a subcommand for the interactive REPL.
Search, extract, crawl, map, and research support --json for structured output. Result-producing commands support -o to save the JSON response; crawl also supports --output-dir for one Markdown file per page. Setup, authentication, status, and update commands expose --json where documented but do not support -o.
tvly search "react hooks" --json -o results.json
tvly extract "https://example.com/docs" -o docs.json
tvly crawl "https://docs.example.com" --output-dir ./docs/? and & as special characters.echo "query" | tvly search -~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.