webfilteringservice.com
Home
Features - Core
Domain Categorization Real-Time Content Updates Content Filtering Categories Unsafe Content Protection
Features - Technology
Custom Filtering Policies AI-Powered Classification Reporting & Analytics API Integration Multi-Tenant Management Compliance Filtering
Tools
Domain Lookup Category Checker Bulk Domain Scanner Website Category Scanner Category Browser
Industries - Financial
Banking Insurance FinTech Investment
Industries - Healthcare
Healthcare Pharmaceuticals Medical Research
Industries - Government & Legal
Federal Government Law Firms Law Enforcement
Industries - Technology
Software & SaaS Cybersecurity AI & Machine Learning
Industries - Education & Other
Higher Education Retail & Ecommerce Hospitality Energy & Utilities
Resources
Managed Filter Pricing API Docs Sign In Check Domain
Developer Documentation

DNS Filtering REST API

Integrate real-time domain categorization, content classification and policy enforcement into your applications. One simple REST API covers 90M+ domains across 58 filtering categories with <5ms global response times.

Quick Start

Get up and running with the DNS Filtering API in minutes. Start classifying domains, looking up content categories and enforcing web filtering policies with enterprise-grade speed and accuracy.

Base URL: https://api.dnsfilteringservice.com/v1

Your First Request

cURLPOST /domain/lookup
curl -X POST "https://api.dnsfilteringservice.com/v1/domain/lookup" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com"}'

Authentication

Every request must include your API key in the Authorization header as a Bearer token. Generate and manage keys from your dashboard.

HeaderRequired
Authorization: Bearer YOUR_API_KEY

Base URL & Rate Limits

All endpoints are served over HTTPS. Responses are JSON. Rate limits scale with your plan.

PlanRequests / secondMonthly Quota
Free510,000
Starter501,000,000
Business20010,000,000
EnterpriseCustomUnlimited

Domain Lookup

Classify a single domain. Returns primary and secondary categories, and recommended filtering action.

POST /v1/domain/lookup

Request Parameters

ParameterTypeRequiredDescription
domainstringYesFully qualified domain name to classify (e.g. example.com)
include_subdomainsbooleanNoAnalyze subdomains separately (default: false)
include_metadatabooleanNoInclude extended category metadata (default: true)

Example Request

JavaScriptNode.js / Browser
const response = await fetch('https://api.dnsfilteringservice.com/v1/domain/lookup', {
    method: 'POST',
    headers: {
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        domain: 'example.com',
        include_metadata: true
    })
});
const data = await response.json();
console.log(data);

Example Response

JSON200 OK
{
    "domain": "example.com",
    "primary_category": "Business & Services",
    "secondary_categories": ["Technology", "Reference"],
    "category_id": 42,
    "recommended_action": "allow",
    "last_updated": "2026-04-15T08:32:11Z"
}

Bulk Domain Scan

Classify up to 1,000 domains in a single request. Ideal for log processing, firewall rule generation, and content filtering pipelines.

POST /v1/domain/bulk
PythonBulk Request
import requests

response = requests.post(
    "https://api.dnsfilteringservice.com/v1/domain/bulk",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"domains": ["example.com", "google.com", "blocked-site.xyz"]}
)

for item in response.json()["results"]:
    print(item["domain"], "->", item["primary_category"])

Category Detail Lookup

Detailed category lookup for a domain. Returns full classification data including all matched categories, sub-categories, and content type metadata.

GET /v1/category/{domain}
cURLCategory Detail Lookup
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.dnsfilteringservice.com/v1/category/example-domain.com"
JSONResponse
{
    "domain": "example-domain.com",
    "categories": ["News & Media", "Technology"],
    "sub_categories": ["Tech News", "Software Reviews"],
    "first_seen": "2026-04-09T14:20:08Z",
    "last_updated": "2026-04-18T03:12:47Z",
    "content_language": "en"
}

Category List

Retrieve the full list of 58 supported filtering categories and their IDs. Useful when building policy UIs or mapping internal rules.

GET /v1/categories

Policy Check

Evaluate whether a domain should be allowed or blocked based on a named policy ID configured in your tenant.

POST /v1/policy/check
cURLPolicy Check
curl -X POST "https://api.dnsfilteringservice.com/v1/policy/check" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"facebook.com","policy_id":"corp_strict"}'

Response Codes

CodeMeaning
200OK - request succeeded
400Bad Request - invalid parameters
401Unauthorized - missing or invalid API key
404Not Found - domain not indexed
429Too Many Requests - rate limit exceeded
500Server Error - retry with exponential backoff

Error Handling

All error responses follow the same JSON structure, making it easy to implement consistent error handling across clients.

JSONError Response
{
    "error": {
        "code": "rate_limited",
        "message": "You have exceeded your per-second rate limit.",
        "retry_after_ms": 420
    }
}