4chan · Schema

BoardsResponse

Top-level response from `/boards.json`.

SocialBulletin BoardImageboardRead OnlyJSONPublic APIsCommunity

Properties

Name Type Description
boards array Every board on 4chan and 4channel.
View JSON Schema on GitHub

JSON Schema

4chan-api-boards-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "BoardsResponse",
  "description": "Top-level response from `/boards.json`.",
  "$id": "https://raw.githubusercontent.com/api-evangelist/4chan/refs/heads/main/json-schema/4chan-api-boards-response-schema.json",
  "properties": {
    "boards": {
      "type": "array",
      "description": "Every board on 4chan and 4channel.",
      "items": {
        "type": "object",
        "description": "A single board on 4chan or 4channel and its configured settings.",
        "required": [
          "board",
          "title",
          "ws_board",
          "per_page",
          "pages",
          "max_filesize",
          "max_webm_filesize",
          "max_comment_chars",
          "max_webm_duration",
          "bump_limit",
          "image_limit",
          "cooldowns",
          "meta_description"
        ],
        "properties": {
          "board": {
            "type": "string",
            "description": "Board directory short name (used as the path segment for all per-board endpoints).",
            "example": "a"
          },
          "title": {
            "type": "string",
            "description": "Human-readable board title displayed at the top of the board.",
            "example": "Anime & Manga"
          },
          "ws_board": {
            "type": "integer",
            "description": "`1` if the board is worksafe, `0` otherwise.",
            "enum": [
              0,
              1
            ],
            "example": 1
          },
          "per_page": {
            "type": "integer",
            "description": "Number of threads displayed on a single index page.",
            "example": 15
          },
          "pages": {
            "type": "integer",
            "description": "Total number of index pages on the board.",
            "example": 10
          },
          "max_filesize": {
            "type": "integer",
            "description": "Maximum file size allowed for non-`.webm` attachments, in bytes.",
            "example": 4194304
          },
          "max_webm_filesize": {
            "type": "integer",
            "description": "Maximum file size allowed for `.webm` attachments, in bytes.",
            "example": 3145728
          },
          "max_comment_chars": {
            "type": "integer",
            "description": "Maximum number of characters allowed in a single post comment.",
            "example": 2000
          },
          "max_webm_duration": {
            "type": "integer",
            "description": "Maximum allowed duration of a `.webm` attachment, in seconds.",
            "example": 120
          },
          "bump_limit": {
            "type": "integer",
            "description": "Maximum number of replies before a thread stops bumping to the top.",
            "example": 500
          },
          "image_limit": {
            "type": "integer",
            "description": "Maximum number of image replies before further image replies are discarded.",
            "example": 300
          },
          "cooldowns": {
            "type": "object",
            "description": "Per-board cooldown intervals (in seconds) between successive posts of each type.",
            "properties": {
              "threads": {
                "type": "integer",
                "description": "Minimum seconds between consecutive thread creations from the same poster.",
                "example": 600
              },
              "replies": {
                "type": "integer",
                "description": "Minimum seconds between consecutive replies from the same poster.",
                "example": 60
              },
              "images": {
                "type": "integer",
                "description": "Minimum seconds between consecutive image posts from the same poster.",
                "example": 60
              }
            }
          },
          "meta_description": {
            "type": "string",
            "description": "SEO `<meta>` description content for the board's catalog page.",
            "example": "\"/a/ - Anime & Manga\" is 4chan's imageboard dedicated to the discussion of Japanese animation and manga."
          },
          "spoilers": {
            "type": "integer",
            "description": "`1` if spoilered images are enabled on this board.",
            "enum": [
              0,
              1
            ],
            "example": 1
          },
          "custom_spoilers": {
            "type": "integer",
            "description": "Number of custom spoiler image variants the board provides.",
            "example": 1
          },
          "is_archived": {
            "type": "integer",
            "description": "`1` if the board has its archive enabled.",
            "enum": [
              0,
              1
            ],
            "example": 1
          },
          "board_flags": {
            "type": "object",
            "description": "Map of board-specific flag codes to human-readable flag names.",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "AB": "Flag Name AB",
              "XY": "Flag Name XY"
            }
          },
          "country_flags": {
            "type": "integer",
            "description": "`1` if poster country flags are enabled on this board.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "user_ids": {
            "type": "integer",
            "description": "`1` if per-thread poster ID tags are enabled.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "oekaki": {
            "type": "integer",
            "description": "`1` if users can submit drawings via the in-browser Oekaki app.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "sjis_tags": {
            "type": "integer",
            "description": "`1` if the `[sjis]` Shift-JIS drawing tag is supported.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "code_tags": {
            "type": "integer",
            "description": "`1` if `[code]` syntax-highlighted blocks are supported.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "math_tags": {
            "type": "integer",
            "description": "`1` if `[math]` / `[eqn]` TeX rendering is supported.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "text_only": {
            "type": "integer",
            "description": "`1` if image posting is disabled on the board.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "forced_anon": {
            "type": "integer",
            "description": "`1` if the name field is disabled on the board.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "webm_audio": {
            "type": "integer",
            "description": "`1` if `.webm` files with audio tracks are allowed.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "require_subject": {
            "type": "integer",
            "description": "`1` if OPs are required to include a subject.",
            "enum": [
              0,
              1
            ],
            "example": 0
          },
          "min_image_width": {
            "type": "integer",
            "description": "Minimum allowed width of uploaded images, in pixels.",
            "example": 100
          },
          "min_image_height": {
            "type": "integer",
            "description": "Minimum allowed height of uploaded images, in pixels.",
            "example": 100
          }
        }
      }
    }
  },
  "type": "object",
  "required": [
    "boards"
  ]
}