Aller au contenu
Sponsorisé AccsZone — 购买账号, 即时发货, 24/7客服

API ipcheckerpro

API JSON gratuite et sans clé : géolocalisation IP, données ASN, indicateurs, listes noires, WHOIS et enregistrements DNS. 60 requêtes/minute, CORS, exemples.

Points d’accès

GET/api/v1/ipLimite: 60/min

Your own address: location, network, type and flags (never cached).

Exemple
curl -s https://ipcheckerpro.com/api/v1/ip
GET/api/v1/ip/{ip}Limite: 60/min

Any public IPv4/IPv6 address. Add whois=1 (RDAP record) and blacklists=1 (DNSBL checks, IPv4).

Exemple
curl -s "https://ipcheckerpro.com/api/v1/ip/1.1.1.1?whois=1&blacklists=1"
GET/api/v1/asn/{asn}Limite: 60/min

Autonomous system details: name, country, type, prefix counts; whois=1 adds the registry record.

Exemple
curl -s "https://ipcheckerpro.com/api/v1/asn/13335?whois=1"
GET/api/v1/dns?name=&type=Limite: 30/min

DNS records of a hostname (A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA, PTR).

Exemple
curl -s "https://ipcheckerpro.com/api/v1/dns?name=example.com&type=MX"
POST/api/v1/bulkNouveauLimite: 5/min

Up to 100 addresses in one JSON array: country, city, ASN, type, Tor/hosting/DROP flags and risk score.

Exemple
curl -s -X POST https://ipcheckerpro.com/api/v1/bulk -H "Content-Type: application/json" -d '["1.1.1.1","8.8.8.8"]'
GET/api/v1/stats/liveNouveauLimite: 60/min

Anonymous aggregates: checks in the last 24 h, countries seen, top networks, dataset versions.

Exemple
curl -s https://ipcheckerpro.com/api/v1/stats/live
GET/api/v1/stats/weeklyNouveauLimite: 60/min

Weekly operating aggregates (last 7 days vs the 7 before): checks, languages, tools, countries, dataset freshness, cron and health history.

Exemple
curl -s https://ipcheckerpro.com/api/v1/stats/weekly

Obtenez une clé API gratuite

Les points d’accès sans clé autorisent 60 requêtes par minute et par IP. Une clé gratuite porte cette limite à 1 000 requêtes par jour et 300 par minute, comptées par clé et non par IP — assez pour une petite application, une tâche planifiée ou un tableau de bord. La clé vous est envoyée par e-mail et affichée une seule fois ci-dessous.

Nous stockons un hachage de la clé et votre e-mail afin que vous puissiez en demander la révocation. Pas de newsletter.

Utiliser la clé

Envoyez la clé dans l’en-tête X-API-Key (recommandé) ou comme paramètre de requête key sur tout point d’accès /api/v1/. Chaque réponse porte les en-têtes X-RateLimit-Limit et X-RateLimit-Remaining pour le quota journalier ; GET /api/v1/key renvoie la consommation du jour pour la clé présentée.

Quotas

Sans cléAvec une clé gratuite
requêtes par minute et par IP60 (DNS: 30)—
requêtes par minute et par clé—300
requêtes par jour et par clé—1,000
POST /api/v1/bulk5 batches/min · 100 IPs5 batches/min · 100 IPs

Exemples

curl -s -H "X-API-Key: YOUR_KEY" \
  "https://ipcheckerpro.com/api/v1/ip/1.1.1.1?checks=native,risk"

# usage of the key
curl -s -H "X-API-Key: YOUR_KEY" https://ipcheckerpro.com/api/v1/key

Vue d’ensemble

Description lisible par machine : /api/v1/openapi.json (OpenAPI 3.1).

L’API renvoie les mêmes données que le site web, au format JSON : la localisation, le réseau et la classification de n’importe quelle adresse IP, l’enregistrement de registre qui la concerne, le statut en liste noire, les détails de l’ASN et les enregistrements DNS. Elle ne nécessite ni clé ni inscription.

  • URL de base : https://ipcheckerpro.com/api/v1
  • Format : JSON, UTF-8, GET uniquement
  • Limites : 60 requêtes par minute et par adresse IP pour les points de terminaison IP et ASN, 30 par minute pour le point de terminaison DNS
  • CORS : chaque réponse porte Access-Control-Allow-Origin: *, les navigateurs peuvent donc l’appeler directement
  • Attribution : si vous affichez les données, indiquez « IP geolocation by DB-IP » avec un lien vers db-ip.com (voir Attribution ci-dessous)

Points de terminaison

GET /api/v1/ip

Renvoie le profil de l’adresse de l’appelant. La réponse est marquée Cache-Control: private, no-store, elle est donc toujours à jour.

curl -s https://ipcheckerpro.com/api/v1/ip

GET /api/v1/ip/{ip}

Renvoie le profil de n’importe quelle adresse IPv4 ou IPv6 publique. Paramètres de requête facultatifs :

  • whois=1 ajoute un objet whois contenant l’enregistrement de registre récupéré via RDAP.
  • blacklists=1 exécute les huit vérifications de listes noires DNS (IPv4 uniquement) et remplit l’objet blacklists.

Les réponses peuvent être mises en cache pendant 300 secondes. Les résultats de listes noires sont mis en cache de notre côté pendant une heure et les enregistrements de registre pendant 24 heures.

curl -s "https://ipcheckerpro.com/api/v1/ip/1.1.1.1?whois=1&blacklists=1"

GET /api/v1/asn/{asn}

Renvoie les détails d’un système autonome. Le numéro peut être donné avec ou sans le préfixe AS. Ajoutez whois=1 pour inclure l’enregistrement de registre dans un objet registry. Les réponses peuvent être mises en cache pendant une heure.

curl -s "https://ipcheckerpro.com/api/v1/asn/13335?whois=1"

GET /api/v1/dns?name=&type=

Renvoie les enregistrements DNS d’un nom d’hôte. type vaut A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA ou PTR ; la valeur par défaut est A. Les réponses peuvent être mises en cache pendant 60 secondes.

curl -s "https://ipcheckerpro.com/api/v1/dns?name=example.com&type=MX"

Structure de la réponse

Une requête IP réussie renvoie un objet avec les champs suivants. Les valeurs inconnues sont null. Les valeurs ci-dessous sont données à titre d’illustration ; exécutez la requête pour voir les données actuelles d’une adresse.

{
  "ip": "1.1.1.1",
  "version": 4,
  "private": false,
  "hostname": "one.one.one.one",
  "location": {
    "country_code": "AU",
    "country": "Australia",
    "region": "Queensland",
    "city": "Brisbane",
    "latitude": -27.4679,
    "longitude": 153.028,
    "timezone": "Australia/Brisbane",
    "continent": "OC",
    "eu": false
  },
  "network": {
    "asn": 13335,
    "name": "CLOUDFLARENET",
    "prefix": "1.1.1.0/24",
    "country_code": "US",
    "type": "hosting"
  },
  "classification": "hosting",
  "flags": {
    "hosting": true,
    "tor": false,
    "vpn_provider": false,
    "spamhaus_drop": null,
    "datacenter": "Cloudflare",
    "mobile": false
  },
  "blacklists": { "checked": 8, "listed": 0 },
  "sources": {
    "geolocation": "DB-IP Lite (CC BY 4.0)",
    "asn": "iptoasn.com / DB-IP Lite"
  }
}

Notes sur les champs :

  • version vaut 4 ou 6. private vaut true pour les plages de bouclage, lien local et privées ; ces adresses n’ont ni location ni network.
  • hostname est l’enregistrement PTR (DNS inverse), ou null.
  • network.type est la classification du réseau déduite du nom de l’ASN et des listes publiques : isp, mobile, hosting, education, government, business ou unknown.
  • classification est le verdict global : residential, mobile, hosting, vpn, tor, education, government, business, private ou unknown.
  • flags.spamhaus_drop est la plage DROP correspondante sous forme de chaîne, ou null. flags.datacenter est le nom du fournisseur correspondant dans la liste des centres de données, ou null.
  • blacklists vaut null sauf si blacklists=1 a été fourni.
  • whois (avec whois=1) contient handle, name, type, start, end, cidr, country, parent, status, entities, events, remarks, links et registry.

Une requête ASN renvoie asn, name, country_code, type, ipv4_prefixes, ipv4_addresses, ipv6_prefixes, prefixes_sample (jusqu’à 20 chaînes CIDR), registry (avec whois=1, sinon null) et source.

Une requête DNS renvoie name, type et records, un tableau d’objets { "name", "ttl", "value" }.

Erreurs

Les erreurs sont des objets JSON avec un code error et, en général, un message :

Statut error Signification
400 invalid_ip Le segment de chemin n’est pas une adresse IPv4 ou IPv6 valide
400 invalid_asn L’ASN n’est pas un nombre
400 invalid_query name n’est pas un nom d’hôte ou type n’est pas pris en charge
404 not_found Aucun préfixe annoncé n’est connu pour cet ASN
429 rate_limited Limite dépassée ; patientez puis réessayez

Exemples

JavaScript (navigateur ou Node)

const res = await fetch("https://ipcheckerpro.com/api/v1/ip/8.8.8.8?whois=1");
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data.location.country, data.network.name, data.classification);

Python

import requests

r = requests.get("https://ipcheckerpro.com/api/v1/ip/8.8.8.8", params={"blacklists": 1}, timeout=10)
r.raise_for_status()
data = r.json()
print(data["location"]["country"], data["network"]["name"], data["blacklists"])

curl avec l’adresse de l’appelant

curl -s https://ipcheckerpro.com/api/v1/ip | jq '{ip, country: .location.country, type: .network.type}'

Attribution

Les données de géolocalisation proviennent de DB-IP Lite, sous licence Creative Commons Attribution 4.0. Si vous présentez des données de cette API à des utilisateurs, affichez le texte « IP geolocation by DB-IP » avec un lien vers https://db-ip.com à proximité des données. Les données ASN proviennent d’iptoasn.com (domaine public) et de DB-IP Lite. Les résultats de listes noires et de registre appartiennent à leurs opérateurs respectifs et sont renvoyés pour votre propre usage, non pour être redistribués sous forme de jeu de données.

Usage raisonnable

Les limites ci-dessus s’appliquent par adresse IP appelante. Si vous avez besoin de plus, mettez les réponses en cache de votre côté ; les données de localisation et de réseau d’une adresse changent rarement au cours d’une journée. N’utilisez pas l’API pour reconstituer une copie des bases de données sous-jacentes. Consultez les conditions d’utilisation pour l’ensemble des règles d’usage acceptable.

Évolutions

L’API est versionnée dans le chemin. Des champs peuvent être ajoutés aux réponses sans préavis ; les champs existants ne sont ni renommés ni supprimés au sein de v1. Les changements de limites, de points de terminaison ou de comportement sont annoncés sur cette page avant leur entrée en vigueur.