API-referentie

Endpoints, antwoordformaten en HTTP-fouten voor opzoekingen van één IP-adres.

Endpoints

Basis-URLhttps://api.ipquery.ioGeen API-sleutel

IP-adres van de aanroeper

GET/Standaard: text/plain

Geeft het adres terug dat het verzoek doet. Een fetch in de browser bepaalt de browserverbinding; een server-side fetch bepaalt de serververbinding.

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

Eén IP-adres

GET/:ipStandaard: application/json

Zet één IPv4- of IPv6-adres in het pad. Het resultaat beschrijft dat adres, ongeacht de verbinding van de aanroeper.

Verzoek
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"

Gebruik HTTPS. Voeg ?format=json toe wanneer je toepassing een gestructureerd resultaat voor het eigen IP-adres nodig heeft.

Antwoordformaten

Stel de queryparameter format in om de antwoordweergave te kiezen.

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

Tekst geeft alleen het adres terug. JSON, XML en YAML geven het gestructureerde opzoekresultaat terug.

Fouten en bulkverzoeken

Controleer de HTTP-status voordat je een geslaagd resultaat leest. Een ondersteunde waarde van de queryparameter format bepaalt het formaat van een foutantwoord; bij een ontbrekend of niet-ondersteund formaat wordt platte tekst teruggegeven.

Ongeldig adres

HTTP 404

Controleer de adressyntaxis. Het pad accepteert één IPv4- of IPv6-adres.

Verzoek
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"}

Niet-ondersteund formaat

HTTP 400

Gebruik json, xml, yaml of text. CSV is geen API-antwoordformaat.

Verzoek
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

Bulkverzoek uitgeschakeld

HTTP 400

Gebruik voor een bezoeker het endpoint voor het eigen IP-adres of vraag één specifiek adres op. Hetzelfde bulkverzoek herhalen schakelt het niet in.

Verzoek
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>."}

Een mislukt verzoek afhandelen

GET-verzoeken vanuit de browser ondersteunen cross-origintoegang. Bij een netwerkfout wordt de promise van fetch afgewezen; een HTTP-fout levert nog steeds een antwoord op. Controleer response.ok voordat je JSON verwerkt.

HTTP-status controleren
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);
Verbindingsfouten en serverstoringen

Een time-out of een antwoord met status 5xx is geen IP-record. Houd een expliciete niet-beschikbaarstatus aan en beperk herhaalpogingen. Een foutantwoord van een achterliggende dienst kan tekst of HTML bevatten; ga er daarom niet van uit dat elk antwoord JSON bevat.

Ontbrekende bronwaarden kunnen lege tekenreeksen opleveren. Een false-indicator betekent geen overeenkomst, niet dat het adres veilig is. Velddefinities lezen

Werkelijk antwoord

1.1.1.1
Live-antwoord voor één IP-adres
{
  "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
  }
}

Toegang tot volledige lijsten.

Mail voor prijzen of toegang tot volledige lijsten naar contact@ipquery.io.

Geselecteerde lijst
Geselecteerde records
Records in deze lijst