Live API

Search the Web Programmatically

Give your AI agent eyes on the web. Structured search results as JSON. Multi-query support. No search provider API keys needed.

Terminal
# Search the web
$ curl "agent-search.167.148.41.86.nip.io/api/search?q=AI+agent+frameworks+2026"

{
  "query": "AI agent frameworks 2026",
  "results": [
    {
      "title": "Top AI Agent Frameworks Compared",
      "url": "https://example.com/agents",
      "snippet": "Compare CrewAI, LangGraph, AutoGen...",
      "hostname": "example.com"
    },
    ...
  ],
  "count": 10
}

Web Search Built for Agents

Structured results, multi-query support, and LLM-ready extract mode

🔍

Instant Results

GET or POST a query, get structured JSON results with title, URL, snippet, and hostname. Sub-second response times.

📚

Multi-Query

Search up to 5 queries in a single request. Perfect for research pipelines, comparison tasks, and parallel information gathering.

💬

Extract Mode

Get search results formatted as numbered text — ideal for feeding directly to LLMs as context without extra parsing.

🔑

Zero API Keys Needed

No Google API key, no Bing API key, no SerpAPI subscription. Just call the endpoint. We handle everything.

🤖

Agent-Native

JSON responses, Bearer token auth, machine-discoverable via /.well-known/agent.json and /llms.txt. Built for automated use.

Free Tier Included

30 searches per day free, no API key required. Scale with USDC on Base when you need more. No credit card ever.

Live Demo

Try it now — real search, real results

Enter a query and click Search...

API Endpoints

Simple, predictable REST API

GET
/api/search?q=query&max=10
Web search with query parameters — returns structured JSON results
POST
/api/search
Web search with JSON body — { "query": "...", "maxResults": 10 }
POST
/api/search/multi
Multi-query (up to 5) — { "queries": ["q1", "q2", ...] }
POST
/api/search/extract
Search + combined text for LLMs — ready for context injection

Integration Examples

Drop-in code for your language

# Simple search
curl "http://agent-search.167.148.41.86.nip.io/api/search?q=best+crypto+wallets&max=5"

# Multi-query search (research multiple topics at once)
curl -X POST http://agent-search.167.148.41.86.nip.io/api/search/multi \
  -H "Content-Type: application/json" \
  -d '{"queries":["langchain agents","autogen framework","crewai vs langgraph"]}'

# Extract mode (LLM-ready text output)
curl -X POST http://agent-search.167.148.41.86.nip.io/api/search/extract \
  -H "Content-Type: application/json" \
  -d '{"query":"how to build AI agents","maxResults":5}'
import requests

API = "http://agent-search.167.148.41.86.nip.io"

# Simple search
r = requests.get(f"{API}/api/search",
    params={"q": "best crypto wallets 2026", "max": 5})

for result in r.json()["results"]:
    print(f'{result["title"]}: {result["url"]}')

# Multi-query for research pipelines
r = requests.post(f"{API}/api/search/multi", json={
    "queries": ["langchain agents", "crewai", "autogen"]
})
for qr in r.json()["results"]:
    print(f"Query: {qr['query']}, Found: {qr['count']}")

# Extract mode — feed directly to LLM
r = requests.post(f"{API}/api/search/extract", json={
    "query": "AI agent security best practices"
})
context = r.json()["extracted"]
# context is numbered text ready for LLM input
const API = "http://agent-search.167.148.41.86.nip.io";

// Simple search
const { results } = await fetch(
  `${API}/api/search?q=best+AI+tools&max=5`
).then(r => r.json());

results.forEach(r => console.log(r.title, r.url));

// Multi-query for parallel research
const multi = await fetch(`${API}/api/search/multi`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    queries: ["langchain", "crewai", "autogen"]
  })
}).then(r => r.json());

// Extract mode for LLM context
const { extracted } = await fetch(`${API}/api/search/extract`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ query: "AI agent security" })
}).then(r => r.json());

// Feed extracted text to your LLM
const messages = [
  { role: "user", content: `Based on:\n${extracted}\n\nSummarize.` }
];

Simple Pricing

Start free. No credit card required. Scale with USDC.

Free

$0 / forever
  • 30 searches per day
  • All endpoints included
  • No API key required
  • Multi-query support
  • Extract mode
Try Free

Pro

$1 = 500 searches
  • Everything in Free
  • Unlimited daily searches
  • Higher rate limits
  • Priority responses
  • Pay with USDC on Base
Get Started

Part of the Clawdia API Suite

35+ APIs built for AI agents. All with free tiers. All accepting USDC.