{"openapi":"3.1.0","info":{"title":"AproxPay","version":"1.0.0","description":"Residential proxy for autonomous AI agents. Pay per request or session pass in USDC on Base via x402 — no signup, no API keys.","contact":{"name":"AproxPay","email":"abuse@aproxpay.com","url":"https://aproxpay.com"},"x-logo":{"url":"https://aproxpay.com/favicon.ico"}},"servers":[{"url":"https://proxy.aproxpay.com","description":"AproxPay proxy API"}],"tags":[{"name":"proxy"},{"name":"residential"},{"name":"scraping"},{"name":"session"}],"paths":{"/v1/proxy":{"post":{"operationId":"post_v1_proxy","summary":"Residential proxy fetch (up to 2MB)","description":"Residential proxy fetch (up to 2MB). Returns HTTP 200 with the target body; read X-Target-Status for the origin status. Billed for the forwarded request, not for a 2xx origin response. For larger responses use /v1/proxy/large; at >17 requests a session pass is cheaper.","tags":["proxy","residential","scraping","session"],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.003"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"sticky":{"type":"boolean"},"sticky_duration":{"type":"integer","enum":[30,60]},"region":{"type":"string","minLength":2,"maxLength":2,"description":"Optional ISO 3166-1 alpha-2 exit country (see GET /v1/countries). No surcharge."}},"required":["url"]},"example":{"url":"https://example.com","sticky":true,"sticky_duration":30,"region":"us"}}}},"responses":{"200":{"description":"Payment settled; handler succeeded","content":{"application/json":{"schema":{"type":"object"},"example":{"note":"Target body bytes; read X-Target-Status for origin status"}}}},"402":{"description":"Payment Required — x402 challenge (PAYMENT-REQUIRED header / accepts)"}}}},"/v1/proxy/large":{"post":{"operationId":"post_v1_proxy_large","summary":"Residential proxy fetch (up to 5MB)","description":"Residential proxy fetch (up to 5MB). Returns HTTP 200 with the target body; read X-Target-Status for the origin status. Billed for the forwarded request, not for a 2xx origin response. For multi-step or larger traffic use /v1/session/heavy or /v1/session/gb.","tags":["proxy","residential","scraping","session"],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.015"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"sticky":{"type":"boolean"},"sticky_duration":{"type":"integer","enum":[30,60]},"region":{"type":"string","minLength":2,"maxLength":2,"description":"Optional ISO 3166-1 alpha-2 exit country (see GET /v1/countries). No surcharge."}},"required":["url"]},"example":{"url":"https://example.com","sticky":true,"sticky_duration":30,"region":"us"}}}},"responses":{"200":{"description":"Payment settled; handler succeeded","content":{"application/json":{"schema":{"type":"object"},"example":{"note":"Target body bytes; read X-Target-Status for origin status"}}}},"402":{"description":"Payment Required — x402 challenge (PAYMENT-REQUIRED header / accepts)"}}}},"/v1/session/heavy":{"post":{"operationId":"post_v1_session_heavy","summary":"Heavy session pass: ephemeral CONNECT credentials (60 min + 200MB)","description":"Heavy session pass: ephemeral CONNECT credentials (60 min + 200MB). For sustained volume use /v1/session/gb.","tags":["proxy","residential","scraping","session"],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.50"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"region":{"type":"string","minLength":2,"maxLength":2,"description":"Optional ISO 3166-1 alpha-2 exit country"}}},"example":{"region":"us"}}}},"responses":{"200":{"description":"Payment settled; handler succeeded","content":{"application/json":{"schema":{"type":"object"},"example":{"scheme":"https","host":"gw.aproxpay.com","port":443,"username":"s_exampleSessionId","password":"ephemeral-secret","expiresAt":"2026-07-17T13:00:00.000Z","byteCap":209715200}}}},"402":{"description":"Payment Required — x402 challenge (PAYMENT-REQUIRED header / accepts)"}}}},"/v1/session/gb":{"post":{"operationId":"post_v1_session_gb","summary":"GB session pass: dedicated sub-user CONNECT credentials (up to 120 min + 1GB)","description":"GB session pass: dedicated sub-user CONNECT credentials (up to 120 min + 1GB). Sticky IP may rotate after 120 min.","tags":["proxy","residential","scraping","session"],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"2.50"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"region":{"type":"string","minLength":2,"maxLength":2,"description":"Optional ISO 3166-1 alpha-2 exit country"}}},"example":{"region":"us"}}}},"responses":{"200":{"description":"Payment settled; handler succeeded","content":{"application/json":{"schema":{"type":"object"},"example":{"scheme":"https","host":"gw.aproxpay.com","port":443,"username":"s_exampleSessionId","password":"ephemeral-secret","expiresAt":"2026-07-17T14:00:00.000Z","byteCap":1073741824}}}},"402":{"description":"Payment Required — x402 challenge (PAYMENT-REQUIRED header / accepts)"}}}},"/v1/session/{id}/extend":{"post":{"operationId":"post_v1_session_id_extend","summary":"Extend a pooled session pass: +30 min and +50MB without changing IP","description":"Extend a pooled session pass: +30 min and +50MB without changing IP. Not available for /v1/session/gb (dedicated); buy a new gb pass instead.","tags":["proxy","residential","scraping","session"],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.15"}},"responses":{"200":{"description":"Payment settled; handler succeeded","content":{"application/json":{"schema":{"type":"object"},"example":{"sessionId":"exampleSessionId","expiresAt":"2026-07-17T13:00:00.000Z","byteCap":68157440}}}},"402":{"description":"Payment Required — x402 challenge (PAYMENT-REQUIRED header / accepts)"}}}},"/v1/session":{"post":{"operationId":"post_v1_session","summary":"Entry session pass: ephemeral CONNECT credentials (30 min + 15MB)","description":"Entry session pass: ephemeral CONNECT credentials (30 min + 15MB). Upsell: /v1/session/heavy or /v1/session/gb.","tags":["proxy","residential","scraping","session"],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.05"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"region":{"type":"string","minLength":2,"maxLength":2,"description":"Optional ISO 3166-1 alpha-2 exit country"}}},"example":{"region":"us"}}}},"responses":{"200":{"description":"Payment settled; handler succeeded","content":{"application/json":{"schema":{"type":"object"},"example":{"scheme":"https","host":"gw.aproxpay.com","port":443,"username":"s_exampleSessionId","password":"ephemeral-secret","expiresAt":"2026-07-17T12:30:00.000Z","byteCap":15728640}}}},"402":{"description":"Payment Required — x402 challenge (PAYMENT-REQUIRED header / accepts)"}}}},"/health":{"get":{"summary":"Health check","description":"Liveness probe. No payment required.","tags":["proxy","residential","scraping","session"],"security":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"status":"ok","timestamp":"2026-07-17T12:00:00.000Z"}}}}}}},"/v1/countries":{"get":{"summary":"List exit countries","description":"ISO 3166-1 alpha-2 exit countries accepted by POST /v1/proxy and POST /v1/session region (OFAC codes excluded). No payment required.","tags":["proxy","residential","scraping","session"],"security":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"countries":["us","de","gb"],"default":"any"}}}}}}},"/v1/session/{id}/close":{"post":{"summary":"Close session","description":"Invalidate ephemeral CONNECT credentials early. Basic-auth with session username/password. Upstream sub-user is not revoked. No payment required.","tags":["proxy","residential","scraping","session"],"security":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"closed":true,"sessionId":"exampleSessionId"}}}}}}}},"components":{"securitySchemes":{"x402":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"x402 payment proof. Obtain a 402 challenge first, sign the EIP-3009 transfer, retry with PAYMENT-SIGNATURE (or X-PAYMENT)."}}}}