The app endpoints provide access to board data in JSON format, compatible with the 4chan API structure. All endpoints support optional authentication to filter reported content.
Authentication
These endpoints support optional JWT authentication via the api_usr_authenticated decorator. When authenticated, reported posts are filtered based on the user’s authority level.
Unauthenticated requests will receive filtered content with reported posts hidden according to the moderation settings.
Get catalog
GET /api/v1/{board}/catalog.json
Retrieves the catalog for a specific board, containing all threads organized by pages.
Board shortname (e.g., “g”, “a”, “tech”)
Bearer token for authenticated requests (optional)
Response
Returns an array of page objects, each containing threads for that page.
Array of thread objects in the catalog. Reported posts are filtered based on authentication status.
curl -X GET "https://archive.example.com/api/v1/g/catalog.json" \
-H "Authorization: Bearer YOUR_TOKEN"
[
{
"page" : 1 ,
"threads" : [
{
"no" : 12345678 ,
"sticky" : 0 ,
"closed" : 0 ,
"now" : "01/15/26(Wed)12:34:56" ,
"name" : "Anonymous" ,
"sub" : "Thread Subject" ,
"com" : "Thread content..." ,
"replies" : 42 ,
"images" : 15
}
]
}
]
Get thread
GET /api/v1/{board}/thread/{thread_id}.json
Retrieves a complete thread with all posts.
Thread ID (OP post number)
Bearer token for authenticated requests (optional)
Response
Returns a thread object containing the OP and all replies.
Array of post objects in the thread. Reported posts are filtered based on authentication status.
curl -X GET "https://archive.example.com/api/v1/g/thread/12345678.json" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"posts" : [
{
"no" : 12345678 ,
"sticky" : 0 ,
"closed" : 0 ,
"now" : "01/15/26(Wed)12:34:56" ,
"name" : "Anonymous" ,
"sub" : "Thread Subject" ,
"com" : "OP post content..."
},
{
"no" : 12345679 ,
"now" : "01/15/26(Wed)12:35:12" ,
"name" : "Anonymous" ,
"com" : "Reply content..."
}
]
}
Get board index
GET /api/v1/{board}/{page_num}.json
Retrieves a specific page of the board index with thread previews.
Bearer token for authenticated requests (optional)
Response
Returns an index object containing threads for the requested page.
Array of thread objects with preview posts. Reported posts are filtered based on authentication status.
curl -X GET "https://archive.example.com/api/v1/g/0.json" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"threads" : [
{
"no" : 12345678 ,
"sticky" : 0 ,
"closed" : 0 ,
"now" : "01/15/26(Wed)12:34:56" ,
"name" : "Anonymous" ,
"sub" : "Thread Subject" ,
"com" : "Thread content..." ,
"replies" : 42 ,
"images" : 15 ,
"last_replies" : [
{
"no" : 12345720 ,
"now" : "01/15/26(Wed)13:45:23" ,
"name" : "Anonymous" ,
"com" : "Recent reply..."
}
]
}
]
}
Error handling
All endpoints validate the board shortname and will return an error if the board does not exist.
Invalid board names will result in a validation error. Ensure the board shortname matches a configured board.