Skip to content

New: deep research, balance and auto-reload tools in the keyless MCP server. Install in one line

Use case · Research agents

Research across the web, with every source cited

One query fans out to web metasearch, arXiv, Hacker News, Wikipedia and our own index, then comes back as ranked highlights with their URLs and dates.

Research agentsurvey.md

Survey how RAG systems are evaluated

contextfetch_search2,162 ms↓ 72% tokens

{ "query": "retrieval-augmented generation evaluation benchmark", "numResults": 5 }

Deeper insights into retrieval augmented generation: The role of sufficient context

research.google/blog/deeper-insights-into-retrieval-augmented-generation-the-role-of-sufficient-context/

2025-05-14score 0.98

GitHub - naver/bergen: Benchmarking library for RAG

github.com/naver/bergen

2024-01-01score 1.00
highlight · research.googlescore 0.98

May 14, 2025 Cyrus Rashtchian, Research Lead, and Da-Cheng Juan, Software Engineering Manager, Google Research We introduce a new notion of sufficient context to examine retrieval augmented generation (RAG) systems, developing a method to classify instances, analyzing failures of RAG systems, and proposing a way to…

Recorded keyless call to api.contextfetch.dev/v1/search on 17 Oct 2026. The prompt is an example; the query, results, scores and timings are the real response.

Recall

One question, every kind of source

Web metasearch, Hacker News, Wikipedia and our own index answer every query in parallel. Academic questions add arXiv; technical ones add Stack Overflow and GitHub.

Results are fused into one list and reranked by a cross-encoder, so a paper and a blog post compete on relevance.

candidates per source · "retrieval-augmented generation evaluation benchmark"
  • searxng143
  • arxiv10
  • hn6
  • local5
  • wikipedia1

From the response's contextfetch.sources field, recorded 17 Oct 2026.

MCP

Deep research in one tool call

contextfetch_deep_research runs up to three searches in parallel, removes duplicate sources and returns one evidence pack: title, URL, score and pruned context for each source.

Pass your own sub-queries to cover different angles. Each one costs a credit.

tools/list

contextfetch_deep_research

input:

  • query · The research question.
  • sub_queries · Up to 3 search queries covering different angles of the question. Strongly recommended.
  • num_results_per_query · Results per sub-query (1-25, default 5).

Citations

Every highlight keeps its URL and date

Results carry the URL, title and published date, plus highlights with scores from 0 to 1. Your agent can cite, sort by date and drop weak passages without another call.

results[3], recorded
{
  "url": "https://research.google/blog/deeper-insights-into-retrieval-augmented-generation-the-role-of-sufficient-context/",
  "title": "Deeper insights into retrieval augmented generation: The role of sufficient context",
  "publishedDate": "2025-05-14",
  "highlightScores": [
    0.981,
    0.77,
    0.093
  ]
}

How it works

From question to evidence in one call

Inside the recorded "retrieval-augmented generation evaluation benchmark" search, from the response's own timings. Stages overlap, so they add up to more than the total.

  1. 01

    Recall

    Every source is queried in parallel under a time budget and fused into one ranked list.

    1,235 ms

  2. 02

    Fetch

    The best candidates are fetched in parallel; arXiv results use their abstract.

    1,237 ms

  3. 03

    Rerank and prune

    A cross-encoder scores every chunk against the query and keeps the highlights.

    504 ms

  4. 04

    Read less

    Pruned context is what your agent reads instead of the full pages.

    3,856 → 1,096 tokens

Code

Dated, filtered, cited

Use exa_py with a new base URL, the HTTP API directly, or the MCP server from Claude Code and other clients.

  • startPublishedDate for recent work only
  • includeDomains to stay on trusted sites
  • Up to 25 results per search, one credit

Search docs

# pip install exa-pyfrom exa_py import Exa exa = Exa(api_key="YOUR_API_KEY", base_url="https://api.contextfetch.dev") res = exa.search(    "retrieval-augmented generation evaluation benchmark",    num_results=10,    start_published_date="2024-01-01",    contents={"highlights": True},)for r in res.results:    print(r.published_date, r.url)    print("  ", r.highlights[0][:240])

Pricing

ContextFetch Search

$1.00per 1,000 searches

Highlights and pruned context are in the same credit; deep research costs one credit per sub-query. 25 searches a day are free with no key. One-time payment. Credits never expire. Full Markdown and pruning included.

Common questions

Which sources does a research query reach?

Every search queries a SearXNG metasearch instance, Wikipedia, Hacker News and our own index in parallel. arXiv joins when the query looks academic (at most one arXiv request every 3 seconds), and Stack Overflow and GitHub when it looks technical. Candidates are fused into one ranked list before pages are fetched.

What does contextfetch_deep_research do?

It runs up to 3 searches in parallel, one per sub-query you pass (or derived from the question), removes duplicate sources and returns one Markdown evidence pack with each source's title, URL, score and query-pruned context. Each sub-query costs 1 credit. Install with claude mcp add contextfetch -- npx -y @contextfetch/mcp.

Can I filter by date or domain?

Yes. startPublishedDate keeps results published on or after a date, and includeDomains and excludeDomains take up to 100 domains each. publishedDate is returned when the page states one; it is null otherwise.

Does ContextFetch write the research summary?

No. ContextFetch calls no language model. It returns sources, highlights and pruned context, and your agent's model writes the synthesis. Exa's /research and /answer endpoints are not available.

How many results can one search return?

Up to 25 per search, for one credit, with highlights and pruned context included.

How much does ContextFetch cost for research agents?

$1.00 per 1,000 searches on the $15 pack, less on bigger packs. A deep research call with 3 sub-queries costs 3 credits. Credits are a one-time purchase and never expire.

Read more

Related use cases

Give your research agent better sources

Start with no key: 25 free searches a day.