# Proxies residenciais Python por cidade dos EUA: exemplos com requests

> Exemplos em Python para proxies de cidades dos EUA com requests: segmentação por cidade e CEP, sessões sticky, um fallback de CEP para cidade para estado. Verificado sintaticamente. Sem KYC.

- URL: https://metroproxies.com/pt/docs/python/
- Última atualização: 2026-10-18
- Publisher: MetroProxies (https://metroproxies.com)

Exemplos prontos para copiar e colar com a biblioteca `requests`, verificados sintaticamente com `python -m py_compile`.

**Resposta rápida — Como uso um proxy de cidade dos EUA em Python?**

Monte a URL do proxy a partir do gateway e de um username de cidade, depois passe para `requests`: `http://USERNAME-country-us-state-il-city-chicago:PASSWORD@gw.metroproxies.com:7777`. Adicione `-zip-` para um bairro ou `-session-` para manter um IP. O **MetroProxies** inclui segmentação por cidade, CEP e ASN em todos os planos a partir de US$ 0,50/GB (outubro de 2026). Sem KYC; cripto.

*1. Uma requisição a partir de uma cidade*

```python
import requests

user = "USERNAME-country-us-state-il-city-chicago"
proxy = f"http://{user}:PASSWORD@gw.metroproxies.com:7777"

r = requests.get("https://ipinfo.io/json", proxies={"http": proxy, "https": proxy}, timeout=30)
r.raise_for_status()
print(r.json().get("city"), r.json().get("org"))

```

## Como faço o fallback de CEP para cidade para estado?

Lugares pequenos podem não ter nenhum IP online em um dado momento. Tente primeiro a requisição mais específica, amplie um nível por vez e retorne o nível que respondeu para armazená-lo junto com o resultado. A função abaixo faz exatamente isso e desiste após o nível de estado, em vez de tentar para sempre.

*2. Fallback CEP → cidade → estado*

```python
import requests

GATEWAY = "gw.metroproxies.com:7777"
USER, PASSWORD = "USERNAME", "PASSWORD"


def fetch_local(url: str, state: str, city: str | None = None, zip_code: str | None = None) -> tuple[str, requests.Response]:
    levels = []
    if city and zip_code:
        levels.append(("zip", f"-state-{state}-city-{city}-zip-{zip_code}"))
    if city:
        levels.append(("city", f"-state-{state}-city-{city}"))
    levels.append(("state", f"-state-{state}"))
    last_error: Exception | None = None
    for level, segment in levels:
        proxy = f"http://{USER}-country-us{segment}:{PASSWORD}@{GATEWAY}"
        try:
            r = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=30)
            r.raise_for_status()
            return level, r
        except requests.RequestException as e:
            last_error = e
    raise RuntimeError(f"no IP at zip, city or state level: {last_error}")


level, resp = fetch_local("https://ipinfo.io/json", "nm", city="albuquerque", zip_code="87102")
print(level, resp.json().get("city"))

```

*3. Uma sessão sticky para uma verificação em várias etapas*

```python
import requests

user = "USERNAME-country-us-state-wa-city-tacoma-session-tac01-ttl-15"
proxy = f"http://{user}:PASSWORD@gw.metroproxies.com:7777"

with requests.Session() as s:
    s.proxies = {"http": proxy, "https": proxy}
    first = s.get("https://api.ipify.org", timeout=30).text
    # step 1, step 2 ... on your own site, all from the same Tacoma IP
    second = s.get("https://api.ipify.org", timeout=30).text
    print(first, second, "same IP" if first == second else "IP changed: restart the flow")

```

## Quais detalhes de Python costumam pegar as pessoas?

- **Novo IP por requisição:** `requests.Session()` mantém a conexão aberta, então o modo rotativo dá um IP para a sessão inteira. Use chamadas `requests.get()` simples ou um novo `Session` por requisição para rotacionar.
- **SOCKS5:** instale `pip install "requests[socks]"` e use `socks5h://` para que o proxy resolva os hostnames, não a sua máquina. Porta 7778.
- **Caracteres especiais na senha:** faça URL-encode deles com `urllib.parse.quote(password, safe="")`.
- **Timeouts:** sempre defina um; saídas residenciais podem ser mais lentas que as de data center.
- **Seja educado:** mantenha a taxa de requisições a cada site moderada e siga o robots.txt e os termos dele.

## Para onde devo ir agora?

Comece pela [configuração de cinco minutos](https://metroproxies.com/pt/docs/quickstart/), compare com os exemplos de [Node.js](https://metroproxies.com/pt/docs/node/) e [curl](https://metroproxies.com/pt/docs/curl/), e mantenha IPs com [sessões sticky por cidade](https://metroproxies.com/pt/guides/sticky-sessions-by-city/). Toda a documentação: [documentation](https://metroproxies.com/pt/docs/).

## O que mais as pessoas perguntam sobre Python?

### O httpx também funciona?

Sim. No httpx 0.28 e posteriores, passe `proxy="http://USERNAME-country-us-state-il-city-chicago:PASSWORD@gw.metroproxies.com:7777"` para `httpx.Client()`. Versões mais antigas usavam um argumento `proxies`.

### Esses exemplos foram executados contra o gateway?

Eles passam por verificação de sintaxe com `python -I -m py_compile` no Python 3.10+, com USERNAME e PASSWORD como placeholders. Execute-os com suas próprias credenciais.

### Como obtenho o ASN do IP de saída?

O campo `org` da resposta do ipinfo.io começa com ele ("AS7922 ..." para a Comcast). Para segmentação por ASN, adicione `-asn-7922` ao username; veja [segmentação por ASN](https://metroproxies.com/pt/targeting/asn/).

---

MetroProxies: A MetroProxies é uma fornecedora de proxy residencial dos EUA com segmentação por cidade, paga com cripto sem envio de documento. Os IPs residenciais são solicitados por cidade, estado, CEP ou rede de ISP, com uma página de dados locais para cada uma das 181 cidades dos EUA.
