API-Referenz

Endpunkte, Antwortformate und HTTP-Fehler für Einzel-IP-Abfragen.

Endpunkte

Basis-URLhttps://api.ipquery.ioOhne API-Schlüssel

IP des Aufrufers

GET/Standard: text/plain

Gibt die Adresse zurück, von der die Anfrage ausgeht. Ein fetch im Browser ermittelt die Browserverbindung; ein serverseitiger fetch die Serververbindung.

Anfrage
curl --fail --silent --show-error --max-time 5 \
  "https://api.ipquery.io/?format=json"

Einzelne IP

GET/:ipStandard: application/json

Tragen Sie eine IPv4- oder IPv6-Adresse in den Pfad ein. Das Ergebnis beschreibt diese Adresse, unabhängig von der Verbindung des Aufrufers.

Anfrage
curl --fail --silent --show-error --max-time 5 \
  "https://api.ipquery.io/1.1.1.1"

curl --fail --silent --show-error --max-time 5 \
  "https://api.ipquery.io/2606:4700:4700::1111"

Verwenden Sie HTTPS. Fügen Sie ?format=json hinzu, wenn Ihre Anwendung ein strukturiertes Ergebnis für die eigene IP benötigt.

Antwortformate

Setzen Sie den Abfrageparameter format auf das gewünschte Antwortformat.

JSON
?format=jsonapplication/json
XML
?format=xmlapplication/xml
YAML
?format=yamlapplication/x-yaml
Text
?format=texttext/plain

Text gibt nur die Adresse zurück. JSON, XML und YAML liefern das strukturierte Abfrageergebnis.

Fehler und Sammelabfragen

Prüfen Sie den HTTP-Status, bevor Sie ein erfolgreiches Ergebnis lesen. Ein unterstützter Wert für den Abfrageparameter format bestimmt das Format der Fehlerantwort; bei fehlendem oder nicht unterstütztem Format wird Klartext zurückgegeben.

Ungültige Adresse

HTTP 404

Prüfen Sie die Adresssyntax. Der Pfad akzeptiert eine einzelne IPv4- oder IPv6-Adresse.

Anfrage
curl -i "https://api.ipquery.io/not-an-ip?format=json"
HTTP 404
HTTP/1.1 404 Not Found
Content-Type: application/json

{"error":"IP address not-an-ip not found"}

Nicht unterstütztes Format

HTTP 400

Verwenden Sie json, xml, yaml oder text. CSV ist kein API-Antwortformat.

Anfrage
curl -i "https://api.ipquery.io/1.1.1.1?format=csv"
HTTP 400
HTTP/1.1 400 Bad Request
Content-Type: text/plain

Invalid format

Sammelabfragen deaktiviert

HTTP 400

Verwenden Sie für Besucher den Endpunkt der eigenen IP oder fragen Sie eine einzelne Adresse ab. Wiederholungen derselben Sammelanfrage schalten sie nicht frei.

Anfrage
curl -i "https://api.ipquery.io/1.1.1.1,8.8.8.8?format=json"
HTTP 400
HTTP/1.1 400 Bad Request
Content-Type: application/json

{"error":"Bulk lookups are disabled due to abuse. For your own IP, embed fetch(\"https://api.ipquery.io/?format=json\") in your app, or use a single-IP lookup at https://api.ipquery.io/<ip>."}

Fehlgeschlagene Anfragen behandeln

GET-Anfragen im Browser unterstützen ursprungsübergreifenden Zugriff. Ein Netzwerkfehler lässt fetch fehlschlagen; ein HTTP-Fehler liefert hingegen weiterhin eine Antwort. Prüfen Sie response.ok vor dem Parsen von JSON.

HTTP-Status prüfen
const response = await fetch(
  "https://api.ipquery.io/1.1.1.1?format=json",
  { signal: AbortSignal.timeout(5000) }
);
if (!response.ok) {
  const message = await response.text();
  throw new Error("IPQuery " + response.status + ": " + message);
}
const data = await response.json();
console.log(data.ip);
Verbindungsfehler und Serverausfälle

Ein Timeout oder eine Antwort mit Status 5xx ist kein IP-Datensatz. Behalten Sie einen ausdrücklichen Nicht-verfügbar-Zustand bei und begrenzen Sie Wiederholungen. Fehler des vorgeschalteten Dienstes können Text oder HTML enthalten; erwarten Sie daher nicht in jeder Antwort JSON.

Fehlende Quellwerte können als leere Zeichenketten vorliegen. Ein false-Merkmal bedeutet keinen Treffer, kein Sicherheitsurteil. Felddefinitionen lesen

Tatsächliche Antwort

1.1.1.1
Live-Antwort für eine einzelne IP
{
  "ip": "1.1.1.1",
  "isp": {
    "asn": "AS13335",
    "org": "Cloudflare, Inc.",
    "isp": "Cloudflare, Inc."
  },
  "location": {
    "country": "Australia",
    "country_code": "AU",
    "city": "Brisbane",
    "state": "Queensland",
    "zipcode": "",
    "latitude": -27.474848400186662,
    "longitude": 153.00996200912815,
    "timezone": "Australia/Brisbane",
    "localtime": "2026-11-03T10:24:52"
  },
  "risk": {
    "is_mobile": false,
    "is_vpn": false,
    "is_tor": false,
    "is_proxy": false,
    "is_datacenter": true,
    "risk_score": 20
  }
}

Zugriff auf vollständige Listen.

Für Preise oder vollständige Listen schreiben Sie an contact@ipquery.io.

Ausgewählte Liste
Ausgewählte Einträge
Einträge in dieser Liste