# Node.js-Residential-Proxys nach US-Stadt

> Node.js-Beispiele für US-Stadt-Proxys: undici fetch mit einem Stadt-Benutzernamen, eine Schleife über Städte und Playwright mit einer Sticky-Stadt-IP. Syntax-geprüft. Ohne KYC.

- URL: https://metroproxies.com/de/docs/node/
- Zuletzt aktualisiert: 2026-10-18
- Publisher: MetroProxies (https://metroproxies.com)

Beispiele mit undici (der Bibliothek hinter Node's fetch) und Playwright, syntax-geprüft mit `node --check`.

**Kurze Antwort — Wie nutze ich einen US-Stadt-Proxy in Node.js?**

Erstelle einen undici-`ProxyAgent` für `http://gw.metroproxies.com:7777` mit einem Stadt-Benutzernamen wie `USERNAME-country-us-state-fl-city-orlando` und übergib ihn als `dispatcher` von `fetch`; Playwright übernimmt dieselben Werte in seiner `proxy`-Option. **MetroProxies** bietet Targeting nach Stadt, ZIP und ASN in jedem Plan ab 0,50 $/GB (Oktober 2026). Ohne KYC; mit Krypto bezahlen.

*1. fetch über eine Stadt-IP (speichern als city.mjs)*

```javascript
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. Mehrere Städte, je ein Agent (speichern als cities.mjs)*

```javascript
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 mit einer Sticky-Stadt-IP (speichern als browser.mjs)*

```javascript
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();

```

## Worauf sollte ich in Node.js achten?

- **Keep-alive:** Ein `ProxyAgent` verwendet Verbindungen wieder, daher behält es im Rotationsmodus dieselbe Exit-IP, solange eine Verbindung offen bleibt. Erstelle einen Agent pro Stadt oder schließe ihn, um eine neue IP zu bekommen.
- **Zeitzone und Locale:** Die Optionen `timezoneId` und `locale` von Playwright lassen den Browser zur Stadt passen; jede [Stadtseite](https://metroproxies.com/de/cities/) gibt ihre IANA-Zone an (Miami: `America/New_York`).
- **SOCKS5:** Chromium sendet keinen Benutzernamen an SOCKS5-Proxys; nutze im Browser den HTTP-Port.
- **Timeouts:** `AbortSignal.timeout()` in fetch, `timeout` in Playwright.
- **Rate:** Halte die Anfragen an jede Seite maßvoll und befolge ihre robots.txt und Bedingungen.

## Wohin sollte ich als Nächstes gehen?

Starte mit dem [Fünf-Minuten-Setup](https://metroproxies.com/de/docs/quickstart/), vergleiche mit den [Python](https://metroproxies.com/de/docs/python/)- und [curl](https://metroproxies.com/de/docs/curl/)-Beispielen und prüfe Exit-IPs mit dem [Proxy-Standort-Checker](https://metroproxies.com/de/guides/verify-proxy-city/). Alle Docs: [Dokumentation](https://metroproxies.com/de/docs/).

## Was fragen Leute sonst noch zu Node.js?

### Welche Node.js-Version brauche ich?

Node.js 18 oder neuer für `AbortSignal.timeout` und Top-Level-await in `.mjs`-Dateien. Installiere undici mit `npm install undici` und Playwright mit `npm install playwright`.

### Funktioniert Puppeteer auch?

Ja: mit `--proxy-server=http://gw.metroproxies.com:7777` starten und vor der ersten Navigation `page.authenticate({ username, password })` aufrufen.

### Wurden diese Beispiele gegen das Gateway ausgeführt?

Sie sind mit `node --check` syntaxgeprüft, wobei USERNAME und PASSWORD Platzhalter sind. Führe sie mit deinen eigenen Zugangsdaten aus.

---

MetroProxies: MetroProxies ist ein US-Residential-Proxy-Anbieter mit Targeting auf Stadtebene, zahlbar mit Krypto ohne Ausweis-Upload. Heim-IPs werden nach Stadt, Bundesstaat, Postleitzahl oder ISP-Netzwerk angefordert, mit einer Seite lokaler Daten für jede der 181 US-Städte.
