API para desarrolladores
El endpoint principal de la API REST es /ip, autenticado con una clave de
API. GET /ip/{ip} recibe una dirección IP y responde con las categorías de
riesgo en que está marcada. Como alternativa, GET /ip/{ip}/full añade la
inteligencia de red y localización asociada a ella - la misma lectura que el
panel dibuja como un pasaporte, además de los riesgos.
El endpoint de consulta
GET /ip/{ip} responde con las categorías de riesgo en que está marcada la
dirección, y nada más. 1 crédito de API.
curl 'https://api.ipraccoon.com/ip/172.58.147.73' \
-H "Authorization: $IP_RACCOON_TOKEN" \
-H 'Accept: application/json'
GET /ip/{ip}/full responde con los mismos riesgos más los objetos network
y location que hay detrás - la lectura completa que el panel dibuja como un
pasaporte. 1,5 créditos de API.
curl 'https://api.ipraccoon.com/ip/172.58.147.73/full' \
-H "Authorization: $IP_RACCOON_TOKEN" \
-H 'Accept: application/json'
| Parámetro | En | Descripción |
|---|---|---|
ip | path | La dirección a puntuar - solo se admiten direcciones IPv4 |
Ambas llamadas descuentan créditos de API de tu saldo. Si lo necesitas, puedes
consultar el endpoint GET /me para ver tu saldo actual; mira la sección de
Referencia de la API REST para más detalles.
La respuesta
Ejemplo de respuesta
Ten en cuenta que los campos network y location solo se incluyen si se usa
/ip/{ip}/full; en caso contrario no vendrán definidos.
{
"ip": "172.58.147.73",
"risks": {
"reputation": "abuse"
},
"network": {
"asn": 21928,
"as": "T-Mobile USA, Inc.",
"isp": "T-Mobile USA",
"org": "T-Mobile USA",
"networkType": "Mobile",
"mcc": "310",
"mnc": "053"
},
"location": {
"country": "US",
"city": "Nashville",
"latitude": 36.0711,
"longitude": -86.7196,
"timezone": "America/Chicago",
"continent": "NA",
"eu": false
}
}
risks - las marcas
Un objeto con una clave por cada categoría en que la dirección está marcada
ahora mismo, y como valor la detection (subcategoría) que la levantó. Cada
categoría tiene su propio conjunto de detecciones posibles. Un objeto vacío
significa que no se asoció ningún riesgo a esa dirección. Cada categoría la
respalda un dataset al que también puedes suscribirte directamente - mira el
Repositorio de activos de inteligencia.
| Categoría | Significado |
|---|---|
reputation | Feeds de reputación de amenazas, señales de spam y abuso de formularios, e historial de abuso de la IP |
anonymizers | VPN, proxies, rangos de centros de datos y nodos de salida de Tor |
detected_bots | Patrones de detección de bots maliciosos, por comportamiento y heurísticos, sobre tráfico real |
known_bots | Firmas de bots verificadas y registros de crawlers conocidos, incluidos LLM como Claude y ChatGPT |
network - el operador
null cuando la dirección está fuera de cobertura. Cada campo interior es a
su vez nullable: el registro es un formulario, y un campo que las fuentes no
pueden rellenar queda vacío en lugar de adivinarse.
| Campo | Tipo | Descripción |
|---|---|---|
asn | integer | Número de sistema autónomo |
as | string | Nombre del sistema autónomo |
isp | string | El ISP que opera la dirección |
org | string | La organización a la que está asignado el rango |
networkType | string | Unknown, Mobile o WiFi |
mcc / mnc | string | Código móvil de país / red, en rangos móviles |
location - la geografía
null cuando la dirección está fuera de cobertura - el panel lee una
respuesta con network y location ambos null como Sin datos. La misma
regla que la red: todo campo nullable, nada adivinado.
| Campo | Tipo | Descripción |
|---|---|---|
country | string | Código de país ISO 3166-1 alfa-2 |
city | string | La ciudad más cercana |
latitude / longitude | number | Coordenadas de ese contexto de ciudad |
timezone | string | Nombre de zona horaria IANA |
continent | string | Código de continente de dos letras |
eu | boolean | Si el país pertenece a la UE |
La geolocalización tiene precisión de ciudad como mucho - trata las coordenadas como contexto de continente y ciudad, nunca como una dirección postal.
Límites y errores
400 Bad Request- dirección IP inválida o no admitida.401 Unauthorized- clave de API no proporcionada, o inválida/revocada.402 Payment Required- la cuenta no tiene créditos de API suficientes. Considera activar la recarga automática para evitar cualquier interrupción del servicio.- Los cuerpos de error son texto plano, no JSON.