AgentSearch
v1 · live web search API

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.

Production-ready ~600 ms median latency 99.0% SLO
POST /v1/search

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.

step 01

Query

POST a natural-language question, a keyword search, or a long-form prompt. Optional freshness filter for time-bounded queries.

step 02

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.

step 03

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.

200 OK · application/json
"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.

CapabilityAgentSearchRaw search APIPerplexity API
Citations linked to result URLsYes — inlineNoYes
Search + answer in single round-tripYesNo (two calls)Yes
Freshness filters (hour/day/week)YesSometimesLimited
Fetch full-page markdown for any resultYes (engine-fetch)NoNo
Public cost-saved meta fieldYesNoNo
Agent-tool-call shape (idempotent, async-safe)YesYesYes

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.

python · httpx
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
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.

header
Authorization: Bearer ask_xxxxxxxxxxxxxxxx

POST /v1/search

The only endpoint you'll probably ever need.

request body
{
  "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

CodeMeaning
401Bad / missing API key
402Monthly quota exhausted — upgrade plan
429Rate limit (burst) — retry with jitter
503All engines exhausted; transient, retry in 30s

Get your API key.

500 free queries. No card. No waitlist.

Already have one? Log in.

Log in.

New here? Get an API key.

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.

~600 ms
median latency
99.0%
uptime SLO
1 call
search + answer

Contact.

Questions, weird use cases, enterprise plans — drop us an email.

hello@agentsearch.viktorarsov.com

Response time: typically within 24h on weekdays.

Changelog.

    Status.

    Loading…

    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.

    404 · NOT_FOUND

    Off the graph.

    This route doesn't exist. The agent looked.

    ← Back home
    payment ok

    You're upgraded.

    Your new plan is active. Quota refreshed.

    Open dashboard →
    checkout canceled

    No changes.

    Your plan stayed the same. Try again whenever.

    Back to pricing