Skip to the page

LangChain search tools

Keep the class, change one argument.

Eight LangChain search and loader classes, in six packages, take a base address. Each one below ran through its own package code on production on November 10, 2026, with only the address and the key changed.

For TavilySearch, pass api_base_url="https://api.specstream.ai/tavily" and your SpecStream key as tavily_api_key. The tool sends Tavily's call, and SpecStream answers in Tavily's own JSON.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and costs $5 per 1,000 searches, with no daily limit. A page read costs $0.0008. A new account gets $10 of credit, no card.

New accounts get $10 of credit, no card. It covers 2,000 searches.

Each LangChain class, the argument that takes the address, and the SpecStream value, run on production on Nov 10, 2026

The argumentSpecStream addressWhere the key goes
`langchain-tavily` 0.2.18, `TavilySearch`api_base_urlhttps://api.specstream.ai/tavilytavily_api_key or TAVILY_API_KEY
`langchain-tavily` 0.2.18, `TavilyExtract`api_base_urlhttps://api.specstream.ai/tavilytavily_api_key or TAVILY_API_KEY
`langchain-exa` 1.1.0, `ExaSearchRetriever`exa_base_urlhttps://api.specstream.ai/exaexa_api_key or EXA_API_KEY
`langchain-community` 0.4.2, `JinaSearch`base_url on its JinaSearchAPIWrapperhttps://api.specstream.ai/jina-search?q=api_key or JINA_API_KEY
`langchain-community`, `BingSearchAPIWrapper`bing_search_url, or BING_SEARCH_URL in the environmenthttps://api.specstream.ai/v7.0/searchbing_subscription_key or BING_SUBSCRIPTION_KEY
`langchain-perplexity` 1.4.2, `PerplexitySearchRetriever`PERPLEXITY_BASE_URL in the environmenthttps://api.specstream.ai/perplexityPPLX_API_KEY or PERPLEXITY_API_KEY
`langchain-parallel` 0.5.0, `ParallelWebSearchTool`base_url, or PARALLEL_BASE_URL in the environmenthttps://api.specstream.ai/parallelapi_key or PARALLEL_API_KEY
`langchain-firecrawl` 0.1.0, `FirecrawlLoader`api_urlhttps://api.specstream.ai/firecrawlapi_key or FIRECRAWL_API_KEY

Why LangChain developers point their search tools at SpecStream

What the providers behind these classes cost

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to move a LangChain search tool to SpecStream

1. Create a key under Agents & API in the SpecStream workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.

2. Check the key with the call TavilySearch sends. A 200 with results means the tool 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. Add the class's argument from the table, with the SpecStream key where the class takes its key:

import os
from langchain_tavily import TavilySearch

search = TavilySearch(
    max_results=5,
    tavily_api_key=os.environ["SPECSTREAM_API_KEY"],
    api_base_url="https://api.specstream.ai/tavily",
)
search.invoke({"query": "open source vector databases"})

4. Run the chain or agent as before. Each call shows in your SpecStream request log with its price.

Frequently asked questions

Something we didn't answer? Talk to a human

How do I set api_base_url in langchain-tavily?
Pass it to the constructor: TavilySearch(api_base_url="https://api.specstream.ai/tavily"), and the same on TavilyExtract. Both ran with that argument in langchain-tavily 0.2.18 on production on November 10, 2026.
What is the best langchain-tavily alternative?
SpecStream, at $0.005 a search with no daily limit and 97.9 F-score on all 1,000 SimpleQA Verified questions. It answers TavilySearch itself, so the tool and the agent stay.
How do I change the Exa base URL in LangChain?
Set exa_base_url on ExaSearchRetriever in langchain-exa 1.1.0. The value https://api.specstream.ai/exa with a SpecStream key in exa_api_key searches at $5 per 1,000.
Which LangChain search tools take a custom endpoint?
Eight classes in six packages: TavilySearch, TavilyExtract, ExaSearchRetriever, JinaSearch, BingSearchAPIWrapper, PerplexitySearchRetriever, ParallelWebSearchTool and FirecrawlLoader. Each argument is in the table above.
Why does the JinaSearch base_url end in ?q=?
JinaSearchAPIWrapper builds its request as base_url + query, with no separator. With ?q= at the end, the query lands in q.
How much does a LangChain search cost on SpecStream?
$0.005 a search of up to 10 results, on every class above. A page from TavilyExtract or FirecrawlLoader costs $0.0008, and the first $10 of credit covers 2,000 searches.
Does FirecrawlLoader crawl and map on SpecStream?
Yes. Its scrape, crawl and map modes ran through langchain-firecrawl 0.1.0 on production on November 10, 2026, with api_url set to SpecStream.

Sources

SpecStream wrote this page. Each argument comes from the package's source on GitHub, and each provider's figure from that company's own page.

  1. langchain-tavily _utilities.pyraw.githubusercontent.com/tavily-ai/langchain-tavily/main/langchain_tavily/_utilities.py, read Nov 10, 2026
  2. langchain-tavily tavily_search.pyraw.githubusercontent.com/tavily-ai/langchain-tavily/main/langchain_tavily/tavily_search.py, read Nov 10, 2026
  3. langchain-tavily tavily_extract.pyraw.githubusercontent.com/tavily-ai/langchain-tavily/main/langchain_tavily/tavily_extract.py, read Nov 10, 2026
  4. langchain-exa retrievers.pyraw.githubusercontent.com/langchain-ai/langchain/master/libs/partners/exa/langchain_exa/retrievers.py, read Nov 10, 2026
  5. langchain-exa _utilities.pyraw.githubusercontent.com/langchain-ai/langchain/master/libs/partners/exa/langchain_exa/_utilities.py, read Nov 10, 2026
  6. langchain-community jina_search.pyraw.githubusercontent.com/langchain-ai/langchain-community/main/libs/community/langchain_community/utilities/jina_search.py, read Nov 10, 2026
  7. langchain-community JinaSearch toolraw.githubusercontent.com/langchain-ai/langchain-community/main/libs/community/langchain_community/tools/jina_search/tool.py, read Nov 10, 2026
  8. langchain-community bing_search.pyraw.githubusercontent.com/langchain-ai/langchain-community/main/libs/community/langchain_community/utilities/bing_search.py, read Nov 10, 2026
  9. langchain-perplexity _utils.pyraw.githubusercontent.com/langchain-ai/langchain/master/libs/partners/perplexity/langchain_perplexity/_utils.py, read Nov 10, 2026
  10. langchain-parallel search_tool.pyraw.githubusercontent.com/parallel-web/langchain-parallel/main/langchain_parallel/search_tool.py, read Nov 10, 2026
  11. langchain-firecrawl document_loaders.pyraw.githubusercontent.com/firecrawl/langchain-firecrawl/main/langchain_firecrawl/document_loaders.py, read Nov 10, 2026
  12. Bing Search API retirementlearn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement, read Nov 10, 2026
  13. Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
  14. Tavily pricingtavily.com/pricing, read Nov 10, 2026
  15. Exa pricingexa.ai/docs/admin/pricing.md, read Nov 10, 2026
  16. Perplexity Search APIdocs.perplexity.ai/docs/search/overview.md, read Nov 10, 2026
  17. Parallel pricingdocs.parallel.ai/getting-started/pricing.md, read Nov 10, 2026
  18. Parallel rate limitsdocs.parallel.ai/getting-started/rate-limits.md, read Nov 10, 2026
  19. Firecrawl pricingfirecrawl.dev/pricing, read Nov 10, 2026
  20. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
  21. SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
  22. SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026