4chan · JSON Structure

4Chan Api Board Structure

A single board on 4chan or 4channel and its configured settings.

Type: object Properties: 29 Required: 13
SocialBulletin BoardImageboardRead OnlyJSONPublic APIsCommunity

Board is a JSON Structure definition published by 4chan, describing 29 properties, of which 13 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

board name ws_board per_page pages max_filesize max_webm_filesize max_comment_chars max_webm_duration bump_limit image_limit cooldowns meta_description spoilers custom_spoilers is_archived board_flags country_flags user_ids oekaki sjis_tags code_tags math_tags text_only forced_anon webm_audio require_subject min_image_width min_image_height

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/4chan/refs/heads/main/json-structure/4chan-api-board-structure.json",
  "name": "Board",
  "description": "A single board on 4chan or 4channel and its configured settings.",
  "type": "object",
  "properties": {
    "board": {
      "type": "string",
      "description": "Board directory short name (used as the path segment for all per-board endpoints).",
      "example": "a"
    },
    "name": {
      "type": "string",
      "description": "Human-readable board title displayed at the top of the board.",
      "example": "Anime & Manga"
    },
    "ws_board": {
      "type": "int32",
      "description": "`1` if the board is worksafe, `0` otherwise.",
      "enum": [
        0,
        1
      ],
      "example": 1
    },
    "per_page": {
      "type": "int32",
      "description": "Number of threads displayed on a single index page.",
      "example": 15
    },
    "pages": {
      "type": "int32",
      "description": "Total number of index pages on the board.",
      "example": 10
    },
    "max_filesize": {
      "type": "int32",
      "description": "Maximum file size allowed for non-`.webm` attachments, in bytes.",
      "example": 4194304
    },
    "max_webm_filesize": {
      "type": "int32",
      "description": "Maximum file size allowed for `.webm` attachments, in bytes.",
      "example": 3145728
    },
    "max_comment_chars": {
      "type": "int32",
      "description": "Maximum number of characters allowed in a single post comment.",
      "example": 2000
    },
    "max_webm_duration": {
      "type": "int32",
      "description": "Maximum allowed duration of a `.webm` attachment, in seconds.",
      "example": 120
    },
    "bump_limit": {
      "type": "int32",
      "description": "Maximum number of replies before a thread stops bumping to the top.",
      "example": 500
    },
    "image_limit": {
      "type": "int32",
      "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": "int32",
          "description": "Minimum seconds between consecutive thread creations from the same poster.",
          "example": 600
        },
        "replies": {
          "type": "int32",
          "description": "Minimum seconds between consecutive replies from the same poster.",
          "example": 60
        },
        "images": {
          "type": "int32",
          "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": "int32",
      "description": "`1` if spoilered images are enabled on this board.",
      "enum": [
        0,
        1
      ],
      "example": 1
    },
    "custom_spoilers": {
      "type": "int32",
      "description": "Number of custom spoiler image variants the board provides.",
      "example": 1
    },
    "is_archived": {
      "type": "int32",
      "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": "int32",
      "description": "`1` if poster country flags are enabled on this board.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "user_ids": {
      "type": "int32",
      "description": "`1` if per-thread poster ID tags are enabled.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "oekaki": {
      "type": "int32",
      "description": "`1` if users can submit drawings via the in-browser Oekaki app.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "sjis_tags": {
      "type": "int32",
      "description": "`1` if the `[sjis]` Shift-JIS drawing tag is supported.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "code_tags": {
      "type": "int32",
      "description": "`1` if `[code]` syntax-highlighted blocks are supported.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "math_tags": {
      "type": "int32",
      "description": "`1` if `[math]` / `[eqn]` TeX rendering is supported.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "text_only": {
      "type": "int32",
      "description": "`1` if image posting is disabled on the board.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "forced_anon": {
      "type": "int32",
      "description": "`1` if the name field is disabled on the board.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "webm_audio": {
      "type": "int32",
      "description": "`1` if `.webm` files with audio tracks are allowed.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "require_subject": {
      "type": "int32",
      "description": "`1` if OPs are required to include a subject.",
      "enum": [
        0,
        1
      ],
      "example": 0
    },
    "min_image_width": {
      "type": "int32",
      "description": "Minimum allowed width of uploaded images, in pixels.",
      "example": 100
    },
    "min_image_height": {
      "type": "int32",
      "description": "Minimum allowed height of uploaded images, in pixels.",
      "example": 100
    }
  },
  "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"
  ]
}