Sem KYC — sem documento de identidade, sem selfie, sem documentos · Segmentação por cidade, estado e CEP em todos os planos
Idioma: Português
Comece agora

Docs · Node.js 18+

proxies residenciais Node.js por cidade dos EUA

Exemplos com undici (a biblioteca por trás do fetch do Node) e Playwright, verificados sintaticamente com node --check.

Última atualização:

Resposta rápida

Como uso um proxy de cidade dos EUA no Node.js?

Crie um undici ProxyAgent para http://gw.metroproxies.com:7777 com um usuário de cidade como USERNAME-country-us-state-fl-city-orlando, e passe-o como dispatcher do fetch; o Playwright aceita os mesmos valores na sua opção proxy. A 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. fetch através de um IP de cidade (salve como city.mjs)
import { ProxyAgent, fetch } from 'undici';

const user = 'USERNAME-country-us-state-fl-city-orlando';
const agent = new ProxyAgent({
  uri: 'http://gw.metroproxies.com:7777',
  token: 'Basic ' + Buffer.from(`${user}:PASSWORD`).toString('base64'),
});

const res = await fetch('https://ipinfo.io/json', { dispatcher: agent, signal: AbortSignal.timeout(30000) });
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());
await agent.close();
2. Várias cidades, um agent para cada (salve como cities.mjs)
import { ProxyAgent, fetch } from 'undici';

const cities = [['fl', 'orlando'], ['fl', 'tampa'], ['ga', 'atlanta']];

for (const [state, city] of cities) {
  const user = `USERNAME-country-us-state-${state}-city-${city}`;
  const agent = new ProxyAgent({
    uri: 'http://gw.metroproxies.com:7777',
    token: 'Basic ' + Buffer.from(`${user}:PASSWORD`).toString('base64'),
  });
  try {
    const res = await fetch('https://ipinfo.io/json', { dispatcher: agent, signal: AbortSignal.timeout(30000) });
    if (!res.ok) throw new Error(`HTTP ${res.status}`);
    const info = await res.json();
    console.log(city, '->', info.ip, info.city, info.region);
  } catch (err) {
    console.log(city, 'failed:', err.message);
  } finally {
    await agent.close();
  }
}
3. Playwright com IP de cidade fixo (salve como browser.mjs)
import { chromium } from 'playwright';

const browser = await chromium.launch({
  proxy: {
    server: 'http://gw.metroproxies.com:7777',
    username: 'USERNAME-country-us-state-fl-city-miami-session-mia01-ttl-15',
    password: 'PASSWORD',
  },
});
const context = await browser.newContext({ timezoneId: 'America/New_York', locale: 'en-US' });
const page = await context.newPage();
await page.goto('https://ipinfo.io/json', { timeout: 60000 });
console.log(await page.textContent('body'));
await browser.close();

Com o que devo me preocupar no Node.js?

  • Keep-alive: um ProxyAgent reutiliza conexões, então no modo rotativo ele mantém o mesmo IP de saída enquanto uma conexão fica aberta. Crie um agent por cidade, ou feche-o, para obter um novo IP.
  • Fuso horário e locale: as opções timezoneId e locale do Playwright fazem o navegador corresponder à cidade; cada página de cidade informa seu fuso IANA (Miami: America/New_York).
  • SOCKS5: o Chromium não envia usuário para proxies SOCKS5; use a porta HTTP nos navegadores.
  • Timeouts: AbortSignal.timeout() no fetch, timeout no Playwright.
  • Ritmo: mantenha as requisições a cada site moderadas e siga o robots.txt e os termos dele.

Para onde devo ir agora?

Comece pela configuração em cinco minutos, compare com os exemplos em Python e curl, e verifique as saídas com o verificador de localização do proxy. Toda a documentação: documentação.

O que mais as pessoas perguntam sobre Node.js?

Qual versão do Node.js eu preciso?

Node.js 18 ou superior para AbortSignal.timeout e top-level await em arquivos .mjs. Instale o undici com npm install undici e o Playwright com npm install playwright.

O Puppeteer também funciona?

Sim: inicie com --proxy-server=http://gw.metroproxies.com:7777 e chame page.authenticate({ username, password }) antes da primeira navegação.

Esses exemplos foram executados contra o gateway?

Eles passam por verificação de sintaxe com node --check, com USERNAME e PASSWORD como placeholders. Execute-os com suas próprias credenciais.

1 GB US$ 1,50 · sem KYC

Comece agora