archive.4plebs.org APIarchive.4plebs.org ↗
Access archived 4chan boards via the 4plebs API. Search posts by text, subject, tripcode, username, and date range. Retrieve threads, media metadata, and board galleries.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/a10feac1-9ed4-4ee8-a751-0f43cbc30203/list_boards' \ -H 'X-API-Key: $PARSE_API_KEY'
List all archived boards with their short names, full names, and URLs. Parses the archive homepage to extract available boards.
No input parameters required.
{
"type": "object",
"fields": {
"boards": "array of board objects, each containing shortname, fullname, and url"
},
"sample": {
"data": {
"boards": [
{
"url": "https://archive.4plebs.org/adv/",
"fullname": "Advice",
"shortname": "adv"
},
{
"url": "https://archive.4plebs.org/pol/",
"fullname": "Politically Incorrect",
"shortname": "pol"
}
]
},
"status": "success"
}
}About the archive.4plebs.org API
The 4plebs Archive API exposes 14 endpoints for retrieving and searching archived 4chan posts across boards including pol, tv, x, adv, and others. The search_posts endpoint accepts filters for text, subject, username, tripcode, date range, and post type, while get_thread returns a full thread with the original post and all replies keyed by post number. Media objects include OCR-extracted text, ML-generated image descriptions, dimensions, and direct file URLs.
Boards, Threads, and Posts
The list_boards endpoint returns all archived boards with their shortname, fullname, and url. You pass those shortnames directly into most other endpoints. get_board_index accepts a board and optional page parameter and returns threads paginated by page, keyed by thread number. get_thread accepts a board and thread_num, returning the original post under the op key and all replies as an object keyed by post number. If you only want replies, get_thread_replies returns an array of reply objects without the OP.
Search Filters
search_posts is the most flexible endpoint, accepting text, subject, boards, type (use op to restrict to original posts), order (use asc for oldest-first), and start/end date filters in YYYY-MM-DD format. Results include a meta object with total_found, max_results, and search_title. Focused variants exist for common patterns: search_by_subject, search_by_username, search_by_tripcode, search_with_date_range, and search_op_only. The search_by_username endpoint works best with specific display names; searching for Anonymous returns too broad a result set to be practical.
Media and Gallery Data
get_board_gallery returns paginated media objects for a board, each with media_link, thumb_link, media_filename, media_w, media_h, ocr_t (OCR text extracted from the image), and ml (an ML-generated image description). The get_media_info endpoint retrieves the same media fields for a specific post identified by board and post_num, and returns null in the media field for posts without attachments. The media_hash field is an MD5 hash of the media file, useful for deduplication.
Additional Endpoints
get_post returns a single post's full data including num, name, comment, board, and the media object. get_random_thread resolves a random thread from a given board and returns the same structure as get_thread, which can be useful for sampling the archive without a specific target.
- Track posts from a specific tripcode across boards using
search_by_tripcodewith optional board scoping - Build a timeline of archived posts on a topic using
search_with_date_rangewithstartandendfilters - Audit media posted to a board by iterating
get_board_gallerypages and inspectingocr_tandmlfields - Extract all replies in a thread for sentiment or conversation analysis using
get_thread_replies - Find original posts only on a board filtered by subject keyword using
search_op_onlyorsearch_by_subject - Identify duplicate media uploads across threads using the
media_hashfield fromget_media_info - Sample random archived threads for dataset construction using
get_random_threadacross multiple boards
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does 4plebs have an official developer API?+
Which boards are available through this API?+
list_boards endpoint returns the current set of archived boards, which as of writing includes pol, tv, x, adv, sp, tg, trv, hr, o, f, and s4s. 4plebs does not archive all 4chan boards — only those it has explicitly chosen to mirror. Boards outside that set are not accessible.What does the `search_posts` response include beyond the post text?+
meta object in the response carries total_found (total matching posts), max_results (cap on returned results), and search_title. Media objects include media_link, thumb_link, media_w, media_h, ocr_t, ml, and media_hash.Can I retrieve live or currently active 4chan threads through this API?+
Is there a way to search posts by image hash or file name rather than text?+
media_hash field is available in post responses for deduplication, but there is no dedicated hash-based search endpoint. You can fork this API on Parse and revise it to add a media hash search endpoint if 4plebs surfaces that filter.