Web search that returns the raw results and an
AI-synthesised answer with real, verifiable citations. Every [n] marker is
generated from the search API's own source attribution — not written by the
model — so a citation cannot be invented. Pay per call in USDC over
x402. No account, no API key, no subscription.
/answer $0.008One fact, fast. A direct factual answer in a short paragraph with citations — no report structure, no headings. For agents that just need to know a thing.
Fastest endpoint. Says “I could not find a reliable source” rather than guessing. Measured 3–6 s.
curl -s https://aisearch.x.c00l.site/answer \
-H 'content-type: application/json' \
-d '{"query":"What is the current Node.js LTS version?"}'
/search $0.02The main endpoint. Searches the web, then returns a cited Markdown answer, the citation list, the raw result set, and suggested follow-up questions.
depth: quick (~5 s) or standard (default, 25–40 s; also searches for counter-evidence).
curl -s https://aisearch.x.c00l.site/search \
-H 'content-type: application/json' \
-d '{"query":"state of WebGPU browser support","depth":"standard","maxResults":10,"recency":"month"}'
/compare $0.03Researched side-by-side comparison: a verdict, a Markdown comparison table, the differences that actually matter, and the same data again as a structured JSON matrix with a per-cell verified flag.
Unverifiable cells come back as not found rather than being filled with a guess. Measured 55–80 s.
curl -s https://aisearch.x.c00l.site/compare \
-H 'content-type: application/json' \
-d '{"subjects":["Cloudflare Workers","AWS Lambda","Deno Deploy"],"criteria":["cold start","pricing model","runtime limits"]}'
/research $0.25The premium product. A genuinely agentic multi-step investigation: plans sub-questions, searches each, opens and reads the promising pages, hunts its own gaps and counter-evidence, then writes a long structured report — executive summary, key findings, analysis, an evidence-quality table with a confidence rating, and what remains uncertain.
Uses extended thinking and a real tool-use loop with hard caps on turns, page reads, subrequests and wall clock. Measured 205–254 s; allow up to 360 s. Set your client timeout accordingly — Node's built-in fetch gives up at 300 s.
curl -s https://aisearch.x.c00l.site/research \
-H 'content-type: application/json' \
-d '{"query":"How production-ready is WebGPU in 2026, and what are the remaining blockers?","recency":"year"}'
| Route | Returns |
|---|---|
GET / | This page. |
GET /openapi.json | OpenAPI 3.1 spec of every route. |
GET /health | {"ok":true} |
Most “AI search” APIs ask the model to write its own citations, which is exactly the task models are worst at. This service does not. The underlying search API attaches, to each span of generated prose, the search result that span came from, together with the quoted text. We take that attribution and render the numbered markers ourselves.
The consequences are concrete: every [n] in the answer resolves to a real
retrieved URL; every entry in citations[] carries the source's own
quote; and the model is explicitly forbidden from typing citation markers
at all. It is also instructed to state plainly when sources disagree, when a
claim comes from its own background knowledge rather than a source, and when it
simply could not find the answer.
Any x402 client pays automatically — the first request returns
402 with a PAYMENT-REQUIRED header, your client signs a USDC
transfer authorisation and retries. Settlement details come back in
PAYMENT-RESPONSE.
npm i x402-fetch viem
import { wrapFetchWithPayment } from "x402-fetch";
const pay = wrapFetchWithPayment(fetch, account);
const r = await pay("https://aisearch.x.c00l.site/search", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ query: "who won the 2026 world cup" }),
});
const { answer, citations, results } = await r.json();
Bad input is rejected with a 4xx and is never charged, and a
failed model call returns 5xx so settlement never happens — you only pay
for output you actually received.
[n] citations.{n, url, title, quote, quotes[]} — the source's own words./research shows every query and page it opened.