Tavily CLI
Run tvly on SpecStream with one variable.
The Tavily CLI, tvly, bills each call in Tavily credits at $0.008 a credit pay as you go: 1 credit a basic search, 2 an advanced one, and 4 to 250 for one research request.
SpecStream is the live web data engine for teams and agents. tvly 0.2.1 reads TAVILY_API_BASE_URL, so with the SpecStream address there and a SpecStream key, tvly search costs $1 per 1,000 and tvly extract $0.80 per 1,000 pages.
New accounts get $10 of credit, no card. It covers 10,000 searches.
Each tvly command on SpecStream and on Tavily, read in tavily-cli 0.2.1 on Nov 12, 2026
| SpecStream | Tavily | |
|---|---|---|
| `tvly search`, per 1,000 | $1 for up to 10 results on Tavily's own call. --depth advanced or --include-answer runs the default search, $5 per 1,000 | 1 credit for basic and 2 for advanced: $8 or $16 pay as you go, from $5 on the Growth plan |
| `tvly extract`, per 1,000 pages | $0.80, up to 20 URLs a call. A page with no text is not charged | 1 credit per 5 successful URLs on basic and 2 on advanced: $1.60 or $3.20 pay as you go |
| `tvly map` | /tavily/map answers in Tavily's form. A map is one page read, $0.0008 | 1 credit per 10 pages returned, 2 with instructions |
| `tvly research` | Deep Search: every match on the live web as rows that meet each condition you wrote, at 5¢, 15¢ or $1 a row, with the most a run can cost quoted before it starts | 4 to 110 credits a request on mini and 15 to 250 on pro: $0.032 to $2.00 pay as you go |
| Where the address is set | TAVILY_API_BASE_URL in the environment, or api_base_url in ~/.tavily/config.json. The variable wins | https://api.tavily.com, the address tavily-python calls when none is set |
| Where the key goes | TAVILY_API_KEY, or tvly login --api-key with the SpecStream key. The variable takes precedence over a stored login | tvly login in the browser, tvly login --api-key tvly-YOUR_API_KEY or TAVILY_API_KEY |
| When the credits run out | Calls go on while the balance lasts. There is no monthly allowance to reset | Credits reset on the first day of each month. When the monthly credits run out, requests stop until they reset or you upgrade |
| Free use | $10 of credit on a new account, no card: 10,000 searches or 12,500 pages | 1,000 credits a month, no credit card. tvly search and tvly extract also run with no key, under a fair use rate limit |
| What answers the call | The whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions (978 correct) and 64.0 item F1 on all 200 WideSearch tasks | Tavily's search, which serves cached copies of pages and fetches pages live as needed |
Why tvly users point it at SpecStream
The setting tvly reads
tavily_cli/config.py resolves the API address from TAVILY_API_BASE_URL first and from api_base_url in ~/.tavily/config.json second, and hands it to TavilyClient as api_base_url. Tavily's CLI docs do not list the variable; it is in the code of every release since 0.2.1 on PyPI. Before and after:
# Before: tvly calls https://api.tavily.com with your Tavily key
tvly search "open source vector databases" --max-results 10
# After
export TAVILY_API_BASE_URL=https://api.specstream.ai/tavily
export TAVILY_API_KEY=$SPECSTREAM_API_KEY
tvly search "open source vector databases" --max-results 10
tvly extract https://example.com/article
tvly map https://example.comThe reply is Tavily's own JSON, results[].title, url and content, so --json output and the scripts that read it stay as they are.
A browser login stays in place
tvly login in the browser stores a token for Tavily's MCP endpoint. TAVILY_API_KEY takes precedence over stored credentials, so with the variable set every command goes to the SpecStream address with the SpecStream key, and unset TAVILY_API_KEY TAVILY_API_BASE_URL brings back the stored login.
Research as rows, priced before the run
tvly research returns one report for 4 to 250 credits, and the price is known after the run. Deep Search returns a row for every match, each value with its source page, at 5¢, 15¢ or $1 a row under a maximum you approve first. Your agent runs it from the MCP server at https://api.specstream.ai/mcp; see Deep Search.
The most accurate web search API
The SpecStream Search API scores 97.9 F-score on all 1,000 official SimpleQA Verified questions, 978 of them correct, and 64.0 item F1 on all 200 official WideSearch tasks. Every score and its method are on the benchmarks page.
Other search APIs a tvly user prices
SpecStream
The live web data engine for teams and agents. Its own CLI runs specstream web-search --q "<the question>", beside the Python and TypeScript SDKs. The Search API costs $1 per 1,000 searches of up to 10 results on the fast tier and every drop-in address, and $5 with the answer. The Extract API reads pages at $0.80 per 1,000. New accounts get $10 of credit, no card.
Exa
Search costs $4 per 1,000 requests on lite and $7 on auto, and the base price covers the first 10 results. SpecStream answers Exa's own call at $1 per 1,000 searches.
Brave Search API
Search costs $5 per 1,000 requests, with $5 in free credits every month. SpecStream answers Brave's own /res/v1/web/search call at $1 per 1,000 searches of up to 10 results.
Firecrawl
Monthly credit plans from $19 for 5,000 credits. A search costs 2 credits per 10 results and a scraped page 1. SpecStream answers Firecrawl's own calls at $1 per 1,000 searches and $0.80 per 1,000 pages.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to run tvly on SpecStream
1. Create a key under Agents & API in the SpecStream workspace. A new account gets $10 of credit, no card, which covers 10,000 searches.
2. Check the key with the call tvly search sends. A 200 with results means the CLI gets the same.
curl -X POST https://api.specstream.ai/tavily/search \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"query": "test", "max_results": 3}'3. Set the address and the key. Put the two lines in your shell profile to keep them:
export TAVILY_API_BASE_URL=https://api.specstream.ai/tavily
export TAVILY_API_KEY=$SPECSTREAM_API_KEYOr add "api_base_url": "https://api.specstream.ai/tavily" to ~/.tavily/config.json and run tvly login --api-key with the SpecStream key.
4. Run tvly search, tvly extract and tvly map as before. Each call is in your SpecStream request log with its price. Every field of Tavily's calls is in the Tavily migration guide, with Extract and map on their own pages.
Frequently asked questions
Something we didn't answer? Talk to a human
Can the Tavily CLI use a custom base URL?
tvly reads TAVILY_API_BASE_URL, then api_base_url in ~/.tavily/config.json, in tavily_cli/config.py of release 0.2.1. Set it to https://api.specstream.ai/tavily and tvly search, tvly extract and tvly map run on SpecStream.How much does the Tavily CLI cost?
tvly search costs $1 per 1,000 searches.How do I install the Tavily CLI?
curl -fsSL https://cli.tavily.com/install.sh | bash, or uv tool install tavily-cli or pip install tavily-cli, then tvly --version to check it.Does tvly research work on SpecStream?
tvly research calls Tavily's /research, which the SpecStream address does not answer. Deep Search returns every match as rows at 5¢, 15¢ or $1 a row, with the most a run can cost approved before it starts.Does tvly need a key?
tvly search and tvly extract run with no key under a fair use rate limit; crawl, map and research need one. On SpecStream every command takes a key, and a new account gets $10 of credit with no card.Does SpecStream have its own CLI?
specstream web-search --q "<the question>" calls the Search API, at $5 per 1,000 searches or $1 on the fast tier. The SDKs and CLI page has the setup.Sources
SpecStream wrote this page. Each setting comes from the tavily-cli and tavily-python source on GitHub, and each Tavily price from Tavily's own credits page, read on Nov 12, 2026.
- tavily-cli config.pyraw.githubusercontent.com/tavily-ai/tavily-cli/main/tavily_cli/config.py, read Nov 12, 2026
- tavily-cli READMEraw.githubusercontent.com/tavily-ai/tavily-cli/main/README.md, read Nov 12, 2026
- tavily-cli pyproject.tomlraw.githubusercontent.com/tavily-ai/tavily-cli/main/pyproject.toml, read Nov 12, 2026
- tavily-python clientraw.githubusercontent.com/tavily-ai/tavily-python/master/tavily/tavily.py, read Nov 12, 2026
- Tavily CLI docsdocs.tavily.com/documentation/tavily-cli.md, read Nov 12, 2026
- Tavily credits and pricingdocs.tavily.com/documentation/api-credits.md, read Nov 12, 2026
- Tavily pricingtavily.com/pricing, read Nov 12, 2026
- Tavily search referencedocs.tavily.com/documentation/api-reference/endpoint/search.md, read Nov 12, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 12, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 12, 2026
- Exa pricingexa.ai/docs/admin/pricing.md, read Nov 12, 2026
- Brave Search APIbrave.com/search/api/, read Nov 12, 2026
- Firecrawl pricingfirecrawl.dev/pricing, read Nov 12, 2026




