Stop babysitting search providers. Get reliable web results for your AI app.
EvidenceKit handles the messy reality of production web search: providers go down, return garbage, or give you duplicate results. You get a single clean API that routes across 12+ providers, fans out queries in parallel, deduplicates and reranks results, and keeps your agent running even when individual providers fail.
npm install evidencekit- One API, 12+ providers — Tavily, Exa, Brave, Perplexity, Firecrawl, Serper, SerpAPI, SearxNG, Jina, DataForSEO, Tinyfish, and more
- Policy-based routing — pick
fast,cheap,balanced, orqualityand EvidenceKit selects and fans out across the right providers automatically - Parallel fanout with timeout isolation — slow providers don't block your response
- Automatic retry with backoff — transient failures are handled transparently
- Dedup + rerank pipeline — merged results from multiple providers, citations preserved
- Built-in telemetry — per-provider latency and health data for monitoring and evals
import { EvidenceKit, TavilyProvider, ExaProvider, FirecrawlProvider } from "evidencekit"
const kit = new EvidenceKit({
providers: [
new TavilyProvider({ apiKey: process.env.TAVILY_API_KEY! }),
new ExaProvider({ apiKey: process.env.EXA_API_KEY! }),
new FirecrawlProvider({ apiKey: process.env.FIRECRAWL_API_KEY! }),
],
defaultPolicy: "balanced",
timeoutMs: 15000,
retry: { retries: 1, backoffMs: 250 },
})
const result = await kit.search({
query: "startup pricing page benchmarks b2b saas",
limit: 10,
requireCitations: true,
}, "quality")
console.log(result.results) // normalized, deduped, reranked
console.log(result.telemetry) // per-provider latency + status| Policy | When to use |
|---|---|
fast |
Latency-sensitive — picks the lowest-latency providers |
cheap |
Cost-sensitive — picks the lowest-cost providers |
balanced |
Good default — blends cost and latency |
quality |
Max recall — fans out across a broader provider set |
Register your own with kit.registerPolicy(name, selectorFn).
Brave · DataForSEO · Exa · Firecrawl · Jina · Perplexity · SearxNG · Serper · SerpAPI · Tavily · Tinyfish
npm install
npm run test
npm run buildMIT