Log in Sign up
AI tools

Proxies for AI tools that keep your API calls flowing

Working with AI at volume means many API calls and pages, often from a region where the service is available. Advanced.name gives IPv4 pools on one link, authorised by your server IP, so your ChatGPT, Claude or Midjourney workload runs from the country you need and spreads across addresses instead of one.

  • a region where the service is up
  • up to 5,000 threads
  • traffic not counted
Dark workspace with an AI chat dashboard of bubbles and a network graph
AI tools

What AI work needs and what the package gives

Two things decide an AI pipeline: reaching the service and not stacking every call on one address.

What the task needsWhat the package gives

Access from a region where the API answers

World MIX, Europe, CIS and China pools; pick the country from the CSV export

Many addresses for high call volume

From 5,000 to 50,000 IPs per package, about a third replaced daily

Threads for parallel requests and parsing

500 to 5,000 threads depending on the package, all protocols on one port

No meter on prompts, images and pages

Traffic is not counted on any unlimited package

Unlimited proxies

Pick the package for your call volume

Region, package, term. The price is per one authorised IP; each extra IP adds 10%.

Region
Term
Authorized IPs
1 +10% per IP above the first
Recommended for this task
$0
  • Proxies in package
  • Threads
  • Authorized IPs1
  • ProtocolsHTTP / SOCKS5
All 13 packages in the price table

Three steps from key to first response

Authorise your server IP

The list opens only from IPs you add in the dashboard. Your API key stays in your code; the proxy just carries the connection.

Choose the region

Pick the country from the CSV export so the service sees a local, allowed address. World MIX covers the widest pool.

Send through rotating proxies

Load the list, take the next address per call and retry on another when one is slow. The script below does this with the standard library.

Ready client: call a chat API through rotating proxies

Set API_URL, your API_KEY and MODEL, put one prompt per line in prompts.txt. Each call goes through the next proxy and retries on another when it is slow; answers land in a CSV. Use it only with keys and services you are authorised for. Check the pool with the proxy checker.

CSV export link from your dashboard
ISO code where the service is available, or "" for the whole pool
OpenAI-compatible endpoint you may use
your own key; it stays in this file, never in the proxy
model name the endpoint expects
one user prompt per line
prompt;answer;proxy is written here
Values come from the form; copy or download the ready file.
Show the script code
Python 3.8+ · ai.py
#!/usr/bin/env python3
"""Rotating-proxy client for OpenAI-compatible chat APIs (Advanced.name proxies).

Sends each prompt from a file to a chat API through a different proxy, with
retries, and writes the answers to a CSV. Use it only with an API key and a
service you are authorised for. Standard library only. Run: python3 ai_calls.py
"""

# ================================ CONFIG ====================================
CSV_URL = "https://get.advanced.name/YOUR_LIST_ID.csv"  # CSV export link from your dashboard
COUNTRY = ""            # ISO code where the service is available, or "" for the whole pool
MIN_SPEED = 3
API_URL = "https://api.openai.com/v1/chat/completions"  # OpenAI-compatible endpoint you may use
API_KEY = "YOUR_API_KEY"    # your own key; it stays in this file, never in the proxy
MODEL = "gpt-4o-mini"       # model name the endpoint expects
PROMPTS_FILE = "prompts.txt"     # one user prompt per line
OUT_FILE = "answers.csv"         # prompt;answer;proxy is written here
THREADS = 20
TIMEOUT = 30
RETRIES = 3
# ============================================================================

import csv
import io
import itertools
import json
import sys
import threading
import urllib.request
from concurrent.futures import ThreadPoolExecutor, as_completed

COL_IP, COL_PORT, COL_COUNTRY, COL_SPEED = 0, 1, 2, 3


def load_proxies():
    raw = urllib.request.urlopen(CSV_URL, timeout=30).read().decode("utf-8", "replace")
    pool = []
    for row in csv.reader(io.StringIO(raw), delimiter=";"):
        if len(row) <= COL_SPEED or not row[COL_PORT].strip().isdigit():
            continue
        if COUNTRY and row[COL_COUNTRY].strip().upper() != COUNTRY.upper():
            continue
        if int(row[COL_SPEED] or 0) < MIN_SPEED:
            continue
        pool.append(row[COL_IP].strip() + ":" + row[COL_PORT].strip())
    return pool


def ask(prompt, proxy):
    body = json.dumps({"model": MODEL, "messages": [{"role": "user", "content": prompt}]}).encode()
    handler = urllib.request.ProxyHandler({"http": "http://" + proxy, "https": "http://" + proxy})
    req = urllib.request.Request(API_URL, data=body, method="POST", headers={
        "Authorization": "Bearer " + API_KEY, "Content-Type": "application/json"})
    data = json.loads(urllib.request.build_opener(handler).open(req, timeout=TIMEOUT).read())
    return data["choices"][0]["message"]["content"].strip()


def main():
    proxies = load_proxies()
    if not proxies:
        sys.exit("No proxies for COUNTRY=%r." % COUNTRY)
    with open(PROMPTS_FILE, encoding="utf-8") as fh:
        prompts = [line.strip() for line in fh if line.strip() and not line.startswith("#")]
    print("proxies: %d (%s), prompts: %d, threads: %d" % (len(proxies), COUNTRY or "any", len(prompts), THREADS))

    rotation = itertools.cycle(proxies)
    lock = threading.Lock()

    def run(prompt):
        for _ in range(RETRIES):
            with lock:
                proxy = next(rotation)
            try:
                return prompt, ask(prompt, proxy), proxy
            except Exception:
                continue
        return prompt, "error: unreachable", ""

    rows = []
    with ThreadPoolExecutor(max_workers=THREADS) as pool:
        for fut in as_completed([pool.submit(run, p) for p in prompts]):
            prompt, answer, proxy = fut.result()
            rows.append((prompt, answer, proxy))
            print("%-40s %s" % (prompt[:40], (answer[:50] + "...") if len(answer) > 50 else answer))

    with open(OUT_FILE, "w", encoding="utf-8", newline="") as out:
        writer = csv.writer(out, delimiter=";")
        writer.writerow(["prompt", "answer", "proxy"])
        writer.writerows(rows)
    print("written %s (%d rows)" % (OUT_FILE, len(rows)))


if __name__ == "__main__":
    main()
Setup

Wiring proxies into an AI pipeline

OpenAI, Anthropic and HTTP clients

Most SDKs and HTTP clients take a proxy per request. In Python with requests set proxies={'http': 'http://ip:port', 'https': 'http://ip:port'}; the OpenAI and Anthropic SDKs read the standard HTTPS_PROXY variable, so exporting it or passing an http client with the proxy is enough. HTTP and SOCKS share one port, so http:// covers both.

Keep your API key in the code or an env var, authorise the server IP in the dashboard, and let the list rotate per call. Retry a slow request on the next address instead of blocking on it.

Region access and parsing AI pages

When a service is only up in some countries, pick those from the CSV export so every call leaves from an allowed address. For scraping AI-generated pages rather than an API, drive the pool the same way you would a scraper.

Filter the pool first with the Socks List Processor; for a light trial the free proxy list is enough to test the wiring.

In practice

The pool behind an AI pipeline

Four habits for a steady AI pipeline

  1. Use proxies only for services and keys you are authorised to use; the pool is a clean connection, not a way around a provider's rules.
  2. Match the region to where the service is available, and keep one address for a whole session when the API expects consistency.
  3. Give generative calls a 20 to 30 second timeout and retry on the next address instead of waiting.
  4. Log the proxy and the status with every call, so a slow region shows up in the data.

Per-GB plans for this task

FAQ

Questions about this task

Can I reach the OpenAI or Claude API through these?
Yes, with your own API key and where access from the region is allowed. The proxy carries the request; the key and the account stay yours.
Which region for AI services?
Pick a country where the service is available from the CSV export. World MIX gives the widest pool for general access.
Do the proxies handle large responses and images?
Traffic is not counted, so long completions and generated images are fine. Give generative calls a longer timeout.
How many parallel calls can I run?
As many as the package threads allow: 500 on package #1, 5,000 on #6. Resi Core and Resi Prime have no thread limit. Keep within the API's own rate limits per key.
Unlimited package or Resi for AI work?
For API work with a key take a package: traffic is not counted and you get up to 5,000 threads. Resi Prime fits when you work in a service web app under an account and the service expects one steady IP from a specific country.
Plans for this task

Which plan to take for AI work

API calls at volume cost less on an unlimited package. Keep a service web app where you log in to your account on a residential address.

Unlimited proxies

API calls at volumeBest fit

Package #3 · World MIX · 20,000 IP · 2,000 threads

Traffic is not counted, so long completions and generated images add nothing to the bill. Calls spread across thousands of addresses instead of hitting one IP.

$700 per monthor $2.70 per hour

Resi Prime

An account in the web app

30M+ IPs · 220 countries · no thread limit

The ChatGPT or Midjourney web app sees one home IP while the exit device is online. You set the session length, 3 minutes to 24 hours, and choose the country or city in the string.

from $1.39 per GB1 GB for $2.29

Resi Core

Sites with a captcha

2M+ IPs · 200+ countries · no thread limit

When a service answers package addresses with a captcha, Core gives a home IP from the right country on every request. An API call weighs kilobytes, so a gigabyte lasts.

from $0.49 per GB1 GB for $0.85

Run your AI pipeline from the right region

Pick a package, take the free test hour, send your calls through the live pool.

Pricing Grab a free hour