Aan de slag
IPScanner API-documentatie
REST-endpoints voor IP Detection, Agentscan en Provenance, met SDK's in zes talen.
Basis-URL
https://ipscanner.io/v1
Authenticatie
Authorization: Bearer <key>
Formaat
JSON via HTTPS
Snelstart
- 1Maak een gratis API-sleutel aan.
- 2Stuur die mee in de Authorization-header.
- 3Roep een endpoint aan, of installeer een SDK.
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"}'Probeer het zonder sleutel
Probeer:
Parameters
- ipstringpadVerplicht
IPv4- of IPv6-adres.
Antwoordvelden
- target.kindstring
ipv4, ipv6, cidr of hostname.
- target.ipstring
Gecontroleerd adres. Bij een hostnaam het adres waarnaar die resolvede.
- reserved.reservedboolean
true voor private, gereserveerde en documentatieranges.
- verdict.classificationstring
residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay of unknown.
- verdict.anonymizedboolean
true als het netwerk de persoon erachter verbergt. Hosting telt mee, behalve bekende infrastructuur.
- verdict.confidencenumber
Betrouwbaarheid van 0 tot 1.
- verdict.methodstring
Welk signaal het oordeel bepaalde.
- verdict.evidencestring[]
Optioneel. Waar de klasse op berust, zoals vpn_server_list, relay_range of known_infra.
- purityobject | null
Opbouw van de score: score, grade, verdict en deductions. In elk abonnement.
- purity.scoreinteger
Zuiverheidsscore van 0 tot 100.
- purity.gradestring
S+, S, A, B of C.
- purity.verdictstring
clean, suspect of dirty.
- purity.deductionsarray
Aftrekpunten op de score, elk met een reden.
- deductionCountinteger
Alleen in vergrendelde antwoorden (Free): hoeveel aftrekposten de achtergehouden zuiverheid bevat, verder niets.
- networkClassstring
residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay of unknown.
- isVpnboolean
Alleen true voor vpn, residential_proxy en tor, nooit voor hosting of relay.
- isProxyboolean
true voor proxy's, inclusief residentiële proxy's.
- isTorboolean
true voor Tor-exitnodes.
- providerstring | null
Eigenaar van het netwerk, indien bekend.
- vpnProviderstring | null
VPN-dienst van een vpn-adres (NordVPN, Mullvad...), indien bekend. Vanaf Starter, null op Free.
- riskScoreinteger
Risico van 0 tot 100.
- geoobject
Zelfde vorm als het geolocatie-antwoord.
- asnobject
Zelfde vorm als het antwoord van de ASN-lookup.
- whoisobject
WHOIS-record, bij een hostnaam als doel.
- degradedstring[]
Delen van de lookup die mislukten en zijn weggelaten.
- atstring
Wanneer de lookup draaide.
- lockedstring[]
Paden (met punten) van de velden die op dit abonnement als null worden verzonden. Ontbreekt vanaf Starter.
- planRequiredstring
Abonnement dat de vergrendelde velden bevat. Ontbreekt vanaf Starter.
curl https://ipscanner.io/v1/demo/185.220.101.1{
"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"
}