FilterLists API
Free FilterLists API with no key: a catalogued directory of thousands of adblock, DNS and firewall filter lists with syntax, licence, language and maintainer metadata. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the FilterLists API?
FilterLists is a free, key-free API cataloguing the filter lists used by ad blockers, DNS sinkholes and firewalls. It provides structured metadata for thousands of lists — syntax, licence, language, maintainer, tags and source URLs — as a machine-readable directory.
Content-blocking filter lists are scattered across GitHub repositories, personal sites and forum posts, in a dozen mutually incompatible syntaxes. FilterLists is the index nobody else maintained: a single catalogue that records, for every known list, what syntax it uses, who maintains it, what licence it carries and what it targets.
The design decision worth understanding is that the catalogue is heavily normalised. Rather than embedding names, the list records carry `licenseId`, `syntaxIds`, `languageIds`, `tagIds` and `maintainerIds` pointing into separate lookup endpoints. That keeps the main response compact but means a useful integration fetches `/licenses`, `/syntaxes`, `/languages`, `/tags` and `/maintainers` once, caches them, and joins locally. Building against the ids without the lookups gives you numbers instead of information.
Quick facts
- Base URL
https://api.filterlists.com- Authentication
- No API key or account. The catalogue is open source and community-maintained.
- Rate limit
- No published limit. The catalogue changes slowly, so cache it for days rather than seconds.
- Pricing
- Free and open source.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the FilterLists API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Fetch the catalogue of filter lists
GET https://api.filterlists.com/lists
curl 'https://api.filterlists.com/lists'const res = await fetch("https://api.filterlists.com/lists");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.filterlists.com/lists", timeout=20)
res.raise_for_status()
print(res.json())[
{
"id": 1,
"name": "AdGuard Japanese filter Plus",
"description": "This complements AdGuard Japanese filter and mainly consists of 1) additional generic rules to counter circumvention ads and anti-adblock, and 2) specific rules to address sites not addresed in the Japanese filters.",
"licenseId": 4,
"syntaxIds": [
4
],
"languageIds": [
73
],
"tagIds": [
2
],
"maintainerIds": [
150
]
},
{
"id": 2,
"name": "Mute",
"description": "Mute is an AdBlock Plus filter for user comments. In the same way that AdBlock hides ads, AdBlock can use this filter to hide user-generated comments, allowing you to browse the Internet with less stupidity clawing at your eyeballs.",
"licenseId": 2,
"syntaxIds": [
3
],
"languageIds": [],
"tagIds": [
4,
15
],
"maintainerIds": [
3
]
},
{
"id": 3,
"name": "MoaAB: Mother of All AD-BLOCKING",
"description": "Hosts file to block advertisements and trackers designed for Android",
"licenseId": 3,
"syntaxIds": [
1
],
"languageIds": [],
"tagIds": [
2,
3,
36
],
"maintainerIds": [
4
]
},
{
"id": 4,
"name": "Hosts Blocking",
"description": "Hosts file blocking known malware, spyware, virus, and shock sites",
"licenseId": 2,
"syntaxIds": [
1
],
"languageIds": [],
"tagIds": [
6
],
"maintainerIds": [
5
]
},
{
"id": 5,
"name": "Message \"Seen\" Remover for Facebook",Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
(lists) | path segment | Optional | The main catalogue endpoint. Takes no parameters — it returns everything. |
(lists/{id}) | path segment | Optional | One list expanded with its full detail, including source URLs and update cadence. 1 |
(licenses) | path segment | Optional | Lookup table resolving `licenseId`. Crucial — some lists forbid commercial redistribution. |
(syntaxes) | path segment | Optional | Lookup resolving `syntaxIds` to formats such as Adblock Plus, hosts or dnsmasq. |
(languages / tags / maintainers) | path segment | Optional | The remaining lookup tables the id fields reference. |
Response fields
idinteger- List identifier, used to fetch the expanded record with its source URLs.
namestring- List name as published by its maintainer.
descriptionstring- What the list targets and how it complements others — often the only place this is written down.
licenseIdinteger- Points into `/licenses`. Resolve it: some lists explicitly forbid commercial redistribution.
syntaxIdsarray- Points into `/syntaxes`. A list is only usable by a blocker that understands its syntax.
languageIdsarray- Points into `/languages` — many lists target a specific regional ad ecosystem.
tagIdsarray- Points into `/tags`, covering what the list blocks: ads, tracking, malware, social.
maintainerIdsarray- Points into `/maintainers`, which carries contact and funding details.
What you can build with the FilterLists API
- Build a filter list picker for an ad blocker or DNS sinkhole
- Audit which lists a deployment uses and under what licences
- Discover regional lists appropriate to a user's language
- Research the content-blocking ecosystem and its maintainers
Common errors and how to fix them
Only numeric ids in the response
Not an error — the catalogue is normalised.
Fix: Fetch `/licenses`, `/syntaxes`, `/languages`, `/tags` and `/maintainers` once, cache them, and join locally.
404
Unknown list id.
Fix: Ids come from the catalogue endpoint. They are stable, but lists are occasionally retired.
No source URL in the list record
The summary record omits it.
Fix: Fetch the single-list endpoint with the id to get source URLs and update cadence.
FilterLists API — frequently asked questions
Is the FilterLists API free?
Yes, free with no API key or account. The catalogue is open source and community-maintained.
Why does the response only contain numeric IDs?
The catalogue is normalised to keep responses compact. Resolve `licenseId`, `syntaxIds`, `languageIds`, `tagIds` and `maintainerIds` against the corresponding lookup endpoints — fetch them once and cache, since they change rarely.
Does it host the filter lists themselves?
No, it catalogues them. The single-list endpoint gives you the maintainer's own source URLs, which is where the actual rules live. FilterLists is the index, not the mirror.
Do I need to check filter list licences?
Yes, and it is the reason `licenseId` exists. Filter lists carry a range of licences and some explicitly forbid commercial redistribution, so resolve the licence before bundling any list into a product.
Tools that pair with this API
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Extract URLs
Extract all URLs and links from any text online. Detect http, https and www addresses, remove duplicates, sort them, and export one per line or comma-separated.
FilterLists is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.