IP Detection
Comprobación masiva de IPs
Evalúa una lista de direcciones en una solicitud, o recibe los resultados a medida que llegan.
Comprobar una lista
Parámetros
- ipsstring[]
Direcciones, opcionalmente con puerto. Envía esto o input.
- inputstring
Texto pegado; el servidor encuentra las direcciones.
Campos de la respuesta
- submittedinteger
Elementos recibidos.
- uniqueinteger
Direcciones distintas comprobadas.
- duplicatesinteger
Direcciones enviadas más de una vez.
- invalidstring[]
Entradas que no eran direcciones válidas.
- summaryobject
Número de resultados por nota y veredicto. Desde Starter, vacío en Free.
- planRequiredstring
Plan que incluye los campos bloqueados. Ausente desde Starter.
- results[].ipstring
Dirección IP comprobada.
- results[].portinteger
Puerto de la entrada, si lo había.
- results[].scoreinteger | null
Puntuación de limpieza de 0 a 100. Desde Starter, null en Free.
- results[].gradestring | null
S+, S, A, B o C. Desde Starter, null en Free.
- results[].verdictstring | null
clean, suspect o dirty. Desde Starter, null en Free.
- results[].classificationstring
residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay o unknown.
- results[].confidencenumber
Confianza de 0 a 1.
- results[].anonymizedboolean
True cuando la red oculta a la persona que hay detrás. El hosting cuenta, salvo la infraestructura conocida.
- results[].vpnProviderstring | null
Servicio VPN de una dirección vpn (NordVPN, Mullvad...), si se conoce. Desde Starter, null en Free.
- results[].isTorExitboolean
True para nodos de salida de Tor.
- results[].inVpnRangeboolean
True cuando la IP está en un rango de VPN conocido.
- results[].inDatacenterRangeboolean
True cuando la IP está en un rango de datacenter conocido.
- results[].deductionsarray | null
Puntos restados a la puntuación, cada uno con su motivo. Desde Starter, null en Free.
- results[].lockedstring[]
Campos de esta fila enviados como null en este plan. Ausente desde Starter.
curl -X POST https://ipscanner.io/v1/bulk/check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ips":["185.220.101.1","24.48.0.1:8080"]}'{
"submitted": 2,
"unique": 2,
"duplicates": 0,
"invalid": [],
"summary": {
"clean": 1,
"dirty": 1
},
"results": [
{
"input": "185.220.101.1",
"ip": "185.220.101.1",
"score": 0,
"grade": "C",
"verdict": "dirty",
"classification": "tor",
"confidence": 0.95,
"anonymized": true,
"vpnProvider": null,
"isTorExit": true,
"inVpnRange": false,
"inDatacenterRange": false,
"asn": "AS60729",
"asnName": "Stiftung Erneuerbare Freiheit",
"country": "DE",
"deductions": [
{
"factor": "network_origin",
"points": 98,
"detail": "tor at high confidence"
}
]
},
{
"input": "24.48.0.1:8080",
"ip": "24.48.0.1",
"port": 8080,
"score": 88,
"grade": "S",
"verdict": "clean",
"classification": "residential_clean",
"confidence": 0.3,
"anonymized": false,
"vpnProvider": null,
"isTorExit": false,
"inVpnRange": false,
"inDatacenterRange": false,
"asn": "AS5769",
"asnName": "VIDEOTRON",
"country": "CA",
"deductions": [
{
"factor": "no_corroboration",
"points": 8,
"detail": "no observation on record for this IP"
}
]
}
]
}Transmitir una lista
Parámetros
- ipsstring[]
Direcciones, opcionalmente con puerto. Envía esto o input.
- inputstring
Texto pegado; el servidor encuentra las direcciones.
Campos de la respuesta
- typestring
meta, result, error o done.
- indexinteger
Posición de la dirección en la lista sin duplicados, desde 0.
- ipstring
Dirección IP comprobada.
- verdictstring | null
clean, suspect o dirty. Desde Starter, null en Free.
- classificationstring
residential_clean, mobile, hosting, datacenter, vpn, residential_proxy, tor, relay o unknown.
- scoreinteger | null
Puntuación de limpieza de 0 a 100. Desde Starter, null en Free.
- gradestring | null
S+, S, A, B o C. Desde Starter, null en Free.
- vpnProviderstring | null
Servicio VPN de una dirección vpn, ausente si no se conoce. Desde Starter, null en Free.
- lockedstring[]
Líneas de resultado: campos enviados como null en este plan. Ausente desde Starter.
- planRequiredstring
Línea meta: plan que incluye los campos bloqueados. Ausente desde Starter.
- reasonstring
En error: invalid_ip o reserved. En done: complete o quota_exceeded.
- processedinteger
En done: direcciones comprobadas.
- failedinteger
En done: direcciones que no se pudieron comprobar.
- totalinteger
En meta y done: direcciones únicas de la solicitud.
curl -X POST -N https://ipscanner.io/v1/ip/bulk \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ips":["185.220.101.1","24.48.0.1","10.0.0.1"]}'{"type":"meta","total":3,"metered":3}
{"type":"result","ip":"185.220.101.1","verdict":"dirty","classification":"tor","confidence":0.95,"anonymized":true,"score":0,"grade":"C","isTorExit":true,"asn":"AS60729","country":"DE"}
{"type":"result","index":1,"ip":"24.48.0.1","verdict":"clean","classification":"residential_clean","confidence":0.3,"score":88,"grade":"S","asn":"AS5769","country":"CA"}
{"type":"error","index":2,"input":"10.0.0.1","reason":"reserved","message":"private address"}
{"type":"done","reason":"complete","total":3,"processed":2,"failed":1}