DEV Community

rtsubber
rtsubber

Posted on • Originally published at localeye.co

I Built an API That Lets AI Agents See the Web Like Humans Do

AI agents are powerful — but they're blind.

When an LLM tries to scrape a website, it gets blocked. Cloudflare, Datadome, PerimeterX — they all detect bots and serve challenge pages. Even when they don't, the agent only sees raw HTML. No JavaScript rendering. No visual context. No way to verify what's actually on the page.

Local-Eye fixes that.

What is Local-Eye?

Local-Eye is an API that gives AI agents three things they've never had together:

1. Residential IP Access

Every request routes through a real residential IP address. No datacenter blocks, no CAPTCHAs, no "Access Denied" pages. Your agent sees what a human sees.

curl -X POST https://api.localeye.co/v1/verify-web-presence \
  -H "X-API-Key: your_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.walmart.com"}'
Enter fullscreen mode Exit fullscreen mode

Returns clean text, HTTP status, bot-detection check, and response time — from a residential IP that won't get blocked.

2. GPU-Rendered Screenshots

Raw HTML is useless when pages need JavaScript. Local-Eye renders pages on an NVIDIA RTX 3090 using Playwright — real Chromium, real GPU, real pixels. Your agent doesn't just read the page. It sees it.

curl -X POST https://api.localeye.co/v1/visual-verify \
  -H "X-API-Key: your_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.walmart.com"}'
Enter fullscreen mode Exit fullscreen mode

Returns a screenshot (PNG), extracted text, page title, and viewport dimensions. Perfect for visual verification, comparison, or just confirming a page loaded correctly.

3. Phone Verification

Sometimes you need to ask a real human. Local-Eye can call any business phone number and ask a question — "Are you open right now?" "Do you have the O2 sensor in stock?" — and return a transcribed answer.

curl -X POST https://api.localeye.co/v1/phone-verify \
  -H "X-API-Key: your_key" \
  -H "Content-Type: application/json" \
  -d '{"business_phone": "+15125551234", "question": "Are you open right now?"}'
Enter fullscreen mode Exit fullscreen mode

Uses real phone calls via Twilio with AI-powered transcription. Your agent gets a definitive answer from the real world.

Why I Built This

I run a digital marketing agency. My AI agents needed to verify business listings, check competitor websites, and confirm business hours. Every scraping tool got blocked. Headless browsers were slow and expensive. And there was no way to verify information by actually calling a business.

So I built what I needed — and opened it up.

Pricing

Free tier: 5 requests/day. No credit card required. Just sign up and start building.

Tier Price Calls Includes
Free $0 5/day Text fetch only
Starter $29/mo 2,000/mo Text + Visual verify
Agency Pro $99/mo 10,000/mo All tiers + Phone verify
Enterprise $499/mo 50,000/mo Dedicated GPU + SLA

Pay-per-call also available: 100 calls for $12, 500 for $45, 2,000 for $149.

Built for AI Agents

Local-Eye is designed for autonomous use:

  • OpenAPI spec at /openapi.json (scoped by tier — free keys see 4 endpoints, paid see 7)
  • AI plugin manifest at /.well-known/ai-plugin.json for agent discovery
  • 402 payment headers — when a free-tier key hits a paid endpoint, the response includes upgrade_url and pay_per_call links so agents can self-upgrade
  • No CAPTCHAs, no email verification — agents can register and start using immediately
// 402 response  agents can follow the upgrade_url
{
  "error": "payment_required",
  "upgrade_options": [
    {"tier": "starter", "price": "$29/mo", "url": "https://buy.stripe.com/..."},
    {"tier": "pay_per_call", "price": "$12", "url": "https://buy.stripe.com/..."}
  ]
}
Enter fullscreen mode Exit fullscreen mode

Quick Start

  1. Get a free API key: localeye.co
  2. Make your first request:
import requests

response = requests.post(
    "https://api.localeye.co/v1/verify-web-presence",
    headers={"X-API-Key": "your_key"},
    json={"url": "https://news.ycombinator.com"}
)

print(response.json())
# {"status": "verified", "http_status": 200, "content_type": "text/html", ...}
Enter fullscreen mode Exit fullscreen mode

What's Next

  • Phone verification callbacks — webhook support for async phone call results
  • Structured data extraction — automatically parse business hours, prices, contact info
  • Batch endpoints — verify multiple URLs in one request
  • Custom headers — send cookies, auth tokens, user-agent strings

Try it free: localeye.co — 5 requests/day, no credit card needed.

Docs: api.localeye.co/docs

Questions? Drop a comment or reach me at info@brandbooststudio.co

Top comments (0)