Documentazione API e per sviluppatori
Una API JSON piccola e prevedibile. Gli endpoint sono gestiti tramite proxy lato server tramite il nostro livello di astrazione del provider, con normalizzazione della risposta, cache leggera e gestione elegante degli errori.
Endpoint
GET /api/my-ip
Restituisce i dati di geolocalizzazione e di rete per l'IP pubblico del chiamante, visto dal server.
curl https://ipcheck.mubarokah.com/api/my-ip
GET /api/lookup?q=<ip|domain>
Cerca qualsiasi IPv4, IPv6 o dominio semplice. Protocolli (http/https) e percorsi sono rifiutati.
curl "https://ipcheck.mubarokah.com/api/lookup?q=8.8.8.8"
POST /api/bulk
Ricerche collettive (fino a 50 per richiesta). La concorrenza è limitata lato server.
curl -X POST -H 'content-type: application/json' \
-d '{"queries":["8.8.8.8","1.1.1.1","example.com"]}' \
https://ipcheck.mubarokah.com/api/bulkFormato della risposta
{
"ok": true,
"query": "8.8.8.8",
"ip": "8.8.8.8",
"ipVersion": "IPv4",
"location": {
"continent": "North America",
"country": "United States",
"countryCode": "US",
"regionName": "Virginia",
"city": "Ashburn",
"zip": "20149",
"lat": 39.0438,
"lon": -77.4874,
"timezone": "America/New_York",
"utcOffsetSeconds": -14400,
"currency": "USD"
},
"network": {
"isp": "Google LLC",
"org": "Google Public DNS",
"as": "AS15169 Google LLC",
"asname": "GOOGLE",
"reverse": "dns.google"
},
"flags": { "mobile": false, "proxy": false, "hosting": true }
}Errori
invalid_query— l'input non è un IP o dominio valido.rate_limited— limite di velocità del provider a monte raggiunto.provider_unreachable— il server a monte è offline.
Limiti di frequenza e cache
Le risposte sono memorizzate nella cache lato server per 10 minuti per query. Il piano pubblico gratuito del fornitore a monte ha limiti di frequenza ed è destinato a un uso non commerciale. Per il traffico di produzione si consiglia di configurare un provider commerciale tramite le variabili di ambiente documentate di seguito.
Astrazione del fornitore
Imposta le seguenti variabili di ambiente sul server. I segreti non vengono mai esposti al browser.
IP_PROVIDER=ip-api # or ip-api-pro IP_API_KEY=... # required for pro IP_API_BASE=http://ip-api.com
Note
- La geolocalizzazione IP è una stima, accurata al massimo a livello di città o area metropolitana.
- Gli intervalli privati e riservati non possono essere geolocatizzati.
- L'API non registra il contenuto della query oltre a quanto richiesto per la memorizzazione nella cache.
