Stop babysitting scrapers. Start PayPerScraping.
One x402-powered API that figures out proxies, headers, JS, and premium domains for you. You hit our endpoint; we bring back the page.
No accounts. No API keys. Just pay per request with x402.
// One API call instead of 200 lines of scraping glue
async function main(): Promise<void> {
const signer = await createSigner("base-sepolia", privateKey);
const fetchWithPayment = wrapFetchWithPayment(fetch, signer);
const url = "https://payperscrape.com/api/scrape";
const response = await fetchWithPayment(url, {
method: "POST",
body: JSON.stringify({
url: "https://example.com"
})
});
const body = await response.json();
console.log(body);
const paymentResponseHeader =
response.headers.get("x-payment-response");
if (paymentResponseHeader) {
const paymentResponse =
decodeXPaymentResponse(paymentResponseHeader);
console.log(paymentResponse);
}
}Used by AI agents, indie hackers, and data goblins.
Built by devs who were tired of rewriting the same scraping stack every 3 months.
Scraping is a time sink
You know the drill. We killed the pain.
Rotating proxies and IP bans
You didn't become an engineer to manage residential IP pools.
JS-heavy, Cloudflare, "premium" sites
Some sites eat 5× more credits and still fail half the time.
Monitoring, retries, and surprise bills
You only notice when your scraping cluster is on fire or your invoice explodes.
PayPerScrape: one endpoint, per-request payments
Send any URL to PayPerScrape. We handle the scraping—proxies, retries, premium domain handling, JavaScript rendering—and bill via x402 per successful response.
Drop-in HTTP proxy for your agents and services.
Transparent usage & cost per domain.
Simple, LLM-friendly responses and error codes.
You send a URL
Optional hints for rendering mode
We pick the right strategy
Domain lookup, JS detection, routing
x402 handles payment
You get your page once settled
