API docs
Four endpoints, one key. Base URL https://api.inferaweb.com
Authentication
Send your key in the X-API-Key header. Make keys on your account page — every key shares your account's monthly allowance.
Search
POST /v1/searchLive results from several engines plus our index, merged and ranked — with dates and an optional quick answer.
curl -X POST https://api.inferaweb.com/v1/search \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"latest AI news","search_depth":"advanced","max_results":10,"include_answer":true,"days":7,"include_domains":[],"exclude_domains":[]}'- search_depth: advanced searches the live web every time; basic tries our index first.
- days keeps only recent results; include_raw_content: true adds each page's text.
- Counts 1 search per query (batch: POST /v1/search/batch with up to 8 queries).
Extract
POST /v1/extractClean text from up to 50 pages. Sites that block bots are read through our fallbacks (a second reader, a real browser, then the archived copy).
curl -X POST https://api.inferaweb.com/v1/extract \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urls":["https://react.dev/learn"],"max_chars":20000,"include_images":false}'- fetch_tier says how each page was read: live_fetch, service_http, browser_render, archive, d1_cache.
- PDFs work too.
- Counts 1 extract per page read (failed pages are free).
Crawl
POST /v1/crawlRead a website from a starting page: pages under that path first, then its folder; sitemap, robots.txt and redirects handled.
curl -X POST https://api.inferaweb.com/v1/crawl \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://stripe.com/docs/payments","max_pages":10,"max_depth":3,"include_paths":[],"exclude_paths":["/blog"],"max_chars":20000}'- Stays on the same host; duplicate pages are dropped.
- Counts 1 crawl unit per page returned.
Research
POST /v1/researchSearch, read every result in full, and get it all back as one cited document (combined_content) plus the numbered sources.
curl -X POST https://api.inferaweb.com/v1/research \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"latest developments in solid state batteries 2026","max_results":10,"max_chars_per_page":15000,"days":365}'- combined_content has a “## [n] Title” section per source, numbered like sources[].
- Pages that can't be read keep their snippet and appear in failed_results.
- Counts 1 research request.
Limits & errors
- Free: 5,000 searches, 2,000 extracts, 500 crawl pages and 200 research requests a month. Pro: 20× that, then pay as you go. Plans
- Past a Free limit you get
429with adetailmessage and the reset date. Near a limit, a batch, extract or crawl is trimmed to what's left. 401means a missing or wrong key;400a bad request body.