canonical: https://jentic.com/apis/4cdn.org/4chan

# 4cdn 4chan API

Jentic publishes the only available OpenAPI specification for 4chan API, keeping it validated and agent-ready. The 4chan API is a read-only JSON interface to public 4chan board data: the list of boards, individual threads, board catalogs, archived threads, and thread index pages. All endpoints are publicly accessible with no authentication. The vendor enforces a hard rate limit of one request per second per client.

## For AI agents

Read public 4chan boards, threads, catalogs, archives, and thread indexes for monitoring, archiving, and research without authentication.

## Scope

Does not support posting, moderation, or any write operations - use for read-only access to public 4chan boards, threads, catalogs, and archives only.

## Capabilities

- List all public 4chan boards via GET /boards.json
- Retrieve the full catalog of active threads on a board via GET /{board}/catalog.json
- Fetch a specific thread with all its replies via GET /{board}/thread/{threadId}.json
- Read the archive of expired threads on a board via GET /{board}/archive.json
- Retrieve a flat list of thread IDs and last-modified times for a board via GET /{board}/threads.json
- Page through a board's index pages via GET /{board}/{page}.json

## Use cases

### Brand and Topic Mention Monitoring

Continuously poll boards for mentions of a brand, product, or named entity. Use GET /{board}/catalog.json to fetch active threads and scan subject and com fields for keywords, then drill into matched threads via GET /{board}/thread/{threadId}.json. Respect the documented one-request-per-second cap to avoid being throttled.

Example prompt: Every 60 seconds, fetch /g/catalog.json, find threads whose subject or com contains the keyword 'Acme', and write each matching thread's ID and snippet to a database.

### Research Dataset Construction

Build a research dataset of public 4chan posts on a topic by paging through boards and persisting full thread JSON. GET /{board}/threads.json returns thread IDs with last-modified times so a crawler can detect changes; GET /{board}/thread/{threadId}.json fetches the full conversation. Useful for academic and OSINT research within ethical and legal boundaries.

Example prompt: For board /pol/, fetch /pol/threads.json hourly, identify threads modified since the last run, and download each updated thread's full JSON to S3.

### Archive Snapshot of Expired Threads

Capture threads that are about to fall off a board by polling GET /{board}/archive.json for archived thread IDs and downloading each via the thread endpoint. This produces a long-tail snapshot of conversation that the live catalog no longer surfaces.

Example prompt: Fetch /a/archive.json, take the diff against the previously seen archive list, and download the full thread JSON for each newly archived ID.

### Agent-Driven Public Content Monitoring

Let an AI agent poll 4chan boards on a schedule and surface relevant threads through Jentic. The agent searches for the right read operation by intent, supplies the board name, and gets back parsed thread data. Because endpoints require no auth, Jentic still handles request shaping, paging, and the documented rate limit on the client's behalf.

Example prompt: Through Jentic, search 'list 4chan boards', load the GET /boards.json operation, then iterate boards and pull /catalog.json for the user-supplied watchlist.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /boards.json | List all public 4chan boards |
| GET | /{board}/catalog.json | Get a board's active threads catalog |
| GET | /{board}/thread/{threadId}.json | Retrieve a specific thread |
| GET | /{board}/archive.json | List archived threads on a board |
| GET | /{board}/threads.json | Get a board's thread index |
| GET | /{board}/{page}.json | Page through board index pages |

## Key resources

- **Boards** — List all public 4chan boards
- **Catalog** — Get the active threads catalog for a board
- **Threads** — Retrieve full thread JSON or thread index
- **Archive** — List archived threads on a board
- **Index** — Page through a board's index pages

## Why Jentic

- **Setup:** Wiring the 4chan API by hand means building your own HTTP client and honoring its documented one-second rate limit against its read-only JSON endpoints, since it ships no auth. Through Jentic you install once, import the 4chan API from the API Directory, and your agent calls it with no credential to manage.
- **Permission scoping:** The 4chan API is read-only and puts the board in the URL path (/{board}/catalog.json, /{board}/thread/{threadId}.json), so a rule can pin your agent to reading one board. You choose the operations it may call, so the agent only runs the read calls you pick.
- **Credential handling:** The 4chan API needs no credential, so there is nothing to store, and your own Jentic One instance still keeps request handling out of the agent's prompt, logs, and context.
- **Discovery method:** Agents search Jentic by intent such as 'list 4chan boards' or 'get the threads on a board', and Jentic returns the matching 4chan operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Reddit API** — Reddit's API exposes public subreddits, posts, and comments with optional OAuth for moderation actions.
- **Discord API** — Discord covers chat communities with channels, roles, and bot integrations.
- **Slack API** — Pipe noteworthy 4chan threads into Slack channels for analyst review.

## FAQ

### Why is there no official OpenAPI spec for 4chan API?

4chan publishes a Markdown reference at github.com/4chan/4chan-API but no OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call 4chan API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the 4chan API use?

None - the API is read-only and publicly accessible. The 4chan documentation specifies a hard rate limit of no more than one request per second per client; clients must space requests accordingly to avoid being blocked.

### How do I get the list of all 4chan boards?

Call GET /boards.json against https://a.4cdn.org. The response contains the full board list with metadata such as board name, title, and posting rules - useful as a discovery step before crawling specific boards.

### What are the rate limits for the 4chan API?

The vendor documents a limit of no more than one request per second per client. Build crawlers with at least a 1.0-second delay between requests; aggressive polling will get the client IP throttled or blocked.

### How do I monitor a 4chan board through Jentic?

Run pip install jentic, then search 'get 4chan board catalog', load the GET /{board}/catalog.json operation, supply the board parameter, and execute on a schedule. Run it through Jentic One, the self-hosted execution layer to receive an agent API key for execution.

### Can I post or modify content via the 4chan API?

No. The API is read-only - it surfaces boards, threads, catalogs, and archives but does not expose endpoints for creating posts, replies, or moderation actions. Posting must happen through the website itself.

### Can I limit what my agent is allowed to do with the 4chan API?

Yes. Because you run Jentic One yourself, your own rules decide which 4chan operations and inputs the agent may use, and the 4chan API is read-only so no write path exists to begin with. You pick the exact calls it can make, so the agent might be allowed only GET /boards.json and GET /{board}/catalog.json and nothing else. Since the board sits in the URL path, such as /{board}/catalog.json and /{board}/thread/{threadId}.json, a rule can pin the agent to reading a single board.
