One IP, one ban
Ten parallel tool calls from a single datacenter IP look exactly like a scraper. Rotate egress per request, or keep a stable identity when the flow needs it.
Residential, ISP, mobile and datacenter egress behind a single endpoint. Target a country, pin a session across a multi-step task, and cap spend — without writing proxy plumbing into every tool you ship.
Card required· Credentials provisioned after payment· HTTP, HTTPS & SOCKS5
An agent that retries blindly burns budget and context. The proxy layer is usually the part that decides whether an autonomous workflow finishes — or loops until it times out.
Ten parallel tool calls from a single datacenter IP look exactly like a scraper. Rotate egress per request, or keep a stable identity when the flow needs it.
Pricing, inventory and SERPs differ by country and city. Target egress at the request level instead of standing up a fleet of regional runners.
A broken retry loop is a billing incident. Set hard request and bandwidth ceilings per key, and let the proxy return a typed error before the agent spends it.
Switch product per request with a username flag. Same gateway, same auth, same error contract.
Real consumer devices for sites that block everything else.
Pay as you go. Volume tiers from 50 GB.
Datacenter speed with a residential-grade reputation.
Billed monthly. Cancel anytime.
Carrier-grade NAT for the hardest targets.
Best for social and app-store data.
Cheap, fast, predictable egress for friendly targets.
Start at $19/mo for a shared pool.
Everything below is designed around machine callers: deterministic strings, typed failures, and limits that fail closed.
Encode product, country, city and session in the username. No SDK, no side-channel config, no per-language proxy code.
user-country-de-session-ab12-product-resPin egress to one IP for up to 30 minutes so a login, a cart and a checkout all come from the same place.
session=a41f · 30 min TTLPer-key request and GB ceilings. Once the cap is hit the gateway returns 402 immediately instead of silently billing.
cap → 402 quota_exceededblocked, auth_failed, geo_unavailable, quota_exceeded. Your agent can branch on a code instead of parsing HTML.
X-AIP-ErrorDrop-in JSON schema for function calling, plus a documented MCP transport so any client can request egress as a tool.
function calling readyPer-key request and bandwidth counters exposed as JSON, so cost per task can be compared with task success rate.
GET /v1/usageNothing to install and no proxy SDK. A proxy URL is the whole integration, so it works with any HTTP client, browser automation stack or LLM tool runner.
# credentials from your dashboard
export U=user-country-de
export P=your-proxy-password
curl -x "http://$U:$P@gate.aiproxies.dev:8000" \
https://httpbin.org/ip
# pin one IP for the whole task
U=user-country-us-session-ab12
curl -x "http://$U:$P@gate.aiproxies.dev:8000" \
-H "X-AIP-Product: isp" https://httpbin.org/ip
import httpx
U = "user-country-gb-session-ab12"
P = "your-proxy-password"
proxy = f"http://{U}:{P}@gate.aiproxies.dev:8000"
with httpx.Client(proxy=proxy, timeout=30) as client:
r = client.get("https://example.com/pricing")
r.raise_for_status()
# branch on the typed error, not on the HTML
if r.headers.get("X-AIP-Error") == "blocked":
retry_with_new_session()
import { ProxyAgent } from "undici";
const agent = new ProxyAgent(
"http://" + process.env.PROXY_USER +
":" + process.env.PROXY_PASS +
"@gate.aiproxies.dev:8000"
);
const res = await fetch("https://example.com/api/plans", {
dispatcher: agent
});
console.log(res.status, res.headers.get("x-aip-ip"));
import { chromium } from "playwright";
const browser = await chromium.launch({
proxy: {
server: "http://gate.aiproxies.dev:8000",
username: "user-country-de-session-ab12",
password: process.env.PROXY_PASSWORD
}
});
const page = await browser.newPage();
await page.goto("https://example.com");
Pool sizes and latency below are placeholders in this repo until measured from the live pool — see the README before publishing numbers.
Country, region, city and ASN flags. Unavailable combinations fail fast with geo_unavailable rather than hanging until timeout.
Unlimited named sessions, 30-minute pinning, sticky per key by default. Sessions are released on completion or TTL expiry.
Unhealthy peers are drained from rotation automatically. Blocked requests are retried once on a fresh IP before returning an error.
Every plan is prepaid monthly. Your proxy credentials are provisioned as soon as the first payment clears — there is no free tier and no free trial.
For a single agent in production.
For fleets of agents and parallel tasks.
For committed volume and compliance reviews.
Billed monthly in USD, excluding tax, cancel anytime. Unused ISP IPs can be swapped once per month. Overage billed at list rate.
No. Every residential, ISP and mobile IP we allocate costs us money, so all plans are paid and there is no free tier or free trial.
Signing up creates an account and an API key, but your proxy credentials are only provisioned once the first payment clears. If you need to evaluate the network before committing, talk to sales about a paid pilot.
No request content is logged on residential or mobile traffic. We keep connection metadata — timestamp, key, exit IP, bytes, target hostname — for 24 hours, strictly for abuse handling and billing reconciliation, then delete it.
ISP and datacenter traffic keeps the same 24-hour window. Enterprise plans can extend retention for their own audit purposes, never ours.
Public web data collection, QA and monitoring, ad verification, price and inventory intelligence, and geo testing are all fine. Credential stuffing, carding, scraping authenticated accounts you do not own, bypassing access controls, and anything targeting minors are not.
The acceptable use policy is the binding version. We act on abuse reports within one business day.
Add -session-<id> to the username and every request with that id exits from the same IP until the 30-minute TTL expires or the session is released. Without a session flag, the gateway rotates per request.
Yes — that is the primary use case. The docs include a ready JSON tool schema and an egress_fetch example that returns status, final URL, body and the exit IP, so the model gets a deterministic result instead of a proxy string to reason about.
The gateway responds 402 with X-AIP-Error: quota_exceeded. No silent overage, no surprise invoice. Raise the cap from the dashboard and the same key resumes immediately.
Yes, on port 1080 for all products. HTTP and HTTPS proxies are on 8000. Both accept the same username flags and password.
Unused monthly plans are refundable within 14 days, pro-rated. Pay-as-you-go bandwidth is refundable for failed requests that were billed — open a ticket with the request ids and we credit them.
Choose a plan and check out. Your gateway credentials are provisioned as soon as payment clears — usually within a minute.