No KYC — no ID, no selfie, no documents. Pay in crypto: BTC, USDT, USDC, ETH, SOL, LTC
Language: English
Get an API key

LLM search API · from $1.20/1K searches

AI search API for LLMs: the results and the pages behind them

A search API built for models, not for people. One call runs a live web search, reads the top pages and returns their text as Markdown, ready to drop into a prompt. No KYC — no ID, no selfie, no documents. Pay in crypto.

Last updated: · 6 min read

Quick answer

What is the best way to give an LLM live web search?

Give it a search API that returns sources it can read. LLMWebSearch is an AI search API for LLMs: one call runs a live web search and returns up to 20 ranked results, with the top 3 pages as Markdown. As of October 2026 it costs $9.25 for 5,000 searches and $1.20/1K searches at 1 million. No KYC; pay in crypto.

The AI search API in short

EndpointPOST https://llmwebsearch.com/api/v1/search (GET also works, with the same names)
Inputq, plus optional max_results, read, format, max_chars, topic, time_range, country, language, include_domains, exclude_domains
OutputEach result carries its position, title, URL, host, snippet and, when it was read, the page's main content as Markdown or plain text with its word count and publication date when known
ResultsResults come from a live web search run at the moment of your call, in the order the search engine ranks them; nothing is served from an old index
PriceOne credit pays for one search: up to 20 ranked results, with the pages of the first 3 read and returned as Markdown. Reading 4 to 10 pages makes it 2 credits. A call that ends in an error costs nothing
AnswerThe API returns sources, not a written answer: your own model reads the pages, writes the reply and cites the URLs
Page accessOur reader respects robots.txt: it introduces itself as LLMWebSearch, follows the rules a site writes for it or for all robots, and leaves out the content of any page it is not allowed to read

A list of links tells a model where to look, not what is there. A snippet of 150 characters rarely holds the date, the number or the step the user asked about. So most agents follow a search with a second tool that fetches each page, cleans it and trims it.

LLMWebSearch folds those steps into one call. The top pages come back as Markdown, with navigation, ads and cookie banners removed, and each one carries a word_count. Your agent spends its tokens on content, and you pay for one call instead of four.

What does a response look like?

Each result has its position, title, URL, host and snippet. The first read results also carry content and word_count, plus published_at when the page or the search engine gives a date. A content_status field says what happened to each page: ok, not_requested, blocked_by_robots, blocked_by_site_policy, target_refused, fetch_failed or fetch_timeout. The values below are illustrative.

Response (shortened)
{
  "query": "rotate api key without downtime",
  "created_at": "2026-10-22T09:14:03Z",
  "credits_used": 1,
  "results": [
    {
      "position": 1,
      "title": "Rotating API keys",
      "url": "https://docs.example.com/keys/rotation",
      "host": "docs.example.com",
      "snippet": "Create a second key, deploy it, then revoke the first one.",
      "published_at": "2026-09-12",
      "content_status": "ok",
      "content": "# Rotating API keys\n\n## Zero-downtime rotation\n\n1. Create a second key\n2. Deploy it to every service\n3. Revoke the old key",
      "word_count": 812
    },
    {
      "position": 2,
      "title": "A key rotation checklist for production",
      "url": "https://blog.example.org/key-rotation",
      "host": "blog.example.org",
      "snippet": "Keep two keys active while services switch over.",
      "content_status": "blocked_by_robots"
    }
  ]
}

How do I call it from my code?

Send the query as JSON with your key as a Bearer token. The Python example below asks for 5 results and reads the top 3, capped at 4,000 characters each. The quick start has the same call in Node.js and curl.

Python
import os
import requests

resp = requests.post(
    "https://llmwebsearch.com/api/v1/search",
    headers={"Authorization": f"Bearer {os.environ['LLMWEBSEARCH_API_KEY']}"},
    json={"q": "rotate api key without downtime", "max_results": 5, "read": 3, "max_chars": 4000},
    timeout=60,
)
resp.raise_for_status()
for r in resp.json()["results"]:
    print(r["position"], r["title"], r["url"], r["content_status"])

Which filters can an agent use?

Choose the country and language of the results, a time range (past day, week, month or year), web or news results, and domains to include or exclude.

  • time_range: day, week, month or year, for questions about recent events.
  • topic: news returns articles with their dates; see the news search API.
  • include_domains and exclude_domains: up to 20 each, to stay on official documentation or to drop a noisy site.
  • country and language: the market whose results you want, such as de and de.
  • max_chars: the most text you want per page, from 500 to 50,000 characters.

Three is a good default, and it is what one credit covers. Most factual questions are settled by the first pages, and three sources let the model cross-check a figure. Raise read to 5 or 10 for research questions where sources disagree; that search costs 2 credits.

Set read to 0 when the agent only needs links, for example to pick which URL to open next. Then call /extract on the URLs it chose.

What happens with pages a site does not want read?

They come back as results without content. Our reader respects robots.txt: it introduces itself as LLMWebSearch, follows the rules a site writes for it or for all robots, and leaves out the content of any page it is not allowed to read. A site that sets Content-Signal: ai-input=no in its robots.txt keeps its pages out of your results' content.

When a site turns our reader away, the result comes back without content and with the site's status: we never solve CAPTCHAs, sign in to accounts or work around a block or a paywall. The content_status field tells your agent why a page is missing, so it can use the snippet or move to the next result. Site owners can read about our reader on the bot page.

How much does the AI search API cost?

5,000 searches cost $9.25, 25,000 searches cost $41.25 and 1,000,000 searches cost $1,200, as of October 2026. The dated comparison puts these prices next to 14 other APIs.

Try

5,000 searches

$9.25

$1.85/1K searches

  • Wire it into one agent
  • Same API as the largest pack
  • Credits never expire
Choose 5,000 searches

Builder

25,000 searches

$41.25

$1.65/1K searches

  • A coding agent or a research assistant
  • MCP, LangChain and n8n ready
  • Credits never expire
Choose 25,000 searches

Production

100,000 searches

$145

$1.45/1K searches

  • Agents in production
  • Higher rate limit on request
  • Credits never expire
Choose 100,000 searches

In every plan: Top 3 pages read as Markdown · Country, language, time and domain filters · Failed calls not charged · Credits never expire

AI search API questions

Is an AI search API the same as a SERP API?

No. A SERP API returns the search page as data: links, snippets, ads and boxes. An AI search API also reads the pages and returns their text, so a model can use it directly. LLMWebSearch returns ranked results plus the content of the top pages.

Does LLMWebSearch have its own search index?

No. Results come from a live web search run at the moment of your call, in the order the search engine ranks them; nothing is served from an old index. Our own work is reading and cleaning the pages and returning them in a form a model can use.

Can I store the results?

We do not train any model on your queries or on what the API returns, and we add no rule of our own against storing results; the rights of the sites whose pages you read still apply. Check each site's terms before you republish its text.

Which models does it work with?

Any of them. The API returns JSON and Markdown, so it fits OpenAI, Claude, Gemini, DeepSeek, Llama or Qwen models. See the OpenAI function-calling tool and the MCP server.

From $1.20/1K searches · no KYC

Get an API key