Catalog API
/catalog.json is a
machine-readable index of every official and maintained IP range feed in the registry. Use it to build
automated allowlists, monitoring dashboards, or feed aggregators.
Endpoint
GET https://sourcecidr.com/catalog.json Returns JSON. No authentication required. Updated on every site deploy.
Schema (v3)
{
"schema_version": 3,
"generated_at": "2026-03-28T...",
"entry_count": 75,
"entries": {
"<range-slug>": {
"title": "Human-readable name",
"origin": "official" | "maintained",
"urls": [
"https://vendor.com/feed.json",
...
]
},
...
}
} Fields
schema_version- Integer. Current version is 3.
generated_at- ISO 8601 timestamp of when the catalog was last generated.
entry_count- Total number of entries in the
entriesobject. entries- Object keyed by range slug. Each value contains:
title- Human-readable name of the range set.
origin"official"— vendor-published feed (JSON, TXT, CSV, API)."maintained"— aggregated or mirrored by Source CIDR.urls- Array of one or more URLs pointing to the actual IP range data. Fetch these to get the prefixes. Note: not all vendors publish JSON — URLs may point to plain-text (.txt), CSV, HTML documentation pages, or API endpoints. Your consumer code should handle the response format per vendor rather than assuming JSON.
Examples
Fetch the full catalog
curl -s https://sourcecidr.com/catalog.json | jq '.entry_count' List all official feed URLs
curl -s https://sourcecidr.com/catalog.json | \
jq -r '.entries[] | select(.origin=="official") | .urls[]' Get a specific entry
curl -s https://sourcecidr.com/catalog.json | \
jq '.entries["cloudflare-ips"]' Count entries by origin
curl -s https://sourcecidr.com/catalog.json | \
jq '[.entries[] | .origin] | group_by(.) | map({(.[0]): length}) | add' What's included
The catalog includes entries that have at least one officialSources URL on their range set.
ASN-only entries, documentation-only entries without IP feeds, and education pages are excluded.
For the full list of companies including ASN-only entries, browse the registry homepage.
Rate limits
The catalog is a static JSON file served via Cloudflare. There are no rate limits, but please cache responses and avoid polling more than once per hour. The file only changes when the site is redeployed.