Erste Schritte
IPScanner API-Dokumentation
REST-Endpunkte für IP Detection, Agentscan und Provenance, mit SDKs in sechs Sprachen.
Basis-URL
https://ipscanner.io/v1
Authentifizierung
Authorization: Bearer <key>
Format
JSON über HTTPS
Schnellstart
- 1Kostenlosen API-Schlüssel erstellen.
- 2Im Authorization-Header senden.
- 3Einen Endpunkt aufrufen oder ein SDK installieren.
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"}'Ohne Schlüssel testen
Testen:
Parameter
- ipstringPfadErforderlich
IPv4- oder IPv6-Adresse.
Antwortfelder
- target.kindstring
ipv4, ipv6, cidr oder hostname.
- target.ipstring
Geprüfte Adresse. Bei einem Hostnamen die aufgelöste Adresse.
- reserved.reservedboolean
true für private, reservierte und Dokumentationsbereiche.
- verdict.classificationstring
residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay oder unknown.
- verdict.anonymizedboolean
true, wenn das Netzwerk die Person dahinter verbirgt. Hosting zählt dazu, außer bekannter Infrastruktur.
- verdict.confidencenumber
Konfidenz von 0 bis 1.
- verdict.methodstring
Welches Signal das Urteil entschied.
- verdict.evidencestring[]
Optional. Worauf die Klasse beruht, etwa vpn_server_list, relay_range oder known_infra.
- purityobject | null
Aufschlüsselung der Punktzahl: score, grade, verdict und deductions. In jedem Tarif.
- purity.scoreinteger
Sauberkeitswert von 0 bis 100.
- purity.gradestring
S+, S, A, B oder C.
- purity.verdictstring
clean, suspect oder dirty.
- purity.deductionsarray
Abzüge vom Score, jeweils mit Grund.
- deductionCountinteger
Nur in gesperrten Antworten (Free): wie viele Abzüge die zurückgehaltene Reinheit enthält, sonst nichts darüber.
- networkClassstring
residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay oder unknown.
- isVpnboolean
Nur für vpn, residential_proxy und tor true, nie für hosting oder relay.
- isProxyboolean
true für Proxys, einschließlich Residential Proxys.
- isTorboolean
true für Tor-Exit-Nodes.
- providerstring | null
Netzbetreiber, sofern bekannt.
- vpnProviderstring | null
VPN-Dienst einer vpn-Adresse (NordVPN, Mullvad...), sofern bekannt. Ab Starter, bei Free null.
- riskScoreinteger
Risiko von 0 bis 100.
- geoobject
Gleiche Struktur wie die Geolokalisierungs-Antwort.
- asnobject
Gleiche Struktur wie die Antwort der ASN-Abfrage.
- whoisobject
WHOIS-Eintrag, bei Hostnamen als Ziel.
- degradedstring[]
Teile der Abfrage, die fehlschlugen und fehlen.
- atstring
Zeitpunkt der Abfrage.
- lockedstring[]
Punktierte Pfade der Felder, die in diesem Tarif als null gesendet werden. Ab Starter nicht vorhanden.
- planRequiredstring
Tarif, der die gesperrten Felder enthält. Ab Starter nicht vorhanden.
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"
}