DEV Community

HAL GOBVAN
HAL GOBVAN

Posted on Originally published at urltamer.com

Paid Form + Email Extraction APIs for AI Agents (x402, $0.0005 USDC/call)

Two more paid x402 endpoints shipped to URL Tamer today. Same $0.0005 USDC/call on Base mainnet. Both aimed at agents that need to enumerate interactive elements and contact paths without parsing the HTML themselves.

The endpoints

  • GET /api/forms?url= — extracts every <form> on the page: action URL (resolved against the page origin), HTTP method, enctype, all inputs (name/type/required/placeholder), submit buttons, plus a heuristic form-type guess (search / login / comment / newsletter / email-capture / other). Useful for: agents that need to find the login form, the contact form, or the search box before navigating deeper.

  • GET /api/email?url= — extracts emails (including obfuscated [at] / [dot] patterns), mailto: links, contact-page links, and social profile links (Twitter/X, LinkedIn, GitHub, Facebook, Instagram, YouTube, Telegram, Discord). Returns up to 30 social + 30 contact links per response. Filters common false positives (image filenames, example.com placeholders). Useful for: outreach agents that need to find the right contact for a domain.

Why agents use these

Two patterns we keep seeing:

  1. "Find the form first" — agents that automate browsing (form-fill, scraping flows, testing) need to discover what forms exist on a page before interacting. Doing this via a generic metadata endpoint misses the inputs; doing it via headless browser is too expensive at scale. /api/forms returns the full schema in one cheap call.

  2. "Find the right contact" — sales/marketing/research agents need emails + social handles per domain. Pages rarely expose a single mailto: — most obfuscate emails, hide them behind contact-page links, or push users to DMs. /api/email handles all three patterns in one parse.

How to call

# Forms
curl "https://epson-rpm-america-satisfy.trycloudflare.com/api/forms?url=https://stripe.com/" \
  -H "X-PAYMENT: <your x402 payment signature>"

# Returns:
# {
#   "form_count": 1,
#   "forms": [{
#     "action_resolved": "https://stripe.com/",
#     "method": "GET",
#     "enctype": "application/x-www-form-urlencoded",
#     "inputs": [{ "name": "query", "type": "textarea", "required": false, "placeholder": "" }],
#     "submit_buttons": [{ "type": "submit", "text": "" }],
#     "form_type_guess": "other"
#   }],
#   "findings": ["found_1_forms", "form_types=other:1"]
# }

# Emails + contacts
curl "https://epson-rpm-america-satisfy.trycloudflare.com/api/email?url=https://news.ycombinator.com/" \
  -H "X-PAYMENT: <your x402 payment signature>"

# Returns:
# {
#   "email_count": 1,
#   "emails": ["hn@ycombinator.com"],
#   "mailto_links": [{ "email": "hn@ycombinator.com", "text": "" }],
#   "social_links": [<9 entries>],
#   "findings": ["found_1_emails", "found_1_mailto_links", "found_9_social_links"]
# }
Enter fullscreen mode Exit fullscreen mode

The wider catalog

URL Tamer now ships 22 paid x402 routes on Base mainnet, ranging from $0.0005 to $0.005 USDC per call. All return HTTP 402 with a proper payment-required envelope when called without an X-PAYMENT header. All accept the standard x402 payment spec via pay.openfacilitator.io.

Full catalog: GET /.well-known/x402 or GET /llms.txt.

The wallet on the receiving end is 0xCa0a6c6Aa7A8F0D5893636CF166Ea2b44fb6500c — same wallet for every route. Same payTo field across all 22 endpoints. Discovery surface: 402index.io.

Top comments (0)