The ReportedIP blacklist is a community-driven list of malicious IP addresses, generated automatically
from real-world attack reports and available via API and GitHub. Use it to block known malicious IPs
in your firewall, web server, or application — it refreshes daily without manual review.
Cómo se genera la lista negra
Todas las direcciones IP de la lista negra proceden de denuncias de la comunidad que llegan a nuestro motor de reputación. Una dirección IP
solo se incluye cuando:
Su índice de fiabilidad es ≥ 75 % (calculado a partir de la frecuencia de las notificaciones,
la diversidad de fuentes, la gravedad y la actualidad)
Its most recent report is at least 48 hours old (false-positive cool-down — entries only enter the export once the score has had time to recalibrate)
No figura en la lista blanca (se excluyen los motores de búsqueda, los proveedores de CDN y las infraestructuras
de confianza)
La lista negra se actualiza automáticamente; no hay revisión editorial manual. Todo el proceso
es abierto y transparente: puedes verificar cualquier entrada a través de
GET /reportedip/v2/check?ip=<ip>&verbose=true
para ver el desglose exacto de la puntuación.
Repositorio de GitHub
The full blacklist is published as a public GitHub repository, pushed daily from the live API data.
The exported data itself is delayed by 48 hours (the false-positive cool-down described above).
You can clone it, use it in CI/CD pipelines, or integrate it into your infrastructure.
reportedip-blacklist/
├── blacklist-all.txt # All IPs, one per line
├── blacklist-all.json # All IPs with metadata
├── blacklist-all.csv # All IPs, CSV format
├── metadata.json # Export metadata (version, counts, timestamps)
├── lists/ # Thematic sub-lists
│ ├── spam.txt
│ ├── brute-force.txt
│ ├── cms-login.txt
│ ├── web-attacks.txt
│ ├── malware.txt
│ ├── ddos.txt
│ ├── fraud.txt
│ ├── infrastructure.txt
│ └── apt.txt
└── formats/ # Ready-to-include firewall snippets
├── nginx-deny.conf
├── apache-htaccess.txt
└── iptables.sh
Formatos de archivo
Formato TXT
Texto sin formato, una dirección IP por línea. Las líneas que comienzan con # son comentarios
que contienen metadatos como la fecha de creación y el recuento total.
texto
# ReportedIP Blacklist - All IPs
# https://reportedip.de
#
# Copyright (c) 2026 ReportedIP / Patrick Schlesinger
# Licensed under CC BY 4.0 - https://creativecommons.org/licenses/by/4.0/
#
# IMPORTANT: Data is delayed by 48 hours.
# For real-time threat intelligence via API, contact: [email protected]
#
# Generated: 2026-07-22
# Total IPs: 12847
#
1.2.3.4
5.6.7.8
9.10.11.12
Formato JSON
A meta block (export version, counts, generation timestamp) followed by an
entries array. categories are numeric threat-category IDs — resolve
them against the threat-category catalogue
o GET /categories.
Comma-separated values with a header row. Easy to import into spreadsheets, databases, or SIEM tools.
categories holds semicolon-separated numeric category IDs.
Utiliza los archivos de lista negra para bloquear direcciones IP maliciosas a nivel del cortafuegos o del servidor web.
A continuación se muestran ejemplos de integración con herramientas habituales.
Nginx
Genera una configuración de lista de bloqueados e inclúyela en el bloque de servidor de Nginx:
# /etc/nginx/sites-enabled/default
server {
include /etc/nginx/blocklist.conf;
# ... rest of your config
}
Apache (.htaccess)
Apache
# .htaccess — Block reported IPs
<RequireAll>
Require all granted
Require not ip 1.2.3.4
Require not ip 5.6.7.8
Require not ip 9.10.11.12
</RequireAll>
iptables
bash
# Block all IPs from the blacklist
while read ip; do
iptables -A INPUT -s "$ip" -j DROP
done < blacklist-all.txt
fail2ban
Crea una «jail» personalizada que bloquee las direcciones IP de la ReportedIP :
fail2ban also works in the other direction: a ready-made action reports every ban on your server
to the community via POST /report. See the
fail2ban integration guide for the
action config and the jail-to-category mapping.
Acceso a la API
El /blacklist endpoint provides real-time access to the full blacklist with
filtering options. An API key with the threat-feed feature (Contributor tier and up) is required.
The endpoint is feature-gated and does no count against your daily check or
report quota — poll it as often as your caching strategy needs. See
Autenticación y límites de frecuencia
for tiers and keys.
Parámetro
Tipo
Descripción
format
cadena
Formato de respuesta: json (predeterminado), txt, csv
source
cadena
Fuente de la lista negra: dynamic (default) — the community-driven, automatically scored blacklist. Other values are reserved for internal use
One or more threat category IDs, comma-separated (e.g. 22,18 for SSH plus generic brute-force). Full catalogue on the Threat Categories page or via GET /categories
limit
entero
Maximum number of IPs to return. Default: 10000 — keep the default; smaller values truncate the list
Consulte la Referencia de la API para obtener la documentación completa sobre los puntos de conexión,
el formato de respuesta y los parámetros adicionales.
Service-specific blacklists
Combine the category filter with confidence=90 to build one block list per
exposed service. Each list only contains IPs that were reported for the matching attack type, so you
can apply it port-scoped — an IP on the web list never locks anyone out of SSH.
Web App Attack, SQL Injection, Web Spam, Bad Web Bot, Blog Spam — covers WordPress login/XML-RPC/REST brute force, plugin and core exploits, comment spam and scanning, which are reported under these IDs
# SSH attackers only, plain text for ipset/nftables
curl -H "X-Key: YOUR_API_KEY" \
"https://reportedip.de/wp-json/reportedip/v2/blacklist?confidence=90&format=txt&limit=10000&category=22,18"
Lists are regenerated server-side every 15 minutes. Hourly polling per list is plenty; send the
stored ETag back as If-None-Match and unchanged lists answer with
304 Not Modified. All valid category IDs are in the range 1–30 — see the
Threat Categories catalogue.
Script de actualización automática
Configura una tarea programada para descargar automáticamente la lista negra más reciente y actualizar las reglas de tu cortafuegos.
Important: The GitHub repository is pushed daily, but the exported data carries a
48-hour false-positive cool-down. For real-time blocking with the most current data, use the API
directly — it reflects changes immediately as new reports come in, while the GitHub files lag
behind by up to two days. Mail servers can also consume the blacklist as a
DNSBL / RBL zone without downloading files at all.
Método
Latencia
Se requiere autenticación
Ideal para
API
En tiempo real
Sí (clave API)
Bloqueo automático, reglas dinámicas de cortafuegos, integración con SIEM
GitHub
Hasta 48 horas
No
Reglas estáticas de cortafuegos, procesos de CI/CD, análisis sin conexión
Última actualización:
· Gestionado por el ReportedIP