Preferred
Bearer header
Send Authorization: Bearer {key} with API requests. Keep the key out of copied URLs and browser history.
Developer documentation
Find reviewed service IDs, combine them into a list, and request a format that preserves the scope of each rule.
Authentication
Create a read-only key under Feeds and keys for API calls. Use a header whenever your client supports it.
Preferred
Send Authorization: Bearer {key} with API requests. Keep the key out of copied URLs and browser history.
For URL-only clients
apiKey parameterSome DNS tools need a query credential. Treat it as exposed if it is shared because it may persist in history, logs, backups, or configuration.
Saved subscriptions
Where subscriptions are enabled, issue a link for a saved list in Feeds and keys. The link grants access to that list in the format you chose. Treat the full URL like a password.
An inline request
Find an ID with GET /api/catalog. Substitute it below to retrieve a plain-domain list for exact-host rules.
GET /api/blocklist?services={service-id}&format=domains&aggression=conservative
For a saved list, use its stable ID in list instead of services. Request /api/blocklist/metadata with the same selection for versions, scope, and warnings.
Response contract
Unsupported services, incompatible formats, invalid settings, expired credentials, and inaccessible lists return an explicit failure. A generation failure never becomes an empty successful list, a substituted service, or a broader rule.
Metadata and raw blocklist output remain separate so DNS clients do not receive prose in a list.