IPv4-Abfrage
Standort, Zeitzone und Netzwerkdetails zu einer IPv4-Adresse. Lassen Sie die Adresse weg, um den Aufrufer abzufragen.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
ipoptional | String | IPv4-Adresse in Punktnotation. Standard: die Adresse, von der die Anfrage kam. |
ipsoptional | String | Kommagetrennte Adressen, bis zu 100, für einen Batch. Liefert ein Array results in derselben Reihenfolge. Jede Adresse zählt als eine Anfrage. |
langoptional | String | ISO 639-1 Code für Länder-, Regions- und Städtenamen. Standard en. |
keyoptional | String | API-Schlüssel, falls nicht als Header gesendet. |
Beispiel
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/ipv4?ip=1.1.1.1"// In a browser, with no ip parameter, this returns the visitor's own address
const geo = await (await fetch("https://api.mygeocode.com/v1/ipv4", { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(geo.country_code, geo.timezone);import requests
geo = requests.get("https://api.mygeocode.com/v1/ipv4", params={"ip": "1.1.1.1"}, headers={"X-API-Key": "YOUR_KEY"}, timeout=5).json()
print(geo["country_code"], geo["org"], geo["is_datacenter"]){
"status": "ok",
"ip": "1.0.164.165",
"version": 4,
"found": true,
"prefix": "1.0.164.0/24",
"country": "Thailand",
"country_code": "TH",
"continent": "Asia",
"continent_code": "AS",
"region": "Krung Thep Maha Nakhon",
"region_code": null,
"city": "Bangkok",
"postcode": "10200",
"lat": 13.749976,
"lon": 100.516819,
"timezone": "Asia/Bangkok",
"utc_offset": "+07:00",
"utc_offset_seconds": 25200,
"is_eu": false,
"asn": 23969,
"as_name": "TOT Public Company Limited",
"org": "TOT Public Company Limited",
"usage_type": "Eyeball",
"registry": "apnic",
"allocated": "2008-10-22",
"tags": ["dsl"],
"is_anycast": false,
"is_satellite": false,
"is_datacenter": false,
"is_proxy": false,
"is_vpn_provider": false,
"is_tor": false,
"is_private": false,
"abuse_email": "abuse@totisp.net",
"threat": {
"listed": true,
"score": 90,
"source_count": 2,
"categories": ["abuse", "attacker"],
"is_tor": false,
"is_tor_exit": false,
"is_bogon": false,
"listings": [
{ "category": "abuse", "confidence": 100, "recency_days": 1 },
{ "category": "attacker", "confidence": null, "recency_days": null }
]
},
"updated_at": "2026-09-18 06:53:39"
}Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
ip, version | String, Integer | Die abgefragte Adresse in kanonischer Form sowie 4 oder 6. |
found | Boolean | False, wenn kein Netzwerk die Adresse abdeckt; die Standortfelder sind dann null. |
prefix | String | Das spezifischste Netzwerk, das die Adresse enthält, in CIDR-Notation. |
country, country_code | String | Ländername und ISO 3166-1 Alpha-2-Code in Großbuchstaben. |
continent, continent_code | String | Name des Kontinents und zweistelliger Code. |
region, region_code | String | Verwaltungseinheit der ersten Ebene und ihr Kurzcode. Der Code ist für die Vereinigten Staaten, Kanada und Australien ausgefüllt; anderswo ist er nur vorhanden, wo der Datensatz einen enthält. |
city, postcode | String | Beste Schätzung; null, wenn unbekannt. |
lat, lon | Zahl | Mittelpunkt des spezifischsten bekannten Gebiets. |
elevation_m | Zahl oder null | Höhe über dem mittleren Meeresspiegel an diesem Punkt in Metern, aus demselben Raster mit 15 Bogensekunden wie der Höhen-Endpunkt. Negativ über dem Meeresboden. |
timezone, utc_offset, utc_offset_seconds | String, String, Zahl | IANA-Zone, der aktuell geltende Versatz als +HH:MM und derselbe Versatz in Sekunden. Die Zone wird aus den Koordinaten und den Zeitzonengrenzen bestimmt, sodass sie immer mit lat und lon übereinstimmt. |
is_eu | Boolean | Das Land liegt in der Europäischen Union. |
asn, as_name, org | Integer, String | Nummer des autonomen Systems, sein Name und die Organisation dahinter. |
usage_type | String | Art des Betreibers: Eyeball (Endkunden-ISP), Carrier, Content, Hosting, Enterprise, Education, NSP oder unknown. |
registry, allocated | String | Regionale Registry, die die ASN vergeben hat, und das Vergabedatum. |
tags | Array | Tags auf Betreiberebene wie dsl, cdn, vpsh (VPS-Hosting), vpn, satnet. Sie beschreiben den Netzbetreiber, nicht die einzelne Adresse. |
is_anycast, is_satellite | Boolean | Das Präfix ist Anycast; der Betreiber ist ein Satellitennetz. |
is_datacenter | Boolean | Hosting- oder Content-Netzwerk. Betrachten Sie die Stadt als unzuverlässig und rechnen Sie damit, dass der Datenverkehr automatisiert sein kann. |
is_proxy, is_tor | Boolean | Hinweise für die einzelne Adresse, dass sie ein Tor-Relay oder Exit-Knoten ist oder als Proxy- oder VPN-Endpunkt gelistet ist. |
is_vpn_provider | Boolean | Der Betreiber betreibt irgendwo in seinem Netzwerk VPN- oder Proxy-Dienste (ein Hinweis auf Betreiberebene, schwächer als is_proxy). |
is_private | Boolean | Reservierte, private oder anderweitig nicht routbare Adresse. Wenn true, enthält die Antwort nur ip, version, is_private und reason. |
abuse_email | String | Für das Netzwerk registrierter Abuse-Kontakt. |
threat | Objekt | Reputation: listed, ein score von 0 bis 100 (das Gewicht der schwerwiegendsten Meldung, abgewertet für ältere), source_count (wie viele unabhängige Meldungen sie listen), categories, Tor- und Bogon-Flags sowie die einzelnen listings mit Kategorie, Konfidenz und vor wie vielen Tagen jede gemeldet wurde. |
updated_at | String | Wann der Datensatz für dieses Netzwerk zuletzt aktualisiert wurde. |
Beide Versionen in einem Aufruf
GET /v1/ip akzeptiert eine IPv4- oder IPv6-Adresse (oder keine, für den Aufrufer) und liefert denselben Datensatz wie die versionsspezifischen Endpunkte. Verwenden Sie ihn, wenn Sie nicht im Voraus wissen, welche Art von Adresse Sie erhalten.
Hinweise
- Anycast-Adressen wie
1.1.1.1und8.8.8.8werden von vielen Orten gleichzeitig bedient. Der zurückgegebene Standort ist der registrierte, weshalbis_datacenterfür sie true ist. - Rufen Sie den Endpunkt von Ihrem Server aus mit der Adresse des Besuchers in
ipauf. Ein Aufruf ohneipliefert die Adresse, von der die Anfrage kam, und das ist hinter einem Proxy oder CDN der Proxy. - IP-Daten werden wöchentlich aktualisiert. Eine Cache-Dauer von einem Tag ist angemessen.
Dieselbe Abfrage in den Formaten anderer Anbieter
Wenn Sie bereits Code für einen dieser Anbieter geschrieben haben, behalten Sie ihn: Der Drop-in-Host akzeptiert denselben Pfad und dieselben Parameter und antwortet in der Antwortstruktur dieses Anbieters, mit diesem Endpunkt dahinter. Siehe So funktionieren die Drop-in-Hosts.
| Anbieter | Host | Pfad |
|---|---|---|
| Geoapify | geoapify.mygeocode.com | /v1/ipinfo?ip=... |
| ip-api.com | ipapi.mygeocode.com | /json/{ip}/json//batch (POST, JSON array) |
| ipinfo.io | ipinfo.mygeocode.com | /{ip}/json/{ip}/json/{ip}/{field} |
| ipstack | ipstack.mygeocode.com | /{ip}/check/{ip},{ip},{ip} |
Fehler
400 invalid_request, wenn ip keine gültige IPv4-Adresse ist, wenn eine IPv6-Adresse an diesen Endpunkt gesendet wird (verwenden Sie /v1/ipv6) oder wenn ips mehr als 100 Einträge hat.