DNSFilter Applications API
Get information about available applications for the allow and block lists.
Get information about available applications for the allow and block lists.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/dnsfilter-applications-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: DNSFilter Agent Local User Bulk Deletes Applications API
description: "\n**Note:** If you are a distributor integrating with DNSFilter, please check\n out our [Distributors Development Guide](/docs/distributors).\n\n### Authentication\n\n- Authentication is required for most, but not all, endpoints.\n\n- Authentication is done by setting the `Authorization` request header.\n The header value is the API key itself.\n For example: `Authorization: eyJ...`\n\n- An API key can be obtained through the DNSFilter dashboard under\n Account Settings. For additional information see\n [this KB article](https://help.dnsfilter.com/hc/en-us/articles/21169189058323-API-Tokens).\n\n### Rate Limiting\n\n- All endpoints are rate limited.\n\n- The limits may vary by endpoint, but are generally consistent.\n\n- When the rate limit is exceeded the API will return the standard `429` HTTP status.\n\n- The following headers will also be provided in the response:\n `Retry-After`, `RateLimit-Policy`, `RateLimit`, `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset`.\n For details on the values of these headers, see the following articles\n [here](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After),\n [here](https://www.ietf.org/archive/id/draft-ietf-httpapi-ratelimit-headers-08.html),\n and [here](https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-05.html).\n\n- For additional information see [this KB article](https://help.dnsfilter.com/hc/en-us/articles/38202811088403-API-Rate-Limits).\n\n### Error Handling\n\n- The API uses standard HTTP status codes to indicate success or failure.\n\n- For _V1_ endpoints the response format is:\n ```json\n { \"error\": \"string\", \"type\": \"string(optional)\" }\n ```\n- For _V2_ endpoints the response format is:\n ```json\n { \"error\": { \"message\": \"string\", \"type\": \"string(optional)\" } }\n ```\n\n### Pagination\n\nFor the _V1_ endpoints, the pagination parameters are nested. That is to say,\nif passed as JSON they look like this: `{\"page[number]\": 1, \"page[size]\": 10}`.\n\nTo pass this information in the URL query string, it would be formatted like\nthis: `...?page%5Bnumber%5D=1&page%5Bsize%5D=10`.\n\nIn this guide, the UI will indicate that `page` is an `object` and if you\nwant to set values when trying the request, you must enter it as if it was\nthe JSON above.\n\n### A Quick Example\n\nThe following will return information about the currently\nauthenticated user.\n\n```bash\n% curl -H 'Authorization: ***' https://api.dnsfilter.com/v1/users/self\n\n{ \"data\": {\n \"id\": \"12345\",\n \"type\": \"users\",\n \"attributes\": {\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\",\n ...additional fields...\n}}}\n```\n"
version: '2026-07-13'
servers:
- url: https://api.dnsfilter.com
description: Production
tags:
- name: Applications
description: Get information about available applications for the allow and block lists.
paths:
/v1/applications:
get:
tags:
- Applications
operationId: V1_Applications-index
parameters:
- name: category_ids
description: Category IDs, defaults to all
required: false
in: query
schema:
type: array
items:
type: integer
explode: true
- name: page
description: Page number and size
required: false
in: query
schema:
type: object
properties:
number:
type: integer
size:
type: integer
responses:
'200':
description: Applications basic information
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ApplicationSpec'
links:
$ref: '#/components/schemas/Links'
description: List extant applications basic information.
summary: Get extant
security:
- header_authorization: []
x-controller: v1/applications
x-action: index
/v1/applications/all:
get:
tags:
- Applications
operationId: V1_Applications-all
parameters:
- name: category_ids
description: Category IDs, defaults to all
required: false
in: query
schema:
type: array
items:
type: integer
explode: true
- name: page
description: Page number and size
required: false
in: query
schema:
type: object
properties:
number:
type: integer
size:
type: integer
responses:
'200':
description: Applications basic information
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ApplicationSpec'
links:
$ref: '#/components/schemas/Links'
description: List applications basic information, including deleted ones.
summary: Get all
security:
- header_authorization: []
x-controller: v1/applications
x-action: all
/v1/applications/{id}:
get:
tags:
- Applications
operationId: V1_Applications-show
parameters:
- name: id
description: Application ID
required: true
in: path
schema:
type: integer
responses:
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'200':
description: Applications basic information
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ApplicationSpec'
description: Gets basic information of a specific application.
summary: Show
security:
- header_authorization: []
x-controller: v1/applications
x-action: show
components:
schemas:
Application:
type: object
properties:
name:
type: string
description: Application name
display_name:
type: string
description: Application display name
description:
type: string
description: Application description
home_page_url:
type: string
description: Home page URL
favicon:
type: string
description: Application favicon
icon:
type: string
description: Application icon
description: Application resource
Links:
type: object
properties:
self:
type: string
description: Endpoint URL (may be null)
description: JSON API links member representation
Error:
type: object
properties:
error:
type: string
description: 'Error message (e.x.: Not Authorized)'
description: Error basic representation
IdType:
type: object
properties:
id:
type: string
description: Resource Id (integer or uuid)
type:
type: string
description: Resource type name
uuid:
type: string
description: Resource UUID (if applicable)
description: JSON API resource ID and type attributes
ApplicationSpec:
allOf:
- $ref: '#/components/schemas/IdType'
- type: object
properties:
attributes:
$ref: '#/components/schemas/Application'
relationships:
type: object
properties:
categories:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/IdType'
description: Application categories
description: Application specification
securitySchemes:
header_authorization:
type: apiKey
name: Authorization
in: header