API-Dokumentation
Öffentliche REST-API für IP-Geolokalisierung, Netzwerktools und Sicherheitsüberprüfung.
Base URL : https://mon-ip.dev
Authentifizierung
API-Schlüssel
Die API ist öffentlich ohne Authentifizierung zugänglich. Für höhere Limits erstellen Sie ein Konto und generieren einen API-Schlüssel in Ihrem Dashboard. Verwendung.
Übermitteln Sie Ihren Schlüssel über den Authorization-Header: Authorization
Limits
Rate Limiting
Anfragen sind je nach Zugangsstufe begrenzt. Bei Überschreitung gibt die API einen 429 Too Many Requests Fehler zurück. 429 Too Many Requests
Jede Antwort enthält Header zur Verfolgung Ihres Verbrauchs:
X-RateLimit-Limit Maximale erlaubte Anfragen pro StundeX-RateLimit-Remaining Verbleibende Anfragen im aktuellen FensterX-RateLimit-Reset UNIX-Zeitstempel des Zähler-ResetsFehler
Fehlercodes
Im Fehlerfall enthält die Antwort ein error-Feld mit einer beschreibenden Nachricht. error
400 Fehlender oder ungültiger Parameter401 Ungültiger oder widerrufener API-Schlüssel429 Anfragelimit überschritten (Rate Limit)502 Verbindungsfehler zum internen Dienst500 Interner Serverfehler{
"error": "Rate limit exceeded",
"limit": 100,
"reset": 1709913600
}IP & Geolokalisierung
/api/v1/json Gibt Geolokalisierungs-, ISP- und Sicherheitsinformationen der Client-IP zurück.
ip string IPv4-Adresseipv6 string IPv6-Adresse (falls verfügbar)hostname string Reverse DNStype string IP-Typ (Residential, Business, etc.)class string IP-Klasse (A, B, C)location object country, countryCode, city, continent, latitude, longitude, timezone, postalCodenetwork object provider, asnsecurity object Sicherheitsindikatoren (Proxy, VPN, Tor, etc.){
"ip": "203.0.113.42",
"hostname": "42.113.0.203.example.net",
"type": "Residential",
"class": "C",
"location": {
"country": "France",
"countryCode": "FR",
"city": "Paris",
"latitude": 48.8566,
"longitude": 2.3522,
"timezone": "Europe/Paris"
},
"network": { "provider": "Orange SA", "asn": "AS3215" },
"security": { "proxy": false, "vpn": false, "tor": false }
}/api/v1/ipv6 Erkennt, ob der Client über IPv4 oder IPv6 verbunden ist.
ip string Client-IP-Adresseis_ipv4 boolean true wenn IPv4is_ipv6 boolean true wenn natives IPv6protocol string "IPv4" oder "IPv6"timestamp string ISO 8601 Zeitstempel{
"ip": "203.0.113.42",
"is_ipv4": true,
"is_ipv6": false,
"protocol": "IPv4",
"timestamp": "2026-03-09T14:30:00Z"
}DNS & Domains
/api/v1/dns Führt eine DNS-Auflösung für einen bestimmten Eintragstyp durch.
host erforderlich Domainname (z.B. google.com)record_type erforderlich Typ: A, AAAA, MX, NS, TXT, CNAME, SOA, PTR, SRVhost string Abgefragte Domainrecords array Liste von Einträgen: record_type, value, ttl{
"host": "google.com",
"records": [
{ "record_type": "MX", "value": "10 smtp.google.com", "ttl": 300 }
]
}/api/v1/whois Gibt die WHOIS-Informationen einer Domain oder IP zurück.
target erforderlich Domain oder IP (z.B. google.com)target string Abgefragtes Zielraw string Rohe WHOIS-Antwortparsed object domain_name, registrar, creation_date, expiration_date, name_servers, status, dnsseccached boolean true wenn das Ergebnis aus dem Cache stammt{
"target": "google.com",
"parsed": {
"domain_name": "google.com",
"registrar": "MarkMonitor Inc.",
"creation_date": "1997-09-15",
"expiration_date": "2028-09-14",
"name_servers": ["ns1.google.com", "ns2.google.com"],
"dnssec": "unsigned"
},
"cached": false
}/api/v1/ssl Prüft das SSL/TLS-Zertifikat einer Domain durch Verbindung zu Port 443.
host erforderlich Domainname (z.B. google.com)host string Getestete Domainvalid boolean true wenn das Zertifikat gültig istdays_remaining number Tage bis zum Ablaufsubject string Betreff (CN)issuer string Aussteller (CN)issuer_org string Organisation des Ausstellersvalid_from string Startdatum (ISO 8601)valid_to string Ablaufdatum (ISO 8601)serial string Seriennummerfingerprint string SHA-256-Fingerabdruckprotocol string TLS-Protokoll (z.B. TLSv1.3)bits number | null Schlüsselgröße in Bitsalt_names string[] Alternative Namen (SAN){
"host": "google.com",
"valid": true,
"days_remaining": 62,
"subject": "*.google.com",
"issuer": "GTS CA 1C3",
"protocol": "TLSv1.3",
"alt_names": ["*.google.com", "google.com"]
}Sicherheit
/api/v1/blacklist Prüft, ob eine IPv4-Adresse in 8 DNS-Blacklists aufgeführt ist.
ip erforderlich IPv4-Adresse (z.B. 8.8.8.8)ip string Getestete IPtotal number Anzahl getesteter Listenlisted number Anzahl der Listen, in denen die IP erscheintclean boolean true wenn die IP in keiner Liste stehtresults array Detail pro Liste: name, zone, listed{
"ip": "8.8.8.8",
"total": 8,
"listed": 0,
"clean": true,
"results": [
{ "name": "Spamhaus ZEN", "zone": "zen.spamhaus.org", "listed": false }
]
}Netzwerk
/api/v1/ping SSESendet ICMP-Pakete und gibt die Ergebnisse in Echtzeit über Server-Sent Events zurück.
host erforderlich Host oder IP (z.B. 8.8.8.8)count optional Anzahl der Pakete (Standard: 4)start host, resolved_ipreply seq, ip, time_ms, ttltimeout seqdone alive, packets_sent, packets_received, packet_loss, min_ms, avg_ms, max_mserror messagedata: {"type":"start","host":"8.8.8.8","resolved_ip":"8.8.8.8"}
data: {"type":"reply","seq":1,"ip":"8.8.8.8","time_ms":12.4,"ttl":118}
data: {"type":"reply","seq":2,"ip":"8.8.8.8","time_ms":11.8,"ttl":118}
data: {"type":"done","alive":true,"packets_sent":4,"packets_received":4,"packet_loss":0,"min_ms":11.2,"avg_ms":12.0,"max_ms":12.8}/api/v1/traceroute SSEVerfolgt den Netzwerkpfad zu einem Host in Echtzeit über Server-Sent Events.
host erforderlich Host oder IP (z.B. google.com)start host, resolved_iphop hop, ip, hostname, rtt_msdone total_hops, reachederror messagedata: {"type":"start","host":"google.com","resolved_ip":"142.250.179.110"}
data: {"type":"hop","hop":1,"ip":"192.168.1.1","hostname":"gateway","rtt_ms":1.2}
data: {"type":"hop","hop":2,"ip":"10.0.0.1","hostname":"isp-router","rtt_ms":5.4}
data: {"type":"done","total_hops":12,"reached":true}Hinweise
Alle Endpunkte akzeptieren Cross-Origin-Anfragen (CORS).
Die Ping- und Traceroute-Endpunkte verwenden Server-Sent Events. EventSource / curl -N
Ihr API-Schlüssel wird nur einmal bei der Erstellung angezeigt. Bewahren Sie ihn sicher auf.
API-Schlüssel werden mit AES-256-GCM im Ruhezustand verschlüsselt.
