Skip to content

rezmoss/cloud-provider-ip-addresses

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

637 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Cloud Provider IP Addresses

The most comprehensive, daily-updated collection of IP ranges from cloud providers, CDNs, and web crawlers β€” in 12+ output formats.

GitHub stars GitHub license Last Updated Providers Formats Update

29 providers | 12+ output formats | Merged/optimized CIDRs | Firewall-ready configs | Unified cross-provider dataset | Daily changelog | IP lookup tool | Go & JS client libraries

Live Stats

Last updated: 2026-06-12 | Providers: 29 | Total CIDRs: 438,314 | IPv4 addresses: 390,781,119 | IPv4 space: 9.10%

Provider IPv4 CIDRs IPv6 CIDRs Total CIDRs IPv4 Addresses Services Regions
alibaba 2,074 236 2,310 30,941,952 3 1
amazonbot 2,059 0 2,059 2,059 3 0
apple_private_relay 41,800 245,128 286,928 105,778 0 1279
applebot 12 0 12 2,400 1 0
atlassian 194 60 254 79,126 12 18
aws 10,321 5,742 16,063 184,493,444 26 43
azure 78,222 28,052 106,274 102,839,488 3233 75
bingbot 28 0 28 4,736 1 0
circleci 47 0 47 3,871 3 1
cloudflare 15 7 22 1,524,736 0 0
commoncrawl 5 1 6 29 1 0
digitalocean 1,075 148 1,223 3,106,176 0 13
duckduckbot 395 0 395 395 1 0
fastly 19 2 21 304,128 0 0
github 5,785 1,724 7,509 27,440,051 11 0
googlebot 169 146 315 5,056 1 0
googlecloud 928 48 976 17,429,376 1 48
gptbot 309 0 309 10,016 3 0
linode 5,248 94 5,342 1,351,424 0 38
meta 342 419 761 575,488 3 1
mullvad 569 558 1,127 569 2 50
oracle 1,089 0 1,089 4,190,346 3 55
perplexitybot 12 0 12 32 2 0
teamcity 11 0 11 11 2 1
telegram 9 5 14 11,008 0 0
tencent 3,315 73 3,388 14,790,912 2 1
tor 1,264 0 1,264 1,264 1 1
vultr 438 57 495 1,025,024 0 34
zoom 57 3 60 542,224 3 0

Table of Contents


Why This Repo?

There are other cloud IP range repos out there. Here's what makes this one different:

Feature This Repo Others
Cloud providers 10 (AWS, Azure, GCP, Cloudflare, DigitalOcean, Oracle, Fastly, GitHub, Linode, Vultr) + Apple Private Relay, Telegram Varies
Bot/crawler IPs GoogleBot, BingBot, GPTBot/ChatGPT, AppleBot, PerplexityBot, DuckDuckBot, Amazonbot, Common Crawl Rare
SaaS / Collaboration Zoom, Atlassian (Jira, Confluence, Bitbucket, Trello, ...) Very rare
Output formats 12+ (TXT, JSON, CSV, SQL, Nginx, Apache, iptables, nftables, UFW, HAProxy, Caddy, merged CIDRs) Usually 1-3
Merged/optimized CIDRs Per-provider and combined Rare
Unified cross-provider file all_providers.json / .csv with normalized schema Rare
Service/region breakdown Per-service and per-region files for AWS, Azure, GCP, Oracle, GitHub, GPTBot, Apple Private Relay, Vultr, PerplexityBot, Amazonbot, Zoom, Atlassian Some
IP lookup tool lookup.py β€” "which cloud owns this IP?" Separate projects
Changelog Daily diff tracking (CIDRs added/removed) Rare
Statistics STATS.md + summary.json with IPv4 space coverage Rare
Update frequency Daily at 00:00 UTC Varies
Firewall-ready configs Nginx, Apache, iptables, nftables, UFW, HAProxy, Caddy Usually 0-1

Quick Start

Grab what you need with a single command:

# All AWS IPs (plain text)
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/aws/aws_ips.txt

# Cloudflare IPv4 only
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/cloudflare/cloudflare_ips_v4.txt

# All providers merged into one optimized IPv4 list
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/all_providers/all_providers_merged_v4.txt

# Block GPTBot with iptables
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/gptbot/iptables_gptbot_deny.sh | sudo bash

# AWS Nginx allow config β€” drop into your server block
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/aws/nginx_aws_allow.conf -o /etc/nginx/conf.d/aws_allow.conf

# Unified dataset (all providers, normalized JSON)
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/all_providers/all_providers.json

# Look up an IP
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/lookup.py -o lookup.py
python3 lookup.py --data-dir . 13.32.0.1

Supported Providers

Cloud Providers

Provider IPs Services Regions Source
AWS IPv4 + IPv6 Per-service (EC2, S3, CloudFront, ...) Per-region AWS public IP ranges
Microsoft Azure IPv4 + IPv6 Per-service (AzureCloud, AppService, ...) Per-region Azure Service Tags
Google Cloud IPv4 + IPv6 Per-service Per-scope GCP public IP ranges
Cloudflare IPv4 + IPv6 β€” β€” Cloudflare published IP list
DigitalOcean IPv4 + IPv6 β€” Per-region DigitalOcean public geofeed
Oracle Cloud IPv4 + IPv6 Per-service (tags) Per-region Oracle Cloud public IP ranges

CDN / Hosting

Provider IPs Services Source
Fastly IPv4 + IPv6 β€” Fastly public IP list
GitHub IPv4 + IPv6 Per-service (actions, pages, copilot, hooks, web, api, ...) GitHub Meta API
Linode (Akamai) IPv4 + IPv6 β€” Linode public geofeed
Apple (iCloud Private Relay) IPv4 + IPv6 β€” Apple published egress ranges
Vultr IPv4 + IPv6 Per-region Vultr public geofeed
Telegram IPv4 + IPv6 β€” Telegram official CIDR list

SaaS / Collaboration

Provider IPs Services Source
Zoom IPv4 + IPv6 Per-service (zoom, zoom-phone, zoom-contact-center, zoom-cdn) Zoom published IP ranges
Atlassian IPv4 + IPv6 Per-product (Jira, Confluence, Bitbucket, Trello, ...) Atlassian published IP ranges

Bots / Crawlers

Bot IPs Services Source
GoogleBot IPv4 + IPv6 googlebot Google published crawler ranges
BingBot IPv4 + IPv6 bingbot Microsoft published crawler ranges
GPTBot / ChatGPT / SearchBot IPv4 Per-service (gptbot, chatgpt-user, searchbot) OpenAI published bot ranges
AppleBot IPv4 applebot Apple published crawler ranges
PerplexityBot IPv4 + IPv6 Per-service (perplexitybot, perplexity-user) Perplexity published bot ranges
DuckDuckBot IPv4 + IPv6 duckduckbot DuckDuckGo published crawler ranges
Amazonbot IPv4 + IPv6 Per-service (amazonbot, amzn-searchbot, amzn-user) Amazon published bot ranges
Common Crawl (CCBot) IPv4 + IPv6 ccbot Common Crawl published bot ranges

VPN / Anonymizer Networks

Provider IPs Services Source
Tor Exit Nodes IPv4 tor-exit Official Tor Project bulk exit list
Mullvad VPN IPv4 + IPv6 Per-type (wireguard, bridge) + per-country Official Mullvad relay API

BGP / ASN-Derived Networks

These entities publish no official IP range feed. Their ranges are derived from live BGP announcements of their officially registered ASNs, observed via public BGP data sources. They cover all address space the entity originates (not only cloud/customer ranges) and may miss space routed through partner networks. The table below lists the exact ASNs used.

Provider IPs ASNs Source
Meta (Facebook / Instagram / WhatsApp) IPv4 + IPv6 AS32934, AS63293, AS54115 BGP announcements via public BGP data
Alibaba (Alibaba Cloud / Group) IPv4 + IPv6 AS45102, AS37963, AS134963 BGP announcements via public BGP data
Tencent (Tencent Cloud / Group) IPv4 + IPv6 AS45090, AS132203 BGP announcements via public BGP data

Per-Provider Pages

Each provider has its own page with quick-use snippets, sample CIDRs, and links to every output format.

Provider Page
Alibaba (Alibaba Cloud / Alibaba Group) alibaba/
Amazonbot amazonbot/
Apple iCloud Private Relay apple_private_relay/
Applebot applebot/
Atlassian atlassian/
Amazon Web Services aws/
Microsoft Azure azure/
Bingbot bingbot/
CircleCI circleci/
Cloudflare cloudflare/
Common Crawl (CCBot) commoncrawl/
DigitalOcean digitalocean/
DuckDuckBot duckduckbot/
Fastly fastly/
GitHub github/
Googlebot googlebot/
Google Cloud Platform googlecloud/
OpenAI GPTBot / ChatGPT-User / SearchBot gptbot/
Linode (Akamai) linode/
Meta (Facebook / Instagram / WhatsApp) meta/
Mullvad VPN mullvad/
Oracle Cloud Infrastructure oracle/
PerplexityBot perplexitybot/
TeamCity Cloud teamcity/
Telegram telegram/
Tencent (Tencent Cloud / Tencent Group) tencent/
Tor Exit Nodes tor/
Vultr vultr/
Zoom zoom/

Output Formats

Every provider gets all of these formats:

Format Files Description
TXT {provider}_ips.txt, _v4.txt, _v6.txt One CIDR per line
JSON {provider}_ips.json Structured with ip_address, ip_type, service, region
CSV {provider}_ips.csv Tabular format for spreadsheets/databases
SQL {provider}_ips.sql CREATE TABLE + INSERT statements
Nginx nginx_{provider}_allow.conf, _deny.conf allow/deny rules with deny all/allow all
Apache apache_{provider}_allow.conf, _deny.conf Require ip / Deny from directives
iptables iptables_{provider}_allow.sh, _deny.sh Shell scripts with iptables/ip6tables rules
nftables nftables_{provider}_allow.conf, _deny.conf nftables table/chain definitions
UFW ufw_{provider}_allow.sh, _deny.sh ufw allow/deny from commands
HAProxy haproxy_{provider}_allow.conf ACL-compatible IP list
Caddy caddy_{provider}_allow.conf remote_ip matcher block
Merged CIDRs {provider}_ips_merged_v4.txt, _merged_v6.txt Optimized/collapsed CIDR lists

For providers with service/region data (AWS, Azure, GCP, Oracle, GitHub, GPTBot, Apple Private Relay, Vultr, PerplexityBot, Amazonbot, Zoom, Atlassian), all formats are also generated per-service and per-region.


Merged / Optimized CIDRs

Adjacent and overlapping CIDR blocks are collapsed into the smallest possible list using ipaddress.collapse_addresses(). This is ideal for firewall rules where you need the most compact representation.

# AWS optimized IPv4 list
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/aws/aws_ips_merged_v4.txt

# All providers combined into one merged list
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/all_providers/all_providers_merged_v4.txt

Each provider directory contains:

  • {provider}_ips_merged_v4.txt β€” optimized IPv4 CIDRs
  • {provider}_ips_merged_v6.txt β€” optimized IPv6 CIDRs
  • {provider}_ips_merged.txt β€” both combined

Unified Cross-Provider Data

A single normalized dataset across all providers, available in all_providers/:

File Description
all_providers.json All CIDRs with cidr, ip_version, provider, service, region, last_updated
all_providers.csv Same data in CSV
all_providers_ips.txt All CIDRs, one per line
all_providers_merged_v4.txt All providers merged into one optimized IPv4 list
all_providers_merged_v6.txt All providers merged into one optimized IPv6 list
# Query all providers with jq β€” find all Azure CIDRs in eastus
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/all_providers/all_providers.json \
  | jq '[.[] | select(.provider=="azure" and .region=="eastus")]'

IP Lookup Tool

Find which cloud provider owns any IP address:

# Download the tool and data
git clone https://github.com/rezmoss/cloud-provider-ip-addresses.git
cd cloud-provider-ip-addresses

# Single IP
python3 lookup.py 13.32.0.1
# Output: 13.32.0.1 β€” AWS (AMAZON, us-east-1) [13.32.0.0/15]

# Multiple IPs
python3 lookup.py 13.32.0.1 104.16.0.1 168.63.129.16

# Batch mode from file
python3 lookup.py --file suspicious_ips.txt

# JSON output
python3 lookup.py --json 8.8.8.8

Fast Lookup (Radix Tree)

For large-scale lookups, radix_lookup.py uses a radix tree pysubnettree (github.com/zeek/pysubnettree) for O(1) lookups β€” 2M+ IPs/sec for IPv4, 1.6M+ IPs/sec for IPv6. Same interface and output as lookup.py.

pip3 install -r requirements.txt
python3 radix_lookup.py 13.32.0.1
python3 radix_lookup.py --file suspicious_ips.txt
python3 radix_lookup.py --json 8.8.8.8

Client Libraries (Go & JavaScript)

Prefer to consume this data from code instead of curling raw files? Two official client libraries ship with auto-updating, offline-capable IP detection for AWS, GCP, Azure, Cloudflare, DigitalOcean, and Oracle Cloud. Both pull from a compiled binary index (cloudip-db) derived from this repository's daily output, with SHA-256-verified updates and an embedded fallback for air-gapped environments.

Go β€” go-cloudip

Sub-microsecond lookups via Patricia trie. Thread-safe, lock-free reads.

go get github.com/rezmoss/go-cloudip
import "github.com/rezmoss/go-cloudip"

cloudip.IsAWS("52.94.76.1")           // true
cloudip.GetProvider("34.64.0.1")      // "gcp"
cloudip.IsCloudProvider("104.16.0.1") // true

result := cloudip.Lookup("52.94.76.1")
// result.Provider, result.Region, result.Service, result.CIDR

Full API, custom detectors, offline mode, and auto-update options: go-cloudip README.

JavaScript / TypeScript β€” js-cloudip

Node.js and browser (CORS-friendly). TypeScript types included. Ships a CLI and a forward-lookup mode ("give me every Cloudflare CIDR").

npm install js-cloudip
import { lookup, getProvider, isAws, getIPs } from 'js-cloudip';

await isAws('52.94.76.1');         // true
await getProvider('34.64.0.1');    // "gcp"

const r = await lookup('52.94.76.1');
// { found: true, provider: 'aws', region: 'us-east-1', service: 'EC2', cidr: '52.94.0.0/16', ip_type: 'ipv4' }

const cf = await getIPs('cloudflare'); // all Cloudflare CIDRs

Use the /embedded subpath for offline / air-gapped use, or the cloudip CLI:

npx cloudip lookup 52.94.76.1
npx cloudip get cloudflare

Full API, browser usage, and configuration: js-cloudip README.

Note: the libraries currently cover the six major cloud providers above. The full 29-provider dataset (CDNs, SaaS, bots/crawlers, VPNs, BGP-derived networks) remains available as raw files in this repo.


Changelog & Stats

Daily Changelog

IP range changes are tracked daily in CHANGELOG.md and machine-readable diffs in changes/:

  • CHANGELOG.md β€” human-readable summary of CIDRs added/removed per provider
  • changes/{date}.json β€” machine-readable daily diff

Statistics

  • STATS.md β€” per-provider IPv4/IPv6 CIDR counts, total addresses, services, regions
  • summary.json β€” machine-readable version with IPv4 space coverage percentage
# Check today's changes
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/CHANGELOG.md

# Get stats as JSON
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/summary.json

Folder Structure

cloud-provider-ip-addresses/
β”œβ”€β”€ aws/
β”‚   β”œβ”€β”€ aws_ips.txt / _v4.txt / _v6.txt
β”‚   β”œβ”€β”€ aws_ips.json / .csv / .sql
β”‚   β”œβ”€β”€ aws_ips_merged_v4.txt / _merged_v6.txt / _merged.txt
β”‚   β”œβ”€β”€ nginx_aws_allow.conf / _deny.conf
β”‚   β”œβ”€β”€ apache_aws_allow.conf / _deny.conf
β”‚   β”œβ”€β”€ iptables_aws_allow.sh / _deny.sh
β”‚   β”œβ”€β”€ nftables_aws_allow.conf / _deny.conf
β”‚   β”œβ”€β”€ ufw_aws_allow.sh / _deny.sh
β”‚   β”œβ”€β”€ haproxy_aws_allow.conf
β”‚   β”œβ”€β”€ caddy_aws_allow.conf
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   └── ec2/ s3/ cloudfront/ ...  (all formats per service)
β”‚   └── regions/
β”‚       └── us_east_1/ eu_west_1/ ...  (all formats per region)
β”œβ”€β”€ azure/                (same structure)
β”œβ”€β”€ googlecloud/          (same structure)
β”œβ”€β”€ oracle/               (same structure)
β”œβ”€β”€ cloudflare/           (all formats, no services/regions)
β”œβ”€β”€ digitalocean/         (all formats, no services/regions)
β”œβ”€β”€ fastly/               (all formats)
β”œβ”€β”€ github/               (all formats + services)
β”œβ”€β”€ linode/               (all formats)
β”œβ”€β”€ googlebot/            (all formats)
β”œβ”€β”€ bingbot/              (all formats)
β”œβ”€β”€ gptbot/               (all formats + services)
β”œβ”€β”€ applebot/             (all formats)
β”œβ”€β”€ apple_private_relay/  (all formats + regions)
β”œβ”€β”€ telegram/             (all formats)
β”œβ”€β”€ vultr/                (all formats + regions)
β”œβ”€β”€ perplexitybot/        (all formats + services)
β”œβ”€β”€ duckduckbot/          (all formats)
β”œβ”€β”€ amazonbot/            (all formats + services)
β”œβ”€β”€ commoncrawl/          (all formats)
β”œβ”€β”€ zoom/                 (all formats + services)
β”œβ”€β”€ atlassian/            (all formats + services + regions)
β”œβ”€β”€ circleci/             (all formats + services)
β”œβ”€β”€ teamcity/             (all formats + services + regions)
β”œβ”€β”€ meta/                 (all formats + services; BGP/ASN-derived)
β”œβ”€β”€ alibaba/              (all formats + services; BGP/ASN-derived)
β”œβ”€β”€ tencent/              (all formats + services; BGP/ASN-derived)
β”œβ”€β”€ tor/                  (all formats; official Tor Project exit list)
β”œβ”€β”€ mullvad/              (all formats + services + regions)
β”œβ”€β”€ all_providers/
β”‚   β”œβ”€β”€ all_providers.json / .csv
β”‚   β”œβ”€β”€ all_providers_ips.txt
β”‚   └── all_providers_merged_v4.txt / _merged_v6.txt
β”œβ”€β”€ changes/
β”‚   └── {date}.json       (daily diffs)
β”œβ”€β”€ CHANGELOG.md
β”œβ”€β”€ STATS.md
β”œβ”€β”€ summary.json
β”œβ”€β”€ lookup.py
β”œβ”€β”€ LICENSE
└── README.md

Usage Examples

curl One-Liners

# Get all AWS IPs
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/aws/aws_ips.txt

# Get GitHub Actions IPs only
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/github/services/actions/github_actions_ips.txt

# Get GPTBot IPs to block AI crawlers
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/gptbot/gptbot_ips.txt

# Get optimized Cloudflare list for firewall
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/cloudflare/cloudflare_ips_merged_v4.txt

Nginx

# Download and include
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/aws/nginx_aws_allow.conf \
  -o /etc/nginx/conf.d/aws_allow.conf
server {
    # Allow only AWS IPs
    include /etc/nginx/conf.d/aws_allow.conf;
}
sudo nginx -s reload

Apache

curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/aws/apache_aws_allow.conf \
  -o /etc/apache2/conf-available/aws_allow.conf
<Directory /var/www/html>
    AllowOverride None
    Require all denied
    Include /etc/apache2/conf-available/aws_allow.conf
</Directory>
sudo systemctl reload apache2

iptables

# Allow all Azure IPs
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/azure/iptables_azure_allow.sh | sudo bash

# Block GPTBot
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/gptbot/iptables_gptbot_deny.sh | sudo bash

UFW

# Allow GitHub Actions IPs
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/github/services/actions/ufw_github_actions_allow.sh | sudo bash

nftables

# Download nftables config
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/cloudflare/nftables_cloudflare_allow.conf \
  -o /etc/nftables.d/cloudflare_allow.conf

HAProxy

# Download ACL file
curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/aws/haproxy_aws_allow.conf \
  -o /etc/haproxy/aws_ips.acl
frontend http
    acl is_aws src -f /etc/haproxy/aws_ips.acl
    use_backend aws_backend if is_aws

Caddy

curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/cloudflare/caddy_cloudflare_allow.conf

Provider Matrix

Provider IPv4 IPv6 Services Regions Merged CIDRs All Formats
AWS Y Y Y Y Y Y
Azure Y Y Y Y Y Y
Google Cloud Y Y Y Y Y Y
Oracle Y Y Y Y Y Y
Cloudflare Y Y β€” β€” Y Y
DigitalOcean Y Y β€” β€” Y Y
Fastly Y Y β€” β€” Y Y
GitHub Y Y Y β€” Y Y
Linode Y Y β€” β€” Y Y
GoogleBot Y Y β€” β€” Y Y
BingBot Y Y β€” β€” Y Y
GPTBot Y β€” Y β€” Y Y
AppleBot Y β€” β€” β€” Y Y
Apple Private Relay Y Y β€” Y Y Y
Telegram Y Y β€” β€” Y Y
Vultr Y Y β€” Y Y Y
PerplexityBot Y Y Y β€” Y Y
DuckDuckBot Y Y β€” β€” Y Y
Amazonbot Y Y Y β€” Y Y
Common Crawl Y Y β€” β€” Y Y
Zoom Y Y Y β€” Y Y
Atlassian Y Y Y Y Y Y

Use Cases

  • Firewall rules β€” Allow only known cloud provider IPs to access your infrastructure
  • Bot management β€” Block or allow GoogleBot, BingBot, GPTBot/ChatGPT, AppleBot, PerplexityBot, DuckDuckBot, Amazonbot, CCBot crawlers
  • Privacy proxy detection β€” Identify iCloud Private Relay traffic using Apple's official egress IP list
  • AI crawler blocking β€” Use GPTBot IP lists to prevent AI training on your content
  • Security auditing β€” Identify whether suspicious IPs belong to cloud infrastructure
  • Compliance β€” Restrict traffic to specific cloud regions or services
  • WAF / CDN configuration β€” Whitelist upstream CDN IPs (Cloudflare, Fastly)
  • CI/CD security β€” Allow only GitHub Actions IPs to trigger deploys
  • SaaS whitelisting β€” Allow Atlassian (Jira, Confluence, Bitbucket) or Zoom webhook IPs through your firewall
  • Network analysis β€” Track how cloud IP space evolves over time via the changelog
  • IP attribution β€” Use the lookup tool to identify which cloud owns any IP

Automating Updates

All data updates daily at 00:00 UTC. Set up your systems to pull the latest:

Clone and schedule

git clone https://github.com/rezmoss/cloud-provider-ip-addresses.git

# Cron job: pull daily at 00:30 UTC (30 min after update)
30 0 * * * cd /path/to/cloud-provider-ip-addresses && git pull

Direct download

# Download specific files on a schedule
30 0 * * * curl -sL https://raw.githubusercontent.com/rezmoss/cloud-provider-ip-addresses/main/aws/nginx_aws_allow.conf -o /etc/nginx/conf.d/aws_allow.conf && sudo nginx -s reload

License

This project is dedicated to the public domain under the CC0 1.0 Universal Public Domain Dedication.

Acknowledgments

All IP range data is sourced from the official, publicly available endpoints provided by each respective organization. We are grateful to the following providers for making their network information openly accessible:

  • Amazon Web Services β€” for publishing their IP address ranges through their public JSON endpoint
  • Microsoft Azure β€” for maintaining downloadable Service Tags with comprehensive IP range data
  • Google Cloud Platform β€” for providing structured cloud IP range information
  • Cloudflare β€” for openly sharing their IPv4 and IPv6 edge network ranges
  • DigitalOcean β€” for publishing their IP allocations via their public geofeed
  • Oracle Cloud Infrastructure β€” for making their public IP ranges available in machine-readable format
  • Fastly β€” for providing their edge network IP list through their public API
  • GitHub β€” for exposing service-level IP ranges through their meta API
  • Linode (Akamai) β€” for maintaining a publicly accessible IP geofeed
  • Google Search (GoogleBot) β€” for documenting their crawler IP ranges for webmasters
  • Microsoft Bing (BingBot) β€” for publishing their crawler IP ranges to help site operators
  • OpenAI (GPTBot / ChatGPT) β€” for making their bot and crawler IP ranges publicly available
  • Apple (AppleBot) β€” for publishing their web crawler IP ranges for site operators
  • Apple (iCloud Private Relay) β€” for making Private Relay egress IP ranges available to help websites with geolocation and traffic analysis
  • Telegram β€” for publishing their official network CIDR ranges
  • Vultr (Constant) β€” for maintaining a publicly accessible IP geofeed
  • Perplexity AI (PerplexityBot) β€” for making their bot and user-agent IP ranges publicly available
  • DuckDuckGo (DuckDuckBot) β€” for publishing their crawler IP ranges for webmasters
  • Amazon (Amazonbot) β€” for making their crawler and search bot IP ranges publicly available
  • Common Crawl (CCBot) β€” for publishing their crawler IP ranges to support the open web
  • Zoom β€” for making their service, phone, and CDN IP ranges available in machine-readable format
  • Atlassian β€” for publishing their product IP ranges covering Jira, Confluence, Bitbucket, Trello, and more

Star History

Star History Chart

About

Daily-updated IP ranges for 20+ providers (AWS, Azure, GCP, Cloudflare, GitHub, Fastly, Linode + GoogleBot, BingBot, GPTBot) in 12+ formats: TXT, JSON, CSV, SQL, Nginx, Apache, iptables, nftables, UFW, HAProxy, Caddy + merged CIDRs

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages