> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trythinkbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List categories

> Returns all debate categories with the number of debates in each.



## OpenAPI

````yaml /openapi.yaml get /categories
openapi: 3.1.0
info:
  title: Thinkbase Data API
  version: 1.0.0
  description: >
    Structured opinion data, arguments, and voting percentages via REST API.


    Thinkbase captures **what** people think (voting percentages) and **why**
    they think it (structured arguments tied to positions). This data is
    available across 14 categories including Politics, Ethics, Technology, and
    more.


    ## Authentication

    All endpoints require an API key passed in the `X-API-Key` header.


    ## Tiers

    Usage-based pricing at $0.003/call with no base fees. Tiers auto-graduate
    based on lifetime spend.

    - **Free** ($0 spent, 100 calls/day): Debates, categories, trending, live
    percentages

    - **Tier 1** ($5 spent, 1K calls/day): + Arguments, search, historical
    snapshots

    - **Tier 2** ($50 spent, 10K calls/day): Higher rate limits

    - **Tier 3** ($250 spent, 100K calls/day): Production-scale access

    - **Tier 4** ($1,000 spent, 1M calls/day): Maximum throughput
servers:
  - url: https://api.trythinkbase.com/v1
    description: Production
security:
  - apiKey: []
tags:
  - name: Debates
    description: Browse and filter debates with live voting percentages.
  - name: Arguments
    description: >-
      Access structured arguments — the reasoning behind opinions. Requires
      **Tier 1+**.
  - name: History
    description: View prediction percentage changes over time. Requires **Tier 1+**.
  - name: Categories
    description: List debate categories.
  - name: Trending
    description: Get currently trending debates.
  - name: Search
    description: Search debates by keyword. Requires **Tier 1+**.
paths:
  /categories:
    get:
      tags:
        - Categories
      summary: List categories
      description: Returns all debate categories with the number of debates in each.
      operationId: listCategories
      responses:
        '200':
          description: List of categories (not paginated).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Category'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    Category:
      type: object
      properties:
        name:
          type: string
          example: Politics
        slug:
          type: string
          example: politics
        icon:
          type: string
          example: 🏛️
        debate_count:
          type: integer
          example: 827
      required:
        - name
        - slug
        - icon
        - debate_count
    AuthError:
      type: object
      properties:
        error:
          type: string
          example: Missing API key
        message:
          type: string
          example: Include your API key in the X-API-Key header.
        docs:
          type: string
          example: https://docs.trythinkbase.com/authentication
    RateLimitError:
      type: object
      properties:
        error:
          type: string
          example: Rate limit exceeded
        message:
          type: string
          example: Daily limit of 10000 requests exceeded.
        limit:
          type: integer
          example: 10000
        upgrade_url:
          type: string
          example: https://docs.trythinkbase.com/pricing
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthError'
    RateLimited:
      description: Daily rate limit exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimitError'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Thinkbase API key. Get one at https://platform.trythinkbase.com.
      x-default: your-api-key-here

````