For developers

Build a blocklist pipeline you can explain.

A useful API contract carries more than domains. It explains format, provenance, freshness, and what happens when an update fails.

The API material on this site is implementation guidance. Code and payloads are illustrative; no hosted AdBlockList.com API, key, or paid feed is offered.

Specify the contract before the endpoint

Define whether a response contains domain names, browser rules, or a richer classification dataset. State the character encoding, normalization rules, wildcard behavior, and treatment of exceptions. Consumers should not have to infer these from a few records.

Decide which fields are stable and which may evolve. Version the schema separately from the data snapshot so a newly classified domain does not imply a changed parser. Document what an empty response means, especially when a client normally receives many entries.

A small, explicit reference record

This fictional record illustrates a contract design. The reserved example domain is not a blocking recommendation or a live service.

{
  "schema_version": "1",
  "snapshot_id": "illustrative-snapshot",
  "domain": "ads.example",
  "category": "advertising",
  "include_subdomains": false,
  "review_status": "human-reviewed"
}

An actual integration should document the meaning of each category and review state. Include only the fields you can keep accurate over time; a precise-looking score without a defined interpretation does not improve the contract.

Make updates reversible

Fetch a candidate snapshot into a separate location, validate its syntax and expected shape, and then switch it into use as one deliberate action. Preserve the previous working version. A download failure should not silently replace a healthy dataset with an empty file.

Consider conditional requests, change summaries, and a full snapshot fallback when designing delivery. These are design options to assess for your workload, not a promised service level. The API design fieldnote develops the tradeoffs.

Track the decision, not private browsing

Operational records can focus on snapshot identifiers, validation outcomes, and aggregate failures. Think carefully before recording full request URLs: they may contain tokens or user-specific information. Choose the minimum evidence needed to investigate a rule.

For scored records, read the AI scoring guide. For hostname semantics and wildcard decisions, use the domain list reference. Keep classification separate from the policy that decides whether to block.

Common questions

Where can I obtain an API key?

There is no hosted API or key service available on this site. The API page and Lab article provide architecture and contract guidance.

Should a failed update clear the active list?

Design that behavior explicitly. For many filter consumers, keeping the last validated snapshot is preferable to silently applying an empty or partial response.

From Ad Block List Lab

Go a little deeper.

Related guide

Domain Name Block List

A hostname is only part of a web request. Understand what domain-level filtering can see before expecting page-level precision.

Explore this topic
Related guide

AI Score

Treat a score as one piece of evidence. The important questions are what it measures, how it was evaluated, and when a person should review it.

Explore this topic