Every AI answer, one API.
Query ChatGPT, Claude, Perplexity and Google AI in one call. Get the answer real users see, with its citations, as JSON.
POST /v1/search
{ "query": "best CRM for startups",
"surfaces": ["chatgpt", "perplexity",
"google_ai_overview", "claude"] }
202 { "jobId": "job_8t2q" }one call → 4 answers, 16 credits, charged only on success
powering GEO monitoring, AI share of voice and citation tracking
Why aisearchapi.dev
The API exists because model APIs do not match what AI products show buyers.
You get the answer people actually see.
Model APIs are the wrong proxy for AI visibility because they skip the product layer your buyers interact with: web search, citations, regional behavior, ranking and rendered UI.

- The UI is the source of truth
- AI visibility work only matters if it matches what buyers see. We return the rendered answer from the live product, with citations and formatting intact, as one Envelope.
- Sources are part of the answer
- Surfer found that API results and scraped ChatGPT results shared only 24% of brands and 4% of sources. aisearchapi.dev keeps the full citation and source set the UI exposes, inline with the answer.
- One contract beats provider sprawl
- ChatGPT, Claude, Perplexity, Copilot and Google AI keep changing. Your app reads the same JSON shape instead of maintaining a different parser for every surface.
- The answer comes back scored (beta)
- Turn on extract and every answer returns a mentions layer: which brands are named, where they rank, the sentiment, and whether they were cited. Brand visibility without your own NLP pass. Free during the beta.
Surfaces
The engines one request can reach today, with phase-2 surfaces marked honestly.
One request. Every AI engine.
Name the engines in a surfaces array and get one result each, same JSON for every one.
Integrate
Two paths to the same Envelope: connect the MCP server, or make the HTTP calls yourself.
Let an agent wire it, or make three calls.
Connect the MCP server and let your agent call the API directly, or copy the HTTP flow yourself. Both paths use the same bearer token and end in the same Envelope.
AGENT PATH
Connect the MCP server. Your agent gets the live API.
One command wires Claude Code, Cursor or Claude Desktop to the aisearchapi.dev MCP server. Your agent calls typed tools for search, watches and usage, pulling live GEO data itself, on the same key and credits as the REST API.
claude mcp add --transport http aisearchapi \ https://api.aisearchapi.dev/mcp \ --header "Authorization: Bearer $AISEARCH_KEY"
search, watches and usage tools, live GEO data for Claude Code, Cursor and Claude Desktop
Create a key
Sign up and create a key in the dashboard. Your first 500 credits are free, no card.
dashboard → API keys$ export AISEARCH_KEY=sk_live_…Ask your question
One POST with your question and the AI engines you want. You get a job id back in milliseconds; each engine runs as its own job.
POST /v1/search$ curl -X POST https://api.aisearchapi.dev/v1/search \ -H "Authorization: Bearer $AISEARCH_KEY" \ -d '{"query":"best CRM for startups","surfaces":["chatgpt","perplexity"]}' → 202 { "jobId": "job_8t2q" }Read the Envelope
Poll the job (or attach a signed webhook) and read the answer and how it was captured, the same JSON for every engine.
GET /v1/jobs/:id$ curl https://api.aisearchapi.dev/v1/jobs/job_8t2q.chatgpt.US { "status": "completed", "answer": { "markdown": "…" }, "provenance": { "official": false } }
Build on it
The API layer for monitoring, GEO, rank tracking, research pipelines and agents.
The API under AI-visibility products.
Visibility dashboards, GEO platforms, rank trackers, agents, research pipelines: aisearchapi.dev is the API underneath. You ship the product; we deal with the AI engines.
Pricing
Credits by surface, no seat math, and no add-on fee for citation fields.
Credits, not seat math.
Every capture costs a few credits by surface, every Envelope field included, charged only on success. Start free with 500 credits; move up when your volume does.
Estimate the credits before you build.
Set daily checks per engine. One prompt, one engine and one region equals one successful capture.
ESTIMATED USAGE
780 credits / month
Charged only on success, failed queries refund automatically.
FITS ON
Starter$49/mo
- What does a capture cost?
- A few credits, priced per surface (Perplexity 3, ChatGPT 5, Claude (API) 3). Every Envelope field is included. The answer, its provenance and the evidence sources are never an add-on; the opt-in proof-of-page HTML snapshot (include.html, scrape surfaces only) rides along in the same capture.
- What if a capture fails?
- You are charged only when a capture succeeds. A failed child job refunds its credits automatically, exactly once, guaranteed by the ledger.
- Do I need a card to try it?
- No. Sign-up seeds 500 free credits on first use, enough for ~100 ChatGPT captures, with no card and no sales call.
- Sync or async?
- A single surface and region with no webhook runs sync, one 200 with the Envelope inline. Add more surfaces or regions, or a webhook, and it goes async (202 + poll or signed webhooks). Force either with ?mode=sync or ?mode=async; no sync surcharge.
Operations
The browser, regional and durability work your product should not have to maintain.
We handle the part that breaks.
AI apps redesign constantly and fight bots. That churn is our problem. Your integration reads one stable JSON contract.

- A real browser fleet
- We run real browser sessions against the live apps. Rendering, anti-bot walls and app redesigns are our problem, never yours.
- Ask from any country — or any locality
- Target any ISO-3166 country, with optional state, city and language, up to 10 per request, and every browser capture egresses through a city-level residential exit. On the Google surfaces you can also pin a location geotarget — one of ~100k named localities — for precise local rank tracking. Requested vs effective region and locality are recorded on every Envelope, so drift is visible instead of silent.
- Results you can re-fetch
- Every result returns a structured Envelope you can re-fetch through the API. Need the page itself? Opt into a proof-of-page HTML snapshot per request and pull it back verbatim.
- Built for volume
- Send up to 500 questions per batch. Every query is a durable job with retries, signed webhooks and idempotency keys, and you only pay when it succeeds.
- Scheduled on our side
- Point a watch at a query and the Watch API re-runs it on your interval, then delivers each Envelope to your webhook like any async job. No cron, no queue, no scheduler to keep alive on your end. Creating a watch is free; each run bills the normal per-surface credits on success.
Your first results are three calls away.
Grab a bearer token, query every AI answer engine, and get the rendered answers back as structured results. 500 free credits, no card.
