Everything you need to know — directory structure, automation schedules, data formats, download links, and integration guides.
Every directory has a README with documentation, download links, and usage examples.
list.json / list.txtPrimary blocklist — all PhishDestroy curated phishing & scam domains. The source of truth.
dns/DNS intelligence engine. Multithreaded validator (100 threads) checks A/AAAA/CNAME/MX/NS records. Live vs dead classification.
community/Aggregated from 13+ community threat intel feeds. Filtered, normalized, DNS-validated. Separate from primary to maintain data integrity.
rootlist/formats/Pre-built blocklist configs for every platform — Pi-hole, Unbound, uBlock Origin, BIND RPZ, hosts file. 4 lists × 6 formats.
rootlist/arrays/Full blocklist split into 34 JSON shards (3K domains each). Optimized for CDN edge caching, pagination, browser extensions.
archives/Historical snapshots for research. Weekly (every Sunday) and monthly full blocklist state. Train ML models, track trends.
allow/Allowlisted domains — false positive protection. Domains here are automatically excluded from all blocklists during processing.
View allow/ →scripts/Python processing pipeline — validation, cleaning, format conversion, rootlist building, sharding. Plus the GitHub Pages website.
Fully automated pipeline. Domains flow from detection → validation → DNS check → format conversion → deployment.
Primary Active is recommended for production blocking — only DNS-verified live threats.
| List | Type | Domains | GitHub |
|---|---|---|---|
| Primary | Curated — all | ~100K | formats/primary/ |
| Primary Active ⭐ | Curated — live only | ~51K | formats/primary_active/ |
| Community | 13+ feeds — all | ~830K | formats/community/ |
| Community Active | 13+ feeds — live | ~285K | formats/community_active/ |
| Format | File | Compatible With |
|---|---|---|
| Plain domains | domains.txt | Any tool, scripts, custom integrations |
| Hosts file | hosts.txt | Windows, macOS, Linux /etc/hosts |
| AdBlock filter | adblock.txt | uBlock Origin, AdGuard, AdBlock Plus |
| DNSMasq config | dnsmasq.conf | Pi-hole, OpenWrt, DNSMasq |
| Unbound config | unbound.conf | Unbound DNS resolver |
| Response Policy Zone | rpz.zone | BIND, Knot, PowerDNS |
Each month folder contains a full analytics report: registrar abuse, TLD distribution, geolocation, brand targeting, crypto drainers, VirusTotal engine coverage, activity charts, and downloadable threat JSON.
When domains are added to list.json, this pipeline runs automatically:
Validates JSON structure of all list files
Removes false positives using allow/ lists
Converts to 6 output formats — hosts, adblock, dnsmasq, unbound, rpz, plain
Updates count.json badge endpoints for shields.io
Extracts root domains via tldextract, filters infrastructure providers, validates DNS
Splits root domains into 34 JSON shards (3K each) for CDN distribution
Free, no API key required. Base URL: api.destroy.tools
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/check?domain= | Check if a domain is in the blocklist. Returns risk score + metadata. |
GET | /v1/search?q= | Search domains by keyword or pattern. |
POST | /v1/check/bulk | Bulk check — newline-separated domains in body. |
GET | /v1/feed/primary | Primary threat feed — latest additions. |
GET | /v1/stats | Live statistics — counts, rates, trends. |