Zum Inhalt springen
Anmelden Registrieren

IP Info (kostenlose IP-Geolokalisierungs-API)

IP Info ist eine kostenlose IP-Geolokalisierungs- und ASN-API, die von Shifter betrieben wird. Eine GET-Anfrage liefert Land, Region, Stadt, Koordinaten, Zeitzone, ISP, ASN und Verbindungstyp einer IP-Adresse als JSON zurück. Es ist keine Anmeldung, kein API-Schlüssel und kein Abonnement erforderlich.

Der Dienst nutzt dieselbe IP-Standort- und Netzwerkdatenbank, die Shifter auch für die eigenen Proxy-Pools verwendet. Wenn Sie also eine Shifter-Exit-IP mit IP Info prüfen, sehen Sie den Standort genau so, wie ihn unser Netzwerk sieht.

AnfrageRückgabe
GET http://ip-info.com/jsonDie IP, von der die Anfrage gestellt wurde (Ihr Server oder Ihr Proxy-Exit, wenn über einen Proxy gesendet)
GET http://ip-info.com/json?ip=8.8.8.8Eine bestimmte öffentliche IPv4- oder IPv6-Adresse
GET http://ip-info.com/8.8.8.8/jsonDieselbe Abfrage, als Pfad-Variante

HTTP (http://ip-info.com/json) funktioniert ebenfalls und wird nicht umgeleitet. Verwenden Sie HTTPS bei Webseiten, um Mixed-Content-Blockierungen zu vermeiden. Antworten erlauben Cross-Origin-GET, sodass Browser-Code die API direkt aufrufen kann.

Terminal-Fenster
curl --max-time 10 "http://ip-info.com/json?ip=94.204.59.232"
{
"ip": "94.204.59.232",
"city": "Motor City",
"region": "Dubai",
"region_code": "DU",
"country": "AE",
"country_name": "United Arab Emirates",
"continent": "AS",
"loc": "25.0459,55.241",
"latitude": 25.0459,
"longitude": 55.241,
"postal": null,
"timezone": "Asia/Dubai",
"asn": 15802,
"as_name": "Emirates Integrated Telecommunications Company PJSC",
"isp": "Emirates Integrated Telecommunications Company PJSC",
"org": "Emirates Integrated Telecommunications Company",
"connection_type": "Corporate",
"user_type": "business",
"is_anycast": false
}

Die tatsächliche Antwort enthält 29 Felder; das obige Beispiel zeigt die Felder, die die meisten Integrationen auslesen. Jedes Feld ist immer vorhanden, und ein Wert, den die Datenbank nicht kennt, wird als null zurückgegeben.

Senden Sie die Anfrage ohne Argument über Ihren Proxy. Die Antwort von IP Info beschreibt die Exit-IP, sodass Sie prüfen können, ob das Land, die Stadt oder die ASN, die Sie angefordert haben, tatsächlich verwendet wurde.

Terminal-Fenster
curl --max-time 15 \
--proxy http://p.shifter.io:443 \
--proxy-user "customer-USERNAME-country-us-city-new_york:PASSWORD" \
http://ip-info.com/json

Vergleichen Sie country (zweistelliger ISO-3166-Code) mit dem angeforderten Land und asn (eine reine Zahl ohne AS-Präfix) mit dem anvisierten Netzwerk. Die Benutzernamen-Flags finden Sie unter Geo-Targeting.

IP Info erfordert keinen Authentifizierungsablauf, sodass ein Agent es wie jeden anderen HTTP-Endpunkt aufrufen kann. Der Dienst veröffentlicht maschinenlesbare Beschreibungen, die Agenten und Tool-Entwickler direkt laden können:

Es wird kein MCP-Server benötigt. Wenn Ihr Framework Funktions- oder Tool-Definitionen akzeptiert, genügt diese:

{
"name": "ip_lookup",
"description": "Approximate geolocation and network (ASN, ISP) for a public IP address. Omit ip to look up the agent's own network exit.",
"input_schema": {
"type": "object",
"properties": {
"ip": { "type": "string", "description": "Public IPv4 or IPv6 literal. Leave empty for the caller's exit IP." }
}
}
}

Implementieren Sie es als GET http://ip-info.com/json, wenn ip leer ist, und andernfalls als GET http://ip-info.com/json?ip=<URL-encoded ip>.

Geben Sie dem Agenten zusammen mit dem Tool diese Regeln vor:

  1. Ein Aufruf ohne ip beschreibt den eigenen Server oder Proxy-Exit des Agenten, nicht den menschlichen Nutzer. Um die IP eines Nutzers nachzuschlagen, muss dem Agenten diese IP explizit übergeben werden.
  2. Verwenden Sie country für Ländervergleiche und asn für Netzwerkprüfungen.
  3. Behandeln Sie null als unbekannt. Füllen Sie niemals ein fehlendes Feld selbst aus.
  4. Der Standort ist ungefähr, und IP Info ist keine VPN- oder Proxy-Erkennung.

Typische Anwendungsfälle für Agenten: bestätigen, dass sich der Proxy eines Browsing-Agenten im richtigen Land befindet, bevor er eine lokalisierte Seite scrapt; erfasste Daten mit dem Exit-Standort kennzeichnen, von dem aus sie abgerufen wurden; und Log- oder Anmelde-IPs mit Land und ASN anreichern.

Fehler werden als JSON mit einem stabilen Code zurückgegeben:

{ "error": { "code": "invalid_ip", "message": "Supply a literal IPv4 or IPv6 address." } }
StatusCodeBedeutung
400invalid_ipFehlerhafte, private, reservierte oder anderweitig nicht öffentliche Eingabe, oder widersprüchliche Parameter
404ip_not_foundKein Eintrag für diese IP in der aktiven Datenbank
405method_not_allowedVerwenden Sie GET
503database_unavailableVorübergehend; mit Backoff wiederholen
504timeoutVorübergehend; mit Backoff wiederholen

Korrigieren Sie 4xx-Eingaben, bevor Sie es erneut versuchen. Bei 503, 504 und Verbindungsfehlern wiederholen Sie den Versuch mit einem kurzen, begrenzten Backoff (zum Beispiel 1, 2 und 4 Sekunden) und melden den Fehler anschließend, wenn er weiterhin auftritt.

  • Kostenlos, kein Kontingent. Es gibt kein Kontingent pro Schlüssel oder pro App und keinen API-Schlüssel. Es handelt sich um einen gemeinsam genutzten Dienst mit begrenzter Kapazität: Stellen Sie die Anfragen, die Ihre Anwendung benötigt, und halten Sie sich an die Nutzungsbedingungen. Automatisierte und kommerzielle Nutzung ist erlaubt.
  • Grundsätzlich ungenau. Koordinaten verweisen auf ein Gebiet, nicht auf eine Adresse, und identifizieren niemals eine Person.
  • Kein Proxy- oder VPN-Detektor. connection_type, user_type und is_anycast sind Datenbankklassifizierungen, kein Nachweis dafür, wie eine IP verwendet wird.
  • Datenschutz. Die API speichert keinen Verlauf der Abfragen. Siehe die Datenschutzerklärung.

Bei Fragen oder Datenabweichungen: Senden Sie eine E-Mail an hi@shifter.io mit der IP und dem erwarteten Standort.