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.
Comment la liste noire est-elle générée ?
Chaque adresse IP figurant sur la liste noire provient de signalements de la communauté qui ont été transmis à notre moteur d'évaluation de la réputation. Une adresse IP n'est
ajoutée que lorsque :
Son score de fiabilité est ≥ 75 % (calculé à partir de la fréquence des signalements,
de la diversité des sources, de la gravité et de la date récente)
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)
Il ne figure pas sur la liste blanche (les moteurs de recherche, les fournisseurs de CDN et les infrastructures dont le bon fonctionnement est avéré
sont exclus)
La liste noire est mise à jour automatiquement — il n'y a pas de vérification manuelle par les modérateurs. L'ensemble du processus
est ouvert et transparent : vous pouvez vérifier n'importe quelle entrée via
GET /reportedip/v2/check?ip=<ip>&verbose=true
pour consulter la répartition exacte des points.
Dépôt 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
Formats de fichiers
Format TXT
Texte brut, une adresse IP par ligne. Les lignes commençant par # sont des commentaires
contenant des métadonnées telles que l'heure de création et le nombre total.
texte
# 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
Format 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
ou 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.
Utilisez les fichiers de liste noire pour bloquer les adresses IP malveillantes au niveau du pare-feu ou du serveur web.
Vous trouverez ci-dessous des exemples d'intégration pour les outils les plus courants.
Nginx
Générez un fichier de configuration de liste noire et intégrez-le dans votre bloc de serveur 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
Créer une zone de restriction personnalisée qui bloque les adresses IP figurant sur 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.
Accès à l'API
Le /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 pas count against your daily check or
report quota — poll it as often as your caching strategy needs. See
Authentication & Rate Limits
for tiers and keys.
Paramètre
Type
Description
format
chaîne
Format de réponse : json (par défaut), txt, csv
source
chaîne
Source de la liste noire : 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
entier
Maximum number of IPs to return. Default: 10000 — keep the default; smaller values truncate the list
Consultez la documentation de l'API pour obtenir des informations complètes sur les points de terminaison,
le format des réponses et les paramètres supplémentaires.
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 mise à jour automatique
Configurez une tâche cron pour télécharger automatiquement la dernière liste noire et mettre à jour les règles de votre pare-feu.
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éthode
Latence
Connexion requise
Idéal pour
API
En temps réel
Oui (clé API)
Blocage automatique, règles de pare-feu dynamiques, intégration SIEM
GitHub
Jusqu'à 48 heures
Non
Règles de pare-feu statiques, pipelines CI/CD, analyse hors ligne