BYTETOOLS

4chan Read-Only API

Free read-only 4chan API with no key: board metadata, thread catalogs, full threads and post data as JSON, served from a static CDN. Tested example included.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the 4chan Read-Only API?

The 4chan API is a free, read-only, key-free JSON API served from the a.4cdn.org static host. It exposes board metadata and configuration, thread catalogs, full thread contents and individual post data. It is read-only by design — posting is not possible through it.

This API is worth understanding as an engineering artefact regardless of what you think of the site. It is entirely static JSON served from a CDN, with no query parameters and no server-side computation: every endpoint is a file. That design is why it absorbs enormous traffic, and it is a good illustration of how far a read-only API can get on static generation alone.

The `/boards.json` endpoint documented here is the sensible entry point because it returns every board's configuration in one response — page count, posting cooldowns, maximum file sizes, comment limits and a `ws_board` flag marking whether a board is work-safe. That last field is the one to build on: filtering to `ws_board: 1` is the difference between a usable integration and an unusable one. **A significant portion of this site hosts adult and offensive content, so read the caveats before shipping anything against it.**

Quick facts

Base URL
https://a.4cdn.org
Authentication
No API key. Read-only: there is no write, post or authenticate operation. The terms require a 1-second minimum interval between requests and forbid requesting the same resource more often than once a second.
Rate limit
One request per second, enforced by policy. Use `If-Modified-Since` and honour 304 responses rather than re-downloading.
Pricing
Free.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the 4chan Read-Only 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. List every board with its configuration

GET https://a.4cdn.org/boards.json

curl
curl 'https://a.4cdn.org/boards.json'
JavaScript (fetch)
const res = await fetch("https://a.4cdn.org/boards.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://a.4cdn.org/boards.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "boards": [
    {
      "board": "3",
      "title": "3DCG",
      "ws_board": 1,
      "per_page": 15,
      "pages": 10,
      "max_filesize": 4194304,
      "max_webm_filesize": 4194304,
      "max_comment_chars": 2000,
      "max_webm_duration": 120,
      "bump_limit": 310,
      "image_limit": 150,
      "cooldowns": {
        "threads": 600,
        "replies": 60,
        "images": 60
      },
      "meta_description": ""/3/ - 3DCG" is 4chan's board for 3D modeling and imagery.",
      "is_archived": 1
    },
    {
      "board": "a",
      "title": "Anime & Manga",
      "ws_board": 1,
      "per_page": 15,
      "pages": 10,
      "max_filesize": 4194304,
      "max_webm_filesize": 4194304,
      "max_comment_chars": 2000,
      "max_webm_duration": 120,
      "bump_limit": 500,
      "image_limit": 300,
      "cooldowns": {
        "threads": 600,
        "replies": 60,
        "images": 60
      },
      "meta_description": ""/a/ - Anime & Manga" is 4chan's imageboard dedicated to the discussion of Japanese animation and manga.",
      "spoilers": 1,
      "custom_spoilers": 1,
      "is_archived": 1
    },
    {
      "board": "aco",
      "title": "Adult Cartoons",
      "ws_board": 0,
      "per_page": 15,
      "pages": 10,
      "max_filesize": 4194304,
      "max_webm_filesize": 4194304,
      "max_comment_chars": 2000,
      "max_webm_duration": 120,
      "bump_limit": 300,
      "image_limit": 300,
      "cooldowns": {
        "threads": 600,
        "replies": 60,
        "images": 30
      },
      "meta_description": "&quot

Parameters

ParameterTypeRequiredDescription
(boards.json)path segmentOptionalStatic file listing every board and its settings. Takes no parameters.
boardpath segmentOptionalBoard short name, used as the first segment for thread endpoints. g
(catalog.json)path segmentOptionalAll threads on a board with their opening posts and reply counts.
(thread/{no}.json)path segmentOptionalOne complete thread including every reply. 12345678
(threads.json)path segmentOptionalThread ids with last-modified times, designed for cheap change detection.

Response fields

boardsarray
Every board on the site with its full configuration.
board / titlestring
Short code (`g`, `3`) and human-readable title.
ws_boardinteger
1 if the board is work-safe, 0 if not. Filter on this before displaying anything.
pages / per_pageinteger
How many pages the board has and how many threads per page.
max_filesize / max_webm_filesizeinteger
Upload limits in bytes.
cooldownsobject
Minimum seconds between posting threads, replies and images.
bump_limit / image_limitinteger
When a thread stops bumping and stops accepting images.
meta_descriptionstring
Board description, HTML-escaped — decode entities before display.

What you can build with the 4chan Read-Only API

  • Build a read-only board archiver or research dataset
  • Study static-file API design as an architecture example
  • Monitor thread activity with cheap `If-Modified-Since` polling
  • Aggregate public post metadata for academic discourse research

Common errors and how to fix them

404

Unknown board, or a thread that has been pruned.

Fix: Threads are deleted as they fall off the last page. A 404 usually means the thread is simply gone, which is normal.

429

More than one request per second.

Fix: The rate limit is policy, not a suggestion. Space requests at least a second apart and use `If-Modified-Since` so unchanged resources return a cheap 304.

HTML entities in text

Post text is HTML-escaped and contains markup.

Fix: Comment fields include `<br>` and quote links. Decode entities and sanitise before rendering — never inject raw.

4chan Read-Only API — frequently asked questions

Is the 4chan API free and does it need a key?

Yes, it is free with no API key. It is also strictly read-only — there is no endpoint for posting, authenticating or modifying anything.

What are the rate limits?

One request per second, and you must not request the same resource more than once a second. The API supports `If-Modified-Since`, so honour 304 responses rather than re-downloading unchanged files.

How do I avoid pulling adult content?

Filter on the `ws_board` field from the boards endpoint, which is 1 for work-safe boards and 0 otherwise. A large portion of the site is not work-safe, so this filter is essential rather than optional for most integrations.

Why is the API just static JSON files?

It is a deliberate design choice. Every endpoint is a pre-generated file on a CDN with no query parameters and no server-side computation, which is how it absorbs very high traffic cheaply — a genuinely instructive example of read-only API architecture.

Tools that pair with this API

4chan Read-Only API 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.