IP Detection

API de recherche IP

Le verdict complet pour une IP, une plage ou un nom d'hôte, en un appel.

Rechercher une IP

POST/v1/ip/lookup
Clé API

Paramètres

  • targetstringObligatoire

    IPv4, IPv6, plage CIDR ou nom d'hôte.

Champs de la réponse

  • target.kindstring

    ipv4, ipv6, cidr ou hostname.

  • target.ipstring

    Adresse vérifiée. Pour un nom d'hôte, l'adresse résolue.

  • reserved.reservedboolean

    true pour les plages privées, réservées et de documentation.

  • verdict.classificationstring

    residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay ou unknown.

  • verdict.anonymizedboolean

    true si le réseau masque la personne derrière. L'hébergement compte, sauf l'infrastructure connue.

  • verdict.confidencenumber

    Confiance de 0 à 1.

  • verdict.methodstring

    Le signal qui a décidé du verdict.

  • verdict.evidencestring[]

    Facultatif. Ce sur quoi repose la classe, par exemple vpn_server_list, relay_range ou known_infra.

  • purityobject | null

    Détail du score : score, grade, verdict et deductions. À partir de Starter, null sur Free.

  • purity.scoreinteger

    Score de propreté de 0 à 100. À partir de Starter, null sur Free.

  • purity.gradestring

    S+, S, A, B ou C. À partir de Starter, null sur Free.

  • purity.verdictstring

    clean, suspect ou dirty. À partir de Starter, null sur Free.

  • purity.deductionsarray

    Points retirés du score, chacun avec une raison. À partir de Starter, null sur Free.

  • networkClassstring

    residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay ou unknown.

  • isVpnboolean

    true uniquement pour vpn, residential_proxy et tor, jamais pour hosting ou relay.

  • isProxyboolean

    true pour les proxys, y compris résidentiels.

  • isTorboolean

    true pour les nœuds de sortie Tor.

  • providerstring | null

    Propriétaire du réseau, si connu. À partir de Starter, null sur Free.

  • vpnProviderstring | null

    Service VPN d'une adresse vpn (NordVPN, Mullvad...), si connu. À partir de Starter, null sur Free.

  • riskScoreinteger

    Risque de 0 à 100.

  • geoobject

    Même structure que la réponse de géolocalisation.

  • asnobject

    Même structure que la réponse de la recherche ASN.

  • whoisobject

    Fiche WHOIS, pour les cibles de type nom d'hôte.

  • degradedstring[]

    Parties de la recherche qui ont échoué et ont été omises.

  • atstring

    Moment de la recherche.

  • lockedstring[]

    Chemins pointés des champs envoyés à null avec cette formule. Absent à partir de Starter.

  • planRequiredstring

    Formule qui inclut les champs verrouillés. Absent à partir de Starter.

curl -X POST https://ipscanner.io/v1/ip/lookup \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"8.8.8.8"}'
Réponse
{
  "target": {
    "raw": "8.8.8.8",
    "kind": "ipv4",
    "ip": "8.8.8.8"
  },
  "reserved": {
    "reserved": false
  },
  "verdict": {
    "classification": "hosting",
    "anonymized": false,
    "confidence": 0.9,
    "method": "org:hosting",
    "evidence": [
      "known_infra",
      "datacenter_range"
    ]
  },
  "purity": {
    "score": 86,
    "grade": "S",
    "verdict": "clean",
    "deductions": [
      {
        "factor": "network_origin",
        "points": 14,
        "detail": "hosting at high confidence"
      }
    ]
  },
  "networkClass": "hosting",
  "isVpn": false,
  "isProxy": false,
  "isTor": false,
  "provider": "GOOGLE",
  "vpnProvider": null,
  "riskScore": 25,
  "geo": {
    "ip": "8.8.8.8",
    "country": "United States",
    "countryCode": "US",
    "city": "",
    "region": "",
    "postalCode": "",
    "latitude": 37.751,
    "longitude": -97.822,
    "timezone": "America/Chicago",
    "accuracyRadius": 1000
  },
  "asn": {
    "ip": "8.8.8.8",
    "asn": "AS15169",
    "name": "GOOGLE",
    "type": "unknown",
    "country": "US"
  },
  "at": "2026-10-06T17:55:29.44292148Z"
}

Essayer sans clé

GET/v1/demo/{ip}
Sans cléEnviron 100 par jour et par IP

Paramètres

  • ipstringcheminObligatoire

    Adresse IPv4 ou IPv6.

Champs de la réponse

  • target.kindstring

    ipv4, ipv6, cidr ou hostname.

  • target.ipstring

    Adresse vérifiée. Pour un nom d'hôte, l'adresse résolue.

  • reserved.reservedboolean

    true pour les plages privées, réservées et de documentation.

  • verdict.classificationstring

    residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay ou unknown.

  • verdict.anonymizedboolean

    true si le réseau masque la personne derrière. L'hébergement compte, sauf l'infrastructure connue.

  • verdict.confidencenumber

    Confiance de 0 à 1.

  • verdict.methodstring

    Le signal qui a décidé du verdict.

  • verdict.evidencestring[]

    Facultatif. Ce sur quoi repose la classe, par exemple vpn_server_list, relay_range ou known_infra.

  • purityobject | null

    Détail du score : score, grade, verdict et deductions. À partir de Starter, null sur Free.

  • purity.scoreinteger

    Score de propreté de 0 à 100. À partir de Starter, null sur Free.

  • purity.gradestring

    S+, S, A, B ou C. À partir de Starter, null sur Free.

  • purity.verdictstring

    clean, suspect ou dirty. À partir de Starter, null sur Free.

  • purity.deductionsarray

    Points retirés du score, chacun avec une raison. À partir de Starter, null sur Free.

  • networkClassstring

    residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay ou unknown.

  • isVpnboolean

    true uniquement pour vpn, residential_proxy et tor, jamais pour hosting ou relay.

  • isProxyboolean

    true pour les proxys, y compris résidentiels.

  • isTorboolean

    true pour les nœuds de sortie Tor.

  • providerstring | null

    Propriétaire du réseau, si connu. À partir de Starter, null sur Free.

  • vpnProviderstring | null

    Service VPN d'une adresse vpn (NordVPN, Mullvad...), si connu. À partir de Starter, null sur Free.

  • riskScoreinteger

    Risque de 0 à 100.

  • geoobject

    Même structure que la réponse de géolocalisation.

  • asnobject

    Même structure que la réponse de la recherche ASN.

  • whoisobject

    Fiche WHOIS, pour les cibles de type nom d'hôte.

  • degradedstring[]

    Parties de la recherche qui ont échoué et ont été omises.

  • atstring

    Moment de la recherche.

  • lockedstring[]

    Chemins pointés des champs envoyés à null avec cette formule. Absent à partir de Starter.

  • planRequiredstring

    Formule qui inclut les champs verrouillés. Absent à partir de Starter.

curl https://ipscanner.io/v1/demo/185.220.101.1
Réponse
{
  "target": {
    "raw": "185.220.101.1",
    "kind": "ipv4",
    "ip": "185.220.101.1"
  },
  "reserved": {
    "reserved": false
  },
  "verdict": {
    "classification": "tor",
    "anonymized": true,
    "confidence": 0.95,
    "method": "tor_set",
    "evidence": [
      "tor_exit_list"
    ]
  },
  "networkClass": "tor",
  "isVpn": true,
  "isProxy": true,
  "isTor": true,
  "riskScore": 100,
  "asn": {
    "ip": "185.220.101.1",
    "asn": "AS60729",
    "name": "Stiftung Erneuerbare Freiheit",
    "type": "unknown",
    "country": "DE"
  },
  "at": "2026-10-08T21:55:08.590700162Z",
  "purity": null,
  "provider": null,
  "vpnProvider": null,
  "geo": {
    "ip": "185.220.101.1",
    "country": "Germany",
    "countryCode": "DE",
    "city": "Brandenburg",
    "region": "Brandenburg",
    "timezone": "Europe/Berlin",
    "latitude": null,
    "longitude": null,
    "postalCode": null,
    "accuracyRadius": null
  },
  "locked": [
    "purity",
    "provider",
    "vpnProvider",
    "geo.latitude",
    "geo.longitude",
    "geo.postalCode",
    "geo.accuracyRadius"
  ],
  "planRequired": "Starter"
}

Votre propre IP

GET/v1/myip
Sans clé

Champs de la réponse

  • ipv4string

    Votre adresse IPv4, si vous êtes connecté en IPv4.

  • ipv6string

    Votre adresse IPv6, si vous êtes connecté en IPv6.

  • countrystring

    Nom du pays.

  • countryCodestring

    Code pays ISO à deux lettres.

  • citystring

    Nom de la ville.

  • regionstring

    Région ou État.

  • latitudenumber

    Latitude.

  • longitudenumber

    Longitude.

  • timezonestring

    Fuseau horaire IANA.

  • asnstring

    Numéro de système autonome, par exemple AS15169.

  • asnNamestring

    Nom de l'organisation qui exploite le réseau.

  • asnTypestring

    hosting, isp, vpn, education, government, mobile ou unknown.

curl https://ipscanner.io/v1/myip
Réponse
{
  "ipv4": "203.0.113.42",
  "country": "Canada",
  "countryCode": "CA",
  "city": "Montreal",
  "region": "Quebec",
  "postalCode": "H1K",
  "latitude": 45.6085,
  "longitude": -73.5493,
  "timezone": "America/Toronto",
  "accuracyRadius": 5,
  "asn": "AS5769",
  "asnName": "VIDEOTRON",
  "asnType": "isp",
  "asnCountry": "CA"
}