inferaweb

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.

Live 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).
ExtractPOST /v1/extract

Clean 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).
CrawlPOST /v1/crawl

Read 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.
ResearchPOST /v1/research

Search, 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 429 with a detail message and the reset date. Near a limit, a batch, extract or crawl is trimmed to what's left.
  • 401 means a missing or wrong key; 400 a bad request body.