IP-Geolokalisierungs-API
Öffentliche IPv4- und IPv6-Adressen mit lokalen Geolokalisierungs- und ASN-Daten abfragen. Starten Sie mit 10.000 kostenlosen IP-Abfragen pro Monat.
Schnellstart
- Erstellen Sie ein eigenes ip.uk.app-Konto und bestätigen Sie Ihre E-Mail-Adresse.
- Öffnen Sie im Dashboard den Bereich Schlüssel und erstellen Sie einen Schlüssel. Kopieren Sie ihn sofort; er wird nur einmal angezeigt.
- Senden Sie den Schlüssel von Ihrem Server im Authorization-Header.
curl 'https://ip.uk.app/api/v1/lookup?ip=1.1.1.1' \
-H 'Authorization: Bearer YOUR_API_KEY'
Geben Sie Ihren API-Schlüssel niemals in einer URL, öffentlich zugänglichem Frontend-Code, einem Screenshot oder geteilten Protokollen an. Speichern Sie ihn in einer Umgebungsvariablen auf Ihrem Server.
Endpunkte
| HTTP-Methode | Endpunkt | Zweck |
|---|---|---|
| GET | /api/v1/lookup?ip=1.1.1.1 | Informationen zu einer öffentlichen IPv4- oder IPv6-Adresse abrufen. |
| GET | /api/v1/me | Die öffentliche IP-Adresse des aufrufenden Systems abfragen. |
| POST | /api/v1/bulk | Zwischen 1 und 50 IP-Adressen pro Anfrage abfragen. |
Mit dem optionalen Parameter lang wählen Sie die Sprache der Namen: en, uk, es, pt, de oder fr. Fehlende Übersetzungen werden durch englische Namen ersetzt.
curl 'https://ip.uk.app/api/v1/bulk?lang=uk' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data '{"ips":["1.1.1.1","2001:4860:4860::8888"]}'Antwortformat
Das Feld data enthält für lookup und me ein Objekt und für bulk ein Array. Nicht verfügbare Werte sind null. Die folgenden Beispielwerte erläutern das Schema und garantieren keinen tatsächlichen Standort.
{
"data": {
"ip": "1.1.1.1",
"version": 4,
"country": {"code": "AU", "name": "Australia"},
"region": "New South Wales",
"city": "Sydney",
"location": {"latitude": -33.8688, "longitude": 151.209, "accuracy": "approximate"},
"asn": {"number": 13335, "organization": "Cloudflare, Inc.", "prefix_length": 24},
"source": {"name": "DB-IP Lite", "url": "https://db-ip.com/", "license": "CC BY 4.0", "updated": "2026-10"}
}
}Kostenloses Kontingent und Limits
- 10.000 erfolgreiche IP-Abfragen pro Konto und Kalendermonat. Das Kontingent wird am ersten Tag des Monats um 00:00 UTC zurückgesetzt.
- 60 IP-Abfragen pro Minute, gemeinsam für alle Ihre Schlüssel.
- Bis zu fünf aktive Schlüssel mit einer Gültigkeit von 30, 90 oder 365 Tagen.
- Jede erfolgreich abgefragte Adresse verbraucht eine Guthabeneinheit, auch wiederholte Adressen innerhalb eines Stapels. Ein Stapel mit 50 Adressen verbraucht 50 Guthabeneinheiten.
- Ungültige Eingaben und fehlgeschlagene Abfragen verbrauchen kein monatliches Guthaben. Vorübergehende Fehler können dennoch auf das Minutenlimit angerechnet werden.
- Vor der Verarbeitung werden der gesamte Stapel und das verfügbare Kontingent geprüft. Für einen Stapel wird kein Guthaben teilweise abgebucht.
- Zusätzliche Netzwerklimits schützen die Verfügbarkeit des Dienstes.
Antworten enthalten X-Quota-Limit, X-Quota-Remaining und X-Quota-Reset. Der Rücksetzzeitpunkt ist ein Unix-Zeitstempel. X-Request-ID kennzeichnet eine authentifizierte Anfrage. Eine 429-Antwort enthält Retry-After mit der Wartezeit in Sekunden.
Bezahlte Monatstarife sind im Dashboard verfügbar. Bezahlte Kontingente folgen dem Abonnementzeitraum. Keine automatischen Mehrkosten.
Fehlerbehandlung
{"error":{"code":"invalid_ip","message":"Provide a public IPv4 or IPv6 address."}}| Status | Bedeutung |
|---|---|
| 400 | Ungültige IP-Adresse, Sprache oder ungültiger Anfrageinhalt. Private und reservierte IP-Adressen werden nicht unterstützt. |
| 401 | Fehlender, ungültiger, abgelaufener oder widerrufener API-Schlüssel oder inaktives Konto. |
| 404 | Unbekannter API-Endpunkt. |
| 405 / 415 | Falsche HTTP-Methode oder falscher Inhaltstyp. |
| 429 | Minutenlimit, Netzwerklimit oder monatliches Kontingent erreicht. Beachten Sie Retry-After. |
| 503 | Dienst vorübergehend nicht verfügbar. Wiederholen Sie die Anfrage mit exponentiell steigenden, nach oben begrenzten Wartezeiten. |
JavaScript · serverseitig
const response = await fetch(
'https://ip.uk.app/api/v1/lookup?ip=1.1.1.1',
{ headers: { Authorization: `Bearer ${process.env.IP_API_KEY}` } }
);
const result = await response.json();
if (!response.ok) throw new Error(result.error.message);
console.log(result.data);Python
import json, os
from urllib.request import Request, urlopen
from urllib.error import HTTPError
request = Request('https://ip.uk.app/api/v1/lookup?ip=1.1.1.1',
headers={'Authorization': 'Bearer ' + os.environ['IP_API_KEY']})
try:
with urlopen(request, timeout=15) as response:
print(json.load(response)['data'])
except HTTPError as error:
print(error.code, json.load(error))PHP
$ch = curl_init('https://ip.uk.app/api/v1/lookup?ip=1.1.1.1');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 15,
CURLOPT_HTTPHEADER => ['Authorization: Bearer '.getenv('IP_API_KEY')],
]);
$body = curl_exec($ch);
if ($body === false) { throw new RuntimeException(curl_error($ch)); }
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
if ($status !== 200) { throw new RuntimeException($result['error']['message']); }Datenqualität und Quellenangabe
Die Geolokalisierung ist ungefähr. Eine IP-Adresse kann ein Netzwerk-Gateway oder Rechenzentrum bezeichnen, insbesondere bei Mobilfunk, Anycast, VPN und Proxys. Die Koordinaten geben nicht den genauen Standort einer Person an. Die ASN-Organisation bezeichnet den Netzbetreiber und bestätigt keine Einstufung als privater Internetanschluss.
Datengrundlage ist die monatlich aktualisierte Datenbank DB-IP Lite unter der Lizenz CC BY 4.0. Geben Sie in Anwendungen, die diese Daten verwenden, die Quelle angemessen an. Version v1 enthält keine Klassifizierung von VPN, Proxys oder Betrug.
Datenschutz und Schlüsselsicherheit
Vollständige API-Schlüssel werden einmal angezeigt und ausschließlich als Hashes mit einem serverseitigen Geheimnis gespeichert. Die Anfragestatistik speichert Endpunkt, Status, Dauer, Guthabenverbrauch und maskierte Schlüsselkennung für 30 Tage. Abgefragte IP-Adressen und vollständige Schlüssel werden in diesem Verlauf nicht gespeichert. Monatliche Summenzähler bleiben 12 Monate erhalten. Separate Infrastrukturprotokolle unterliegen unserer Datenschutzerklärung.
Widerrufen Sie offengelegte Schlüssel sofort im Dashboard. Das Sperren oder Löschen eines Kontos deaktiviert dessen Schlüssel. Ihr Konto ist unabhängig von anderen uk.app-Projekten.