Download current IP ranges (CIDRs) used by the DuckDuckBot crawler.
Choose your preferred format. All downloads are permalinks that always provide the latest data.
Sample of 25 from 486 ranges. Download the full list above, or search for a specific IP.
| CIDR | Type |
|---|---|
| 4.144.148.23/32 | ipv4 |
| 4.144.182.50/32 | ipv4 |
| 4.144.227.142/32 | ipv4 |
| 4.144.251.39/32 | ipv4 |
| 4.149.142.7/32 | ipv4 |
| 4.149.159.71/32 | ipv4 |
| 4.149.159.102/32 | ipv4 |
| 4.149.216.220/32 | ipv4 |
| 4.150.142.218/32 | ipv4 |
| 4.154.193.167/32 | ipv4 |
| 4.156.30.123/32 | ipv4 |
| 4.156.136.79/32 | ipv4 |
| 4.156.154.107/32 | ipv4 |
| 4.157.77.76/32 | ipv4 |
| 4.172.49.103/32 | ipv4 |
| 4.177.16.196/32 | ipv4 |
| 4.182.10.198/32 | ipv4 |
| 4.182.131.108/32 | ipv4 |
| 4.195.133.120/32 | ipv4 |
| 4.201.125.59/32 | ipv4 |
| 4.201.141.71/32 | ipv4 |
| 4.201.197.203/32 | ipv4 |
| 4.201.206.133/32 | ipv4 |
| 4.201.220.8/32 | ipv4 |
| 4.207.220.92/32 | ipv4 |
# Download with curl
curl -O https://cloud-ip-ranges.com/download/duckduckbot.txt
# Or download with wget
wget https://cloud-ip-ranges.com/download/duckduckbot.txt
# Download and block DuckDuckBot IPs with iptables
wget -O duckduckbot_ips.txt https://cloud-ip-ranges.com/download/duckduckbot.txt
while read ip; do
iptables -A INPUT -s $ip -j DROP
iptables -A OUTPUT -d $ip -j DROP
done < duckduckbot_ips.txt
# Download and block DuckDuckBot IPs with UFW
wget -O duckduckbot_ips.txt https://cloud-ip-ranges.com/download/duckduckbot.txt
while read ip; do
ufw deny from $ip
ufw deny to $ip
done < duckduckbot_ips.txt
# Create fail2ban filter for DuckDuckBot
sudo tee /etc/fail2ban/filter.d/duckduckbot-block.conf << EOF
[Definition]
failregex = ^.*$
ignoreregex =
EOF
# Create jail configuration
sudo tee /etc/fail2ban/jail.d/duckduckbot-block.conf << EOF
[duckduckbot-block]
enabled = true
filter = duckduckbot-block
action = iptables-allports[name=duckduckbot]
logpath = /tmp/duckduckbot_ips.txt
findtime = 1
bantime = -1
maxretry = 1
EOF
# Download IP list and restart fail2ban
wget -O /tmp/duckduckbot_ips.txt https://cloud-ip-ranges.com/download/duckduckbot.txt
sudo systemctl restart fail2ban
# Create alias table for DuckDuckBot IPs
# 1. Download the IP list
wget -O duckduckbot_ips.txt https://cloud-ip-ranges.com/download/duckduckbot.txt
# 2. In pfSense/OPNsense web interface:
# - Go to Firewall > Aliases
# - Create new alias named "DUCKDUCKBOT_BLOCK"
# - Type: Network(s)
# - Import the downloaded file
#
# 3. Create firewall rule:
# - Go to Firewall > Rules > WAN
# - Add rule: Action=Block, Source=DUCKDUCKBOT_BLOCK
These IP ranges are sourced from DuckDuckBot's official feed and are updated regularly. Use them to verify that requests claiming to be DuckDuckBot actually originate from it, or to rate-limit or block it at the network edge. To opt out of crawling entirely, prefer a robots.txt rule — blocking by IP can prevent the crawler from reading your robots.txt at all. Last update was 12 days ago.