Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

evidencekit

Docs

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

What you get

  • One API, 12+ providers — Tavily, Exa, Brave, Perplexity, Firecrawl, Serper, SerpAPI, SearxNG, Jina, DataForSEO, Tinyfish, and more
  • Policy-based routing — pick fast, cheap, balanced, or quality and 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

Quick start

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

Routing policies

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).

Supported providers

Brave · DataForSEO · Exa · Firecrawl · Jina · Perplexity · SearxNG · Serper · SerpAPI · Tavily · Tinyfish

Local dev

npm install
npm run test
npm run build

License

MIT

About

Multi-provider web search orchestration for AI apps — parallel fanout, policy routing, dedup, rerank

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages