ipcheckerpro-API
Kostenlose JSON-API ohne Schlüssel für IP-Geolokalisierung, ASN-Daten, Flags, Sperrlisten, WHOIS und DNS-Records. 60 Anfragen pro Minute, CORS, mit Beispielen.
Endpunkte
/api/v1/ipRatenlimit: 60/minYour own address: location, network, type and flags (never cached).
curl -s https://ipcheckerpro.com/api/v1/ip/api/v1/ip/{ip}Ratenlimit: 60/minAny public IPv4/IPv6 address. Add whois=1 (RDAP record) and blacklists=1 (DNSBL checks, IPv4).
curl -s "https://ipcheckerpro.com/api/v1/ip/1.1.1.1?whois=1&blacklists=1"/api/v1/asn/{asn}Ratenlimit: 60/minAutonomous system details: name, country, type, prefix counts; whois=1 adds the registry record.
curl -s "https://ipcheckerpro.com/api/v1/asn/13335?whois=1"/api/v1/dns?name=&type=Ratenlimit: 30/minDNS records of a hostname (A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA, PTR).
curl -s "https://ipcheckerpro.com/api/v1/dns?name=example.com&type=MX"/api/v1/bulkNeuRatenlimit: 5/minUp to 100 addresses in one JSON array: country, city, ASN, type, Tor/hosting/DROP flags and risk score.
curl -s -X POST https://ipcheckerpro.com/api/v1/bulk -H "Content-Type: application/json" -d '["1.1.1.1","8.8.8.8"]'/api/v1/stats/liveNeuRatenlimit: 60/minAnonymous aggregates: checks in the last 24 h, countries seen, top networks, dataset versions.
curl -s https://ipcheckerpro.com/api/v1/stats/live/api/v1/stats/weeklyNeuRatenlimit: 60/minWeekly operating aggregates (last 7 days vs the 7 before): checks, languages, tools, countries, dataset freshness, cron and health history.
curl -s https://ipcheckerpro.com/api/v1/stats/weeklyKostenlosen API-Schlüssel erhalten
Die Endpunkte ohne Schlüssel erlauben 60 Anfragen pro Minute und IP. Ein kostenloser Schlüssel erhöht das auf 1.000 Anfragen pro Tag und 300 pro Minute, gezählt pro Schlüssel statt pro IP — genug für eine kleine App, einen Cron-Job oder ein Dashboard. Der Schlüssel wird Ihnen per E-Mail zugeschickt und unten einmalig angezeigt.
Wir speichern einen Hash des Schlüssels und Ihre E-Mail, damit Sie ihn widerrufen lassen können. Kein Newsletter.
Den Schlüssel verwenden
Senden Sie den Schlüssel im Header X-API-Key (bevorzugt) oder als Query-Parameter key an jeden /api/v1/-Endpunkt. Jede Antwort enthält die Header X-RateLimit-Limit und X-RateLimit-Remaining für das Tageskontingent; GET /api/v1/key liefert die heutige Nutzung des übergebenen Schlüssels.
Kontingente
| Ohne Schlüssel | Mit kostenlosem Schlüssel | |
|---|---|---|
| Anfragen pro Minute und IP | 60 (DNS: 30) | — |
| Anfragen pro Minute und Schlüssel | — | 300 |
| Anfragen pro Tag und Schlüssel | — | 1,000 |
| POST /api/v1/bulk | 5 batches/min · 100 IPs | 5 batches/min · 100 IPs |
Beispiele
curl -s -H "X-API-Key: YOUR_KEY" \
"https://ipcheckerpro.com/api/v1/ip/1.1.1.1?checks=native,risk"
# usage of the key
curl -s -H "X-API-Key: YOUR_KEY" https://ipcheckerpro.com/api/v1/keyconst res = await fetch('https://ipcheckerpro.com/api/v1/ip/1.1.1.1', {
headers: { 'X-API-Key': 'YOUR_KEY' }
});
const data = await res.json();
console.log(data.location.country, data.network.name, res.headers.get('X-RateLimit-Remaining'));import requests
r = requests.get('https://ipcheckerpro.com/api/v1/ip/1.1.1.1',
headers={'X-API-Key': 'YOUR_KEY'}, timeout=10)
r.raise_for_status()
data = r.json()
print(data['location']['country'], data['classification'], r.headers['X-RateLimit-Remaining'])$ctx = stream_context_create(['http' => ['header' => "X-API-Key: YOUR_KEY\r\n"]]);
$json = file_get_contents('https://ipcheckerpro.com/api/v1/ip/1.1.1.1', false, $ctx);
$data = json_decode($json, true);
echo $data['location']['country'], ' ', $data['network']['name'];Überblick
Maschinenlesbare Beschreibung: /api/v1/openapi.json (OpenAPI 3.1).
Die API liefert dieselben Daten wie die Website als JSON: Standort, Netzwerk und Klassifizierung jeder IP-Adresse, den Registry-Eintrag dahinter, Sperrlisten-Status, ASN-Details und DNS-Records. Sie braucht weder Schlüssel noch Anmeldung.
- Basis-URL:
https://ipcheckerpro.com/api/v1 - Format: JSON, UTF-8, nur
GET - Limits: 60 Anfragen pro Minute und IP-Adresse für die IP- und ASN-Endpunkte, 30 pro Minute für den DNS-Endpunkt
- CORS: Jede Antwort trägt
Access-Control-Allow-Origin: *, Browser können sie also direkt aufrufen - Attribution: Wenn Sie die Daten anzeigen, nennen Sie „IP geolocation by DB-IP“ mit Link zu db-ip.com (siehe Attribution unten)
Endpunkte
GET /api/v1/ip
Liefert das Profil der eigenen Adresse des Aufrufers. Die Antwort ist mit Cache-Control: private, no-store markiert und daher immer frisch.
curl -s https://ipcheckerpro.com/api/v1/ip
GET /api/v1/ip/{ip}
Liefert das Profil jeder öffentlichen IPv4- oder IPv6-Adresse. Optionale Query-Parameter:
whois=1ergänzt einwhois-Objekt mit dem über RDAP geholten Registry-Eintrag.blacklists=1führt die acht DNS-Sperrlisten-Prüfungen aus (nur IPv4) und füllt dasblacklists-Objekt.
Antworten sind 300 Sekunden cachebar. Sperrlisten-Ergebnisse werden auf unserer Seite eine Stunde gecacht, Registry-Einträge 24 Stunden.
curl -s "https://ipcheckerpro.com/api/v1/ip/1.1.1.1?whois=1&blacklists=1"
GET /api/v1/asn/{asn}
Liefert Details zu einem autonomen System. Die Nummer kann mit oder ohne AS-Präfix angegeben werden. Mit whois=1 wird der Registry-Eintrag in einem registry-Objekt ergänzt. Antworten sind eine Stunde cachebar.
curl -s "https://ipcheckerpro.com/api/v1/asn/13335?whois=1"
GET /api/v1/dns?name=&type=
Liefert die DNS-Records eines Hostnamens. type ist einer von A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA oder PTR; Standard ist A. Antworten sind 60 Sekunden cachebar.
curl -s "https://ipcheckerpro.com/api/v1/dns?name=example.com&type=MX"
Aufbau der Antwort
Eine erfolgreiche IP-Anfrage liefert ein Objekt mit diesen Feldern. Unbekannte Werte sind null. Die Werte unten sind illustrativ; führen Sie die Anfrage aus, um die aktuellen Daten einer Adresse zu sehen.
{
"ip": "1.1.1.1",
"version": 4,
"private": false,
"hostname": "one.one.one.one",
"location": {
"country_code": "AU",
"country": "Australia",
"region": "Queensland",
"city": "Brisbane",
"latitude": -27.4679,
"longitude": 153.028,
"timezone": "Australia/Brisbane",
"continent": "OC",
"eu": false
},
"network": {
"asn": 13335,
"name": "CLOUDFLARENET",
"prefix": "1.1.1.0/24",
"country_code": "US",
"type": "hosting"
},
"classification": "hosting",
"flags": {
"hosting": true,
"tor": false,
"vpn_provider": false,
"spamhaus_drop": null,
"datacenter": "Cloudflare",
"mobile": false
},
"blacklists": { "checked": 8, "listed": 0 },
"sources": {
"geolocation": "DB-IP Lite (CC BY 4.0)",
"asn": "iptoasn.com / DB-IP Lite"
}
}
Hinweise zu den Feldern:
versionist4oder6.privateisttruefür Loopback-, Link-Local- und private Bereiche; solche Adressen haben wederlocationnochnetwork.hostnameist der PTR-Record (Reverse DNS) odernull.network.typeist die aus ASN-Name und öffentlichen Listen abgeleitete Netzwerkklassifizierung:isp,mobile,hosting,education,government,businessoderunknown.classificationist das Gesamturteil:residential,mobile,hosting,vpn,tor,education,government,business,privateoderunknown.flags.spamhaus_dropist der passende DROP-Bereich als String odernull.flags.datacenterist der passende Anbietername aus der Rechenzentrumsliste odernull.blacklistsistnull, sofern nichtblacklists=1angegeben wurde.whois(mitwhois=1) enthälthandle,name,type,start,end,cidr,country,parent,status,entities,events,remarks,linksundregistry.
Eine ASN-Anfrage liefert asn, name, country_code, type, ipv4_prefixes, ipv4_addresses, ipv6_prefixes, prefixes_sample (bis zu 20 CIDR-Strings), registry (mit whois=1, sonst null) und source.
Eine DNS-Anfrage liefert name, type und records, ein Array von { "name", "ttl", "value" }-Objekten.
Fehler
Fehler sind JSON-Objekte mit einem error-Code und meist einer message:
| Status | error |
Bedeutung |
|---|---|---|
| 400 | invalid_ip |
Das Pfadsegment ist keine gültige IPv4- oder IPv6-Adresse |
| 400 | invalid_asn |
Das ASN ist keine Zahl |
| 400 | invalid_query |
name ist kein Hostname oder type wird nicht unterstützt |
| 404 | not_found |
Für dieses ASN sind keine angekündigten Präfixe bekannt |
| 429 | rate_limited |
Limit überschritten; warten und erneut versuchen |
Beispiele
JavaScript (Browser oder Node)
const res = await fetch("https://ipcheckerpro.com/api/v1/ip/8.8.8.8?whois=1");
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data.location.country, data.network.name, data.classification);
Python
import requests
r = requests.get("https://ipcheckerpro.com/api/v1/ip/8.8.8.8", params={"blacklists": 1}, timeout=10)
r.raise_for_status()
data = r.json()
print(data["location"]["country"], data["network"]["name"], data["blacklists"])
curl mit der eigenen Adresse des Aufrufers
curl -s https://ipcheckerpro.com/api/v1/ip | jq '{ip, country: .location.country, type: .network.type}'
Attribution
Die Geolokalisierungsdaten stammen von DB-IP Lite, lizenziert unter Creative Commons Attribution 4.0. Wenn Sie Daten aus dieser API Nutzern anzeigen, zeigen Sie den Text „IP geolocation by DB-IP“ mit einem Link zu https://db-ip.com in der Nähe der Daten. ASN-Daten stammen von iptoasn.com (gemeinfrei) und DB-IP Lite. Sperrlisten- und Registry-Ergebnisse gehören ihren jeweiligen Betreibern und werden für Ihren eigenen Gebrauch zurückgegeben, nicht zur Weiterverbreitung als Datensatz.
Fair Use
Die obigen Limits gelten pro aufrufender IP-Adresse. Wenn Sie mehr brauchen, cachen Sie Antworten auf Ihrer Seite; Standort- und Netzwerkdaten einer Adresse ändern sich innerhalb eines Tages selten. Nutzen Sie die API nicht, um eine Kopie der zugrunde liegenden Datenbanken aufzubauen. Die vollständigen Regeln zur zulässigen Nutzung stehen in den Nutzungsbedingungen.
Änderungen
Die API ist im Pfad versioniert. Felder können ohne Ankündigung zu Antworten hinzugefügt werden; bestehende Felder werden innerhalb von v1 weder umbenannt noch entfernt. Änderungen an Limits, Endpunkten oder Verhalten werden auf dieser Seite angekündigt, bevor sie wirksam werden.