DOCUMENTATION
Build against a small, predictable trivia API.
Use the answer-free feed for playable trivia, server-scored sessions for games and agents, or the Pro Content API when your licensed product needs the correct option ID.
API overview
The REST base URL is https://206-81-1-100.sslip.io/api. Version 2 uses stable category slugs, opaque question and option IDs, JSON request bodies, and JSON responses. There is no bulk export or pagination endpoint.
| Method | Path | Purpose | Plan |
|---|---|---|---|
| GET | /v2/categories | List stable category slugs | Free |
| GET | /v2/questions | Random answer-free questions | Free |
| POST | /v2/quiz-sessions | Start a server-scored quiz | Free |
| GET | /v2/quiz-sessions/{session_id} | Resume a quiz | Free |
| POST | /v2/quiz-sessions/{session_id}/answers | Submit and score an answer | Free |
| GET | /v2/content/questions | Licensed questions with correct option IDs | Pro |
Quickstart
Create a normal Trivio account, open the API key dashboard, name a key, and copy its one-time secret. The dedicated guide includes cURL, JavaScript, and Python examples.
Authentication
REST calls use an API key in the HTTP Bearer header. Keys begin with trv_live_ and belong to your API organization. Use a separate named key for each app and environment.
Authorization: Bearer trv_live_your_keyAPI keys belong only on trusted servers. ChatGPT and MCP clients use OAuth account linking instead. Never paste a key into a chat or connector form.
Filters
Question feeds and quiz creation accept a deliberately small filter set. Filters combine with AND semantics; unsupported values return a controlled error rather than silently changing the request.
| Parameter | Accepted values | Default |
|---|---|---|
limit | 1–50 for question feeds | 10 |
question_count | 1–10 for quiz sessions | 5 |
category | A slug returned by /v2/categories | All categories |
type | multiple_choice or true_false | Both types |
Difficulty is not currently published. Trivio does not invent subjective easy, medium, or hard labels for this catalog.
Categories
Discover category slugs before building a filter UI. Slugs are the stable API contract; display names can be shown to users.
curl "https://206-81-1-100.sslip.io/api/v2/categories" \
-H "Authorization: Bearer $TRIVIO_API_KEY"List answer-free questions
GET /api/v2/questions returns a randomized batch from the published catalog. Each question contains opaque option IDs and text but never identifies the correct choice.
curl "https://206-81-1-100.sslip.io/api/v2/questions?limit=3&category=history&type=multiple_choice" \
-H "Authorization: Bearer $TRIVIO_API_KEY"{
"questions": [{
"id": "018f...",
"text": "Which planet is known as the Red Planet?",
"options": [
{ "id": "opt_1", "text": "Mars" },
{ "id": "opt_2", "text": "Venus" },
{ "id": "opt_3", "text": "Jupiter" },
{ "id": "opt_4", "text": "Mercury" }
],
"category": "Science & Nature",
"type": "multiple_choice"
}],
"count": 1
}Do not infer correctness from option order. Use a server-scored quiz session, or API Pro when your licensed product requires answer data.
Server-scored quiz sessions
Quiz sessions return one answer-free question at a time. Submit the current question and option IDs to receive correctness, the correct option, progress, score, and the next question.
curl -X POST "https://206-81-1-100.sslip.io/api/v2/quiz-sessions" \
-H "Authorization: Bearer $TRIVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"question_count":5,"category":"history","type":"multiple_choice"}'curl -X POST "https://206-81-1-100.sslip.io/api/v2/quiz-sessions/SESSION_ID/answers" \
-H "Authorization: Bearer $TRIVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"question_id":"QUESTION_ID","selected_option_id":"OPTION_ID"}'Sessions accept 1–10 questions and expire after 30 minutes. Resume with GET /api/v2/quiz-sessions/{session_id}. Retrying the exact same submitted answer returns the prior result safely; changing an already-submitted answer returns 409.
Pro Content API
GET /api/v2/content/questions returns complete licensed question records, including decoys and correct_option_id. It requires an active API Pro plan and the content:read_answers scope.
curl "https://206-81-1-100.sslip.io/api/v2/content/questions?limit=3&category=history&type=multiple_choice" \
-H "Authorization: Bearer trv_live_your_pro_key"Match correct_option_id to the corresponding entry in options. Commercial use in your own product is permitted on Pro; reselling, bulk-publishing, or recreating a competing question catalog is not. Review the developer terms before launch.
Connect ChatGPT with MCP
Trivio exposes a universal, stateless MCP server at https://206-81-1-100.sslip.io/api/mcp. It uses your normal Trivio account and OAuth connection, so you do not create or paste an API key into ChatGPT.
https://206-81-1-100.sslip.io/api/mcp- In ChatGPT, enable Developer mode under Settings → Security.
- Add a new MCP connection and enter the universal URL above.
- Choose client ID metadata (CIMD) when offered, then sign in to Trivio and approve the requested permissions.
- Return to ChatGPT and ask it to list categories or start a filtered quiz.
Available tools
list_trivia_categoriesDiscover stable category slugs.start_trivia_quizChoose 1–10 questions, a stable category, and multiple-choice or true/false format.submit_trivia_answerScore the current answer and receive the next question.get_trivia_quizResume the current question and progress.get_trivia_usageCheck plan and remaining monthly quota.
MCP never provides a raw answer-key feed. Questions and decoys are visible during play; the correct answer appears only after submission.
Starter prompts
- “List the Trivio categories, then start a five-question history quiz.”
- “Start a ten-question multiple-choice quiz about science and nature.”
- “How much Trivio quota do I have left this month?”
Limits & usage
The Free plan includes 1,000 returned questions per calendar month; API Pro includes 100,000. Usage is measured in questions returned, not raw HTTP requests, and resets monthly.
X-API-Plan: active plan slugX-API-Quota-Limit: monthly question allowanceX-API-Quota-Used: questions counted this monthX-API-Quota-Remaining: questions still availableX-Request-ID: identifier to include in support requests
When the limit is reached, Trivio returns 429 quota_exceeded. Plan and usage are visible in the developer dashboard.
Errors
Errors use a stable JSON envelope: { "error": "machine_code", "message": "Readable explanation" }. Log the response status, error code, and X-Request-ID. Never log the API key.
| Status | Meaning | Typical action |
|---|---|---|
400 | Invalid filter or request body | Correct the named field |
401 | Missing, invalid, or revoked key | Check the Bearer header or create a new key |
403 | Plan or scope does not allow the operation | Use an answer-free route or review API Pro |
404 | Session is unavailable to this key | Check the session ID and credential |
409 | Quiz question is not current | Resume the session before retrying |
410 | Quiz session expired | Start a new session |
422 | No questions match the filters | Broaden category or type |
429 | Monthly quota or request rate exceeded | Back off and inspect usage |
503 | Catalog temporarily unavailable | Retry with bounded backoff |
Security, specification, and support
Treat every API key like a password. Keep it on your server, never commit it, rotate it if exposure is suspected, and use a different named key per integration. Revocation takes effect immediately.