Open Trivia DB Questions API

Retrieve trivia questions.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/open-trivia-db-questions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

open-trivia-db-questions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Open Trivia DB Categories Questions API
  description: Free JSON API providing trivia questions across multiple categories, difficulties, and types. No API key is required. Supports session tokens to avoid duplicate questions across requests, multiple response encodings, and rate limiting of one request per IP every 5 seconds.
  version: '1.0'
  contact:
    name: Open Trivia DB
    url: https://opentdb.com
  license:
    name: Creative Commons Attribution-ShareAlike 4.0 International
    url: https://creativecommons.org/licenses/by-sa/4.0/
servers:
- url: https://opentdb.com
  description: Open Trivia DB Production
tags:
- name: Questions
  description: Retrieve trivia questions.
paths:
  /api.php:
    get:
      tags:
      - Questions
      summary: Retrieve trivia questions
      description: Returns a list of trivia questions filtered by amount, category, difficulty, type, and encoding. Up to 50 questions per request.
      operationId: getQuestions
      parameters:
      - name: amount
        in: query
        required: true
        description: Number of questions to return (1-50).
        schema:
          type: integer
          minimum: 1
          maximum: 50
      - name: category
        in: query
        description: Category ID to filter by. Omit for any category.
        schema:
          type: integer
      - name: difficulty
        in: query
        description: Question difficulty.
        schema:
          type: string
          enum:
          - easy
          - medium
          - hard
      - name: type
        in: query
        description: Question type.
        schema:
          type: string
          enum:
          - multiple
          - boolean
      - name: encode
        in: query
        description: Response encoding format.
        schema:
          type: string
          enum:
          - url3986
          - base64
      - name: token
        in: query
        description: Session token to avoid duplicate questions.
        schema:
          type: string
      responses:
        '200':
          description: Trivia questions response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuestionsResponse'
components:
  schemas:
    Question:
      type: object
      properties:
        category:
          type: string
        type:
          type: string
          enum:
          - multiple
          - boolean
        difficulty:
          type: string
          enum:
          - easy
          - medium
          - hard
        question:
          type: string
        correct_answer:
          type: string
        incorrect_answers:
          type: array
          items:
            type: string
    QuestionsResponse:
      type: object
      properties:
        response_code:
          type: integer
          description: 0 = Success, 1 = No Results, 2 = Invalid Parameter, 3 = Token Not Found, 4 = Token Empty, 5 = Rate Limit.
        results:
          type: array
          items:
            $ref: '#/components/schemas/Question'
externalDocs:
  description: Open Trivia DB API Documentation
  url: https://opentdb.com/api_config.php