Search with an agent.
Answer with citations.
One API. One round-trip. Send a query — get back ranked results plus a cited LLM-written answer. Built for agent stacks, RAG pipelines, and anything that needs to read the live web without spinning up a scraper.
Try it on real-shape data.
Pick a query. We render what the API would return: 5 ranked results + a cited AI answer. (Scripted samples — go to Playground for live.)
How it works.
Three steps. One HTTP call.
Query
POST a natural-language question, a keyword search, or a long-form prompt. Optional freshness filter for time-bounded queries.
Ranked results
The agent routes to the best engine for the query shape — discovery, broad, or privacy. Returns the top N normalized to one schema.
Cited answer
Optional: a paragraph-length LLM answer with inline 12 citation chips linking back to the source URLs.
Anatomy of a response.
One round-trip. results[] for the links, ai_answer for the paragraph, citations[] to wire them together.
"query": "latest claude model pricing", "results": [ { "rank": 1, "title": "Anthropic — Claude pricing", "url": "https://anthropic.com/pricing", "snippet": "Claude Opus 4.7 — $15 / $75 per Mtok. Sonnet 4.6 — …" }, { "rank": 2, "title": "Reuters — Claude 4.7 launch coverage", "url": "https://reuters.com/tech/anthropic-claude-4-7-launch" } ], "ai_answer": "As of 2026, Claude Opus 4.7 is $15 / $75 per Mtok" "input/output [1][2]. Sonnet 4.6 lands at $3 / $15.", "citations": [ { "index": 1, "url": "https://anthropic.com/pricing" }, { "index": 2, "url": "https://reuters.com/tech/anthropic-claude-4-7-launch" } ], "meta": { "engine_used": "engine-discover", "ai_summary_used": true, "latency_ms": 612, "cost_saved_usd": 0.0076 }
AgentSearch vs the alternatives.
Why one call beats a stack of integrations.
| Capability | AgentSearch | Raw search API | Perplexity API |
|---|---|---|---|
| Citations linked to result URLs | Yes — inline | No | Yes |
| Search + answer in single round-trip | Yes | No (two calls) | Yes |
| Freshness filters (hour/day/week) | Yes | Sometimes | Limited |
| Fetch full-page markdown for any result | Yes (engine-fetch) | No | No |
| Public cost-saved meta field | Yes | No | No |
| Agent-tool-call shape (idempotent, async-safe) | Yes | Yes | Yes |
What you can build.
Four shapes we see most often.
Three promises.
Two lines to a cited answer.
Python or curl — whichever fits your stack.
import httpx r = httpx.post( "https://agentsearch.viktorarsov.com/v1/search", headers={"Authorization": "Bearer ask_…"}, json={"query": "claude 4.7 pricing", "include_ai_summary": True}, ).json() print(r["ai_answer"]) # → "Claude Opus 4.7 lists at $15 / $75 per Mtok [1][2]."
curl https://agentsearch.viktorarsov.com/v1/search \ -H "Authorization: Bearer ask_…" \ -H "Content-Type: application/json" \ -d '{"query":"claude 4.7 pricing", "include_ai_summary":true, "include_citations":true, "freshness":"week"}'
Ready to give your agent the web?
500 free queries to start. No card, no waitlist.
Pricing.
Pay for queries. No per-engine markup, no surprise overages.
Need more than 100k/mo? Talk to us about Enterprise.
Docs.
Six minutes. One endpoint to remember.
Auth
Every request needs a bearer key. Mint one on signup or in dashboard → keys.
Authorization: Bearer ask_xxxxxxxxxxxxxxxx
POST /v1/search
The only endpoint you'll probably ever need.
{
"query": "latest claude model pricing",
"freshness": "week", // auto | day | week | month | year
"max_results": 5, // 1 — 20
"include_ai_summary": true,
"include_citations": true
}Engines
The agent auto-routes to one of:
Errors
| Code | Meaning |
|---|---|
| 401 | Bad / missing API key |
| 402 | Monthly quota exhausted — upgrade plan |
| 429 | Rate limit (burst) — retry with jitter |
| 503 | All engines exhausted; transient, retry in 30s |
Get your API key.
500 free queries. No card. No waitlist.
Log in.
About AgentSearch.
We built AgentSearch because every agent-shaped app we work on ends up needing the same thing: read the live web, get back ranked results, and have something cited to hand to the LLM. Most teams glue together a search API, a fetcher, and an LLM call. We packaged it into one round-trip.
The agent picks the best engine for the query shape (discovery, broad, privacy) and returns results in a single normalized schema. Your code stays simple.
Contact.
Questions, weird use cases, enterprise plans — drop us an email.
hello@agentsearch.viktorarsov.comResponse time: typically within 24h on weekdays.
Changelog.
Status.
Engines
Privacy.
We log the query text, your tenant ID, latency, and cost — that's it. No payloads from upstream providers are retained past the response.
We do not sell, share, or use your queries to train models. Queries are persisted in our database for billing and usage analytics only.
You can request export or full deletion of your tenant data anytime at hello@agentsearch.viktorarsov.com.
Terms.
By using AgentSearch you agree to these terms. Use the service for legal purposes only. No scraping of restricted content. No abuse of the free tier.
We bill monthly. Quotas reset on the first of each calendar month. Overages return HTTP 402 — upgrade to Starter or Pro to continue.
We provide AgentSearch as-is, without warranty. We aim for 99.0% uptime but credits are at our discretion.