Your AI agent can reason, plan, and generate text. But can it actually do things?
Most AI agents hit a wall when they need to interact with the real world: take a screenshot, look up a DNS record, scrape a webpage, or check a crypto price. Each capability requires a separate API, separate auth, separate error handling.
I built an API gateway that bundles 40+ tools behind one authentication token. Here's how to use it.
Get Started in 30 Seconds
No signup forms. No email verification. Just one POST request:
curl -X POST https://agent-gateway-kappa.vercel.app/api/keys/create
You get back an API key with 200 free credits:
{
"key": "gw_abc123...",
"credits": 200,
"expires_in": "30 days"
}
That's it. You're ready.
What Your Agent Can Do Now
Every endpoint follows the same pattern: GET /v1/{service}/{path} with your key in the Authorization: Bearer header.
IP Geolocation
curl "https://agent-gateway-kappa.vercel.app/v1/agent-geo/geo/8.8.8.8" \
-H "Authorization: Bearer YOUR_KEY"
{
"ip": "8.8.8.8",
"country": "US",
"timezone": "America/Chicago",
"latitude": 37.751,
"longitude": -97.822
}
DNS Lookup
curl "https://agent-gateway-kappa.vercel.app/v1/agent-dns/api/resolve/github.com" \
-H "Authorization: Bearer YOUR_KEY"
Returns A, AAAA, MX, TXT, NS — any record type.
Web Scraping
curl "https://agent-gateway-kappa.vercel.app/v1/agent-scraper/api/scrape?url=https://example.com&format=markdown" \
-H "Authorization: Bearer YOUR_KEY"
Scrapes any page and returns clean Markdown — perfect for feeding into an LLM context window.
Screenshots
curl "https://agent-gateway-kappa.vercel.app/v1/agent-screenshot/api/screenshot?url=https://example.com" \
-H "Authorization: Bearer YOUR_KEY" --output screenshot.png
Full-page PNG screenshots of any URL.
Crypto Prices
curl "https://agent-gateway-kappa.vercel.app/v1/crypto-feeds/api/prices?coins=bitcoin,ethereum,solana" \
-H "Authorization: Bearer YOUR_KEY"
Real-time prices for 500+ tokens with 24h change data.
Web Search
curl "https://agent-gateway-kappa.vercel.app/v1/agent-search/api/search?q=best%20rust%20web%20frameworks" \
-H "Authorization: Bearer YOUR_KEY"
Sandboxed Code Execution
curl -X POST "https://agent-gateway-kappa.vercel.app/v1/agent-coderunner/api/execute" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"code": "console.log(2 + 2)", "language": "javascript"}'
Run JavaScript or Python in a sandboxed environment.
The Full Service List
The gateway proxies 40+ services across these categories:
| Category | Services |
|---|---|
| Web | Scraper, Screenshot, Search, Short URL |
| Network | DNS Lookup, GeoIP, Email Verification |
| Crypto | Prices, Wallet, DeFi Trading, On-chain Analytics |
| Infrastructure | Code Runner, File Storage, Task Queue, Scheduler |
| AI/ML | LLM Proxy, Image Processing, Text Transform |
| Security | Poison Guard (address poisoning detection) |
Get the full list programmatically:
curl "https://agent-gateway-kappa.vercel.app/api/services" \
-H "Authorization: Bearer YOUR_KEY"
Integration Example: Python Agent
Here's a minimal agent that uses multiple tools:
import requests
API_KEY = "gw_your_key_here"
BASE = "https://agent-gateway-kappa.vercel.app"
headers = {"Authorization": f"Bearer {API_KEY}"}
# 1. Search for something
results = requests.get(
f"{BASE}/v1/agent-search/api/search",
params={"q": "best pizza in new york"},
headers=headers
).json()
# 2. Scrape the top result
top_url = results["results"][0]["url"]
page = requests.get(
f"{BASE}/v1/agent-scraper/api/scrape",
params={"url": top_url, "format": "markdown"},
headers=headers
).json()
# 3. Take a screenshot for visual verification
screenshot = requests.get(
f"{BASE}/v1/agent-screenshot/api/screenshot",
params={"url": top_url},
headers=headers
)
with open("evidence.png", "wb") as f:
f.write(screenshot.content)
print(f"Scraped {len(page['content'])} chars from {top_url}")
Credit Tracking
Every response includes an X-Credits-Remaining header so your agent always knows its budget:
HTTP/1.1 200 OK
X-Credits-Remaining: 187
X-Credits-Expires-In: 29 days
X-Gateway-Service: agent-geo
When credits run low, the response body includes a _credits object with topup instructions:
{
"ip": "8.8.8.8",
"country": "US",
"_credits": {
"remaining": 8,
"warning": "Almost out! Only 8 credits left.",
"topup_url": "https://api-catalog-tau.vercel.app/topup",
"pricing": "$1 USDC = 500 credits (~500 API calls)"
}
}
MCP Compatible
The gateway publishes standard discovery files:
-
Agent Card:
/.well-known/agent-card.json(A2A protocol) -
LLMs.txt:
/llms.txt(LLM-readable API docs) -
OpenAPI:
/openapi.json(Swagger-compatible spec)
If your agent framework supports MCP or A2A, it can discover and use the gateway automatically.
Pricing
| Tier | Credits | Cost |
|---|---|---|
| Free | 200 | $0 (no signup) |
| Paid | 500 per $1 | USDC on Base chain |
Most API calls cost 1 credit. That's $0.002 per request on the paid tier.
Try It Right Now
No auth needed for your first few requests:
# What's my IP?
curl https://agent-gateway-kappa.vercel.app/ip/json
# Resolve a domain
curl https://agent-gateway-kappa.vercel.app/v1/agent-dns/api/resolve/google.com
# Get crypto prices
curl https://agent-gateway-kappa.vercel.app/v1/defi-trading/prices
When you're ready for more: curl -X POST https://agent-gateway-kappa.vercel.app/api/keys/create
Full docs and interactive API catalog: api-catalog-tau.vercel.app
If you're building AI agents that need real-world capabilities, I'd love to hear what tools you need. Drop a comment or check out the interactive docs.
Top comments (0)