> ## 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.

# Get prediction history

> Returns prediction percentage snapshots over time for a debate.
Each snapshot captures the predictor count and percentage for each option at a point in time.
Results are in chronological order.




## OpenAPI

````yaml /openapi.yaml get /debates/{slug}/history
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:
  /debates/{slug}/history:
    get:
      tags:
        - History
      summary: Get prediction history
      description: >
        Returns prediction percentage snapshots over time for a debate.

        Each snapshot captures the predictor count and percentage for each
        option at a point in time.

        Results are in chronological order.
      operationId: getDebateHistory
      parameters:
        - name: slug
          in: path
          required: true
          schema:
            type: string
          example: should-the-us-ban-tiktok
        - name: from
          in: query
          schema:
            type: string
            format: date-time
          description: Start of date range (ISO 8601).
          example: '2026-05-01T00:00:00Z'
        - name: to
          in: query
          schema:
            type: string
            format: date-time
          description: End of date range (ISO 8601).
          example: '2026-05-31T23:59:59Z'
      responses:
        '200':
          description: Array of prediction snapshots (not paginated).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Snapshot'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/TierRequired'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    Snapshot:
      type: object
      description: A point-in-time capture of prediction percentages for one option.
      properties:
        option_id:
          type: string
          format: uuid
        option_text:
          type: string
          example: 'Yes'
        predictor_count:
          type: integer
          example: 89
        prediction_percentage:
          type: number
          format: float
          example: 62.5
        captured_at:
          type: string
          format: date-time
      required:
        - option_id
        - option_text
        - predictor_count
        - prediction_percentage
        - captured_at
    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
    TierError:
      type: object
      properties:
        error:
          type: string
          example: Tier upgrade required
        message:
          type: string
        current_tier:
          type: string
          example: free
        required_tier:
          type: string
          example: tier_1
        upgrade_url:
          type: string
          example: https://docs.trythinkbase.com/pricing
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
    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'
    TierRequired:
      description: Tier upgrade required (Tier 1 or higher).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TierError'
    NotFound:
      description: Debate not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    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

````