Get started with ContextFetch
No account and no email. Call the API with no key, or buy credits in one click and get your key on the next page.
Try it now, no key25 free searches a day per IP, in the browser or from your code.
or buy credits
- Instant$15 · 15,000 credits · $1.00 / 1k
- BuilderMost popular$50 · 60,000 credits · $0.83 / 1k
- Scale$150 · 200,000 credits · $0.75 / 1k
One-time payment. Credits never expire. Full Markdown and pruning included. Card, Apple Pay or Google Pay through Stripe Checkout.
Or add it to your agent
claude mcp add contextfetch -- npx -y @contextfetch/mcpAlready have a key? Check your balance
search.py
import requests
# No key: 25 free searches a day per IP
r = requests.post(
"https://api.contextfetch.dev/v1/search",
json={
"query": "python asyncio timeout",
"numResults": 5,
"contents": {
"text": True,
"highlights": True,
"pruned_context": True,
},
},
)
print(r.json()["results"][0]["title"])Response · recorded 2026-10-17
{
"results": [
{
"title": "python - The asyncio Timeout Trap: Why wait_for() Doesn't Stop Tasks Instantly and How to Fix It",
"url": "https://runebook.dev/en/docs/python/library/asyncio-task/timeouts",
"publishedDate": "2026-10-12",
"score": 0.9997752506553548
},
{
"title": "GitHub - aio-libs-abandoned/async-timeout: asyncio-compatible timeout class · GitHub",
"url": "https://github.com/aio-libs-abandoned/async-timeout",
"publishedDate": "2026-05-21",
"score": 0.9997290774366667
},
{
"title": "The async with timeout: Best Practices for Robust Python Asynchronous I/O",
"url": "https://runebook.dev/en/docs/python/library/asyncio-task/asyncio.timeout",
"publishedDate": "2026-10-16",
"score": 0.9996574960130553
}
],
"costDollars": {
"total": 0.001
},
"contextfetch": {
"tokens": {
"raw": 5322,
"pruned": 2305
}
}
}