4chan Boards API

List of all boards on 4chan and 4channel and their per-board settings.

OpenAPI Specification

4chan-boards-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: 4chan Read-Only JSON Archive Boards API
  description: 'Read-only JSON API for the 4chan and 4channel imageboards, originally launched in September 2012. All endpoints are served as static JSON documents from `a.4cdn.org` over `http://` or `https://`. The API exposes only the public, anonymous read surface of the site: board metadata, board catalogs, board threadlists, archive listings, board index pages, and individual thread documents.

    There is no authentication, no posting, and no per-user write surface. Only `GET`, `HEAD`, and `OPTIONS` are accepted. CORS is enabled only for origins `boards.4chan.org` and `boards.4channel.org`.

    Clients MUST send no more than one request per second, MUST set thread-polling intervals to at least 10 seconds (preferably higher), and SHOULD use `If-Modified-Since` so that unchanged threads return `304 Not Modified`.'
  version: '2026-05-28'
  termsOfService: https://github.com/4chan/4chan-API#api-terms-of-service
  contact:
    name: 4chan API
    email: api@4chan.org
    url: https://github.com/4chan/4chan-API
  license:
    name: 4chan API Terms of Service
    url: https://github.com/4chan/4chan-API#api-terms-of-service
  x-generated-from: documentation
  x-source-url: https://github.com/4chan/4chan-API
  x-last-validated: '2026-05-28'
servers:
- url: https://a.4cdn.org
  description: Production 4chan read-only JSON API (HTTPS).
- url: http://a.4cdn.org
  description: Production 4chan read-only JSON API (HTTP, legacy clients only).
tags:
- name: Boards
  description: List of all boards on 4chan and 4channel and their per-board settings.
paths:
  /boards.json:
    get:
      operationId: getBoards
      summary: 4chan List All Boards
      description: Returns the comprehensive list of all 4chan and 4channel boards and their major settings (page count, per-page thread count, bump/image limits, cooldowns, feature flags, etc.). This is the canonical bootstrap call for any client — every other endpoint requires a board directory name from this document.
      tags:
      - Boards
      responses:
        '200':
          description: Successful response. Returns the full boards list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardsResponse'
              examples:
                GetBoards200Example:
                  summary: Default getBoards 200 response
                  x-microcks-default: true
                  value:
                    boards:
                    - board: a
                      title: Anime & Manga
                      ws_board: 1
                      per_page: 15
                      pages: 10
                      max_filesize: 4194304
                      max_webm_filesize: 3145728
                      max_comment_chars: 2000
                      max_webm_duration: 120
                      bump_limit: 500
                      image_limit: 300
                      cooldowns:
                        threads: 600
                        replies: 60
                        images: 60
                      meta_description: '"/a/ - Anime & Manga" is 4chan''s imageboard dedicated to the discussion of Japanese animation and manga.'
                      spoilers: 1
                      custom_spoilers: 1
                      is_archived: 1
                    - board: po
                      title: Papercraft & Origami
                      ws_board: 1
                      per_page: 15
                      pages: 10
                      max_filesize: 4194304
                      max_webm_filesize: 3145728
                      max_comment_chars: 2000
                      max_webm_duration: 120
                      bump_limit: 500
                      image_limit: 300
                      cooldowns:
                        threads: 600
                        replies: 60
                        images: 60
                      meta_description: '"/po/ - Papercraft & Origami" is 4chan''s imageboard for paper engineering.'
                      is_archived: 1
        '304':
          description: Not Modified. Returned when an `If-Modified-Since` header matched.
        '404':
          description: Not Found.
        '503':
          description: Service Unavailable (rate limited or back-pressure).
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    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
    Board:
      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:
          $ref: '#/components/schemas/Cooldowns'
        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
    BoardsResponse:
      type: object
      description: Top-level response from `/boards.json`.
      required:
      - boards
      properties:
        boards:
          type: array
          description: Every board on 4chan and 4channel.
          items:
            $ref: '#/components/schemas/Board'