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.
Endpunkte
Abschnitt betitelt „Endpunkte“| Anfrage | Rückgabe |
|---|---|
GET http://ip-info.com/json | Die 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.8 | Eine bestimmte öffentliche IPv4- oder IPv6-Adresse |
GET http://ip-info.com/8.8.8.8/json | Dieselbe 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.
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.
Einen Shifter-Proxy-Exit prüfen
Abschnitt betitelt „Einen Shifter-Proxy-Exit prüfen“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.
curl --max-time 15 \ --proxy http://p.shifter.io:443 \ --proxy-user "customer-USERNAME-country-us-city-new_york:PASSWORD" \ http://ip-info.com/jsonimport requests
proxy = "http://customer-USERNAME-country-us:PASSWORD@p.shifter.io:443"r = requests.get( "http://ip-info.com/json", proxies={"http": proxy, "https": proxy}, timeout=15,)r.raise_for_status()exit_ip = r.json()print(exit_ip["ip"], exit_ip["country"], exit_ip["city"], exit_ip["asn"])assert exit_ip["country"] == "US", f"expected US, got {exit_ip['country']}"import { HttpsProxyAgent } from "https-proxy-agent";import fetch from "node-fetch";
const agent = new HttpsProxyAgent( "http://customer-USERNAME-country-de:PASSWORD@p.shifter.io:443");const res = await fetch("http://ip-info.com/json", { agent });const exit = await res.json();console.log(exit.ip, exit.country, exit.city, `AS${exit.asn}`);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.
Verwendung durch KI-Agenten
Abschnitt betitelt „Verwendung durch KI-Agenten“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:
https://ip-info.com/llms.txt: eine kurze, für LLMs geschriebene Einführunghttps://ip-info.com/llms-full.txt: die vollständige Referenz als Klartexthttps://ip-info.com/openapi.json: der OpenAPI-3.1-Vertrag (Security ist leer, kein Schlüssel erforderlich)
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:
- Ein Aufruf ohne
ipbeschreibt 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. - Verwenden Sie
countryfür Ländervergleiche undasnfür Netzwerkprüfungen. - Behandeln Sie
nullals unbekannt. Füllen Sie niemals ein fehlendes Feld selbst aus. - 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 und Wiederholungsversuche
Abschnitt betitelt „Fehler und Wiederholungsversuche“Fehler werden als JSON mit einem stabilen Code zurückgegeben:
{ "error": { "code": "invalid_ip", "message": "Supply a literal IPv4 or IPv6 address." } }| Status | Code | Bedeutung |
|---|---|---|
| 400 | invalid_ip | Fehlerhafte, private, reservierte oder anderweitig nicht öffentliche Eingabe, oder widersprüchliche Parameter |
| 404 | ip_not_found | Kein Eintrag für diese IP in der aktiven Datenbank |
| 405 | method_not_allowed | Verwenden Sie GET |
| 503 | database_unavailable | Vorübergehend; mit Backoff wiederholen |
| 504 | timeout | Vorü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.
Daten und Limits
Abschnitt betitelt „Daten und Limits“- 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_typeundis_anycastsind 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.