The Truth Or Dare API provides access to a large collection of truths,
dares and party challenges across multiple difficulty levels. Perfect
for Discord bots, social games, party applications and community events.
Base Endpoint
/api/truth-or-dare/[action]/[object]
| Part |
Description |
action |
The operation to perform. |
object |
Optional value used by the action. |
Difficulty Levels
| Level |
Name |
Description |
| 0 |
Easy |
Family friendly and beginner challenges. |
| 1 |
Medium |
More personal questions and engaging dares. |
| 2 |
Hard |
Challenging truths and dares. |
| 3 |
Lewd |
Flirty and suggestive content. |
| 4 |
NSFW |
Adult-oriented content. |
| 5 |
NSFW+ |
Most extreme difficulty level. |
Available Endpoints
| Endpoint |
Description |
/api/truth-or-dare |
List challenges. |
/api/truth-or-dare/random |
Random truth or dare. |
/api/truth-or-dare/truth |
Random truth question. |
/api/truth-or-dare/dare |
Random dare challenge. |
/api/truth-or-dare/spin |
Randomly chooses either truth or dare. |
/api/truth-or-dare/id/{id} |
Lookup by ID. |
/api/truth-or-dare/type/{type} |
Filter by truth or dare. |
/api/truth-or-dare/level/{level} |
Filter by difficulty level. |
/api/truth-or-dare/difficulties |
List available difficulties. |
/api/truth-or-dare/search/{query} |
Search challenges. |
/api/truth-or-dare/count |
Database statistics. |
Query Parameters
| Parameter |
Example |
Description |
level |
2 |
Filter by difficulty level. |
type |
truth |
Filter by challenge type. |
limit |
25 |
Maximum results returned. |
active |
true |
Only return active challenges. |
Random Challenge Examples
GET /api/truth-or-dare/random
GET /api/truth-or-dare/random?level=0
GET /api/truth-or-dare/random?level=5
Example Response:
{
"id": 124,
"type": "truth",
"difficulty": "Medium",
"level": 1,
"text": "What is your biggest irrational fear?"
}
Truth Examples
GET /api/truth-or-dare/truth
GET /api/truth-or-dare/truth?level=0
GET /api/truth-or-dare/truth?level=2
Example Response:
{
"id": 75,
"type": "truth",
"difficulty": "Hard",
"level": 2,
"text": "What secret have you never told anyone?"
}
Dare Examples
GET /api/truth-or-dare/dare
GET /api/truth-or-dare/dare?level=1
GET /api/truth-or-dare/dare?level=3
Example Response:
{
"id": 201,
"type": "dare",
"difficulty": "Medium",
"level": 1,
"text": "Speak in a pirate accent for the next 3 turns.",
"turns": 3,
"time": null
}
Spin Examples
GET /api/truth-or-dare/spin
GET /api/truth-or-dare/spin?level=2
Example Response:
{
"choice": "Dare",
"challenge": {
"id": 444,
"difficulty": "Hard",
"text": "Attempt to sing your favourite song.",
"turns": null,
"time": 60
}
}
Lookup Examples
GET /api/truth-or-dare/id/42
Example Response:
{
"id": 42,
"type": "truth",
"difficulty": "Easy",
"level": 0,
"text": "What is your favourite food?"
}
Difficulty Examples
GET /api/truth-or-dare/level/0
GET /api/truth-or-dare/level/2
GET /api/truth-or-dare/level/5
Example Response:
[
{
"id": 42,
"difficulty": "Easy",
"type": "truth",
"text": "What is your favourite colour?"
}
]
Type Examples
GET /api/truth-or-dare/type/truth
GET /api/truth-or-dare/type/dare
Difficulty List
GET /api/truth-or-dare/difficulties
Example Response:
[
{
"level": 0,
"name": "Easy",
"count": 350
},
{
"level": 1,
"name": "Medium",
"count": 420
}
]
Search Examples
GET /api/truth-or-dare/search/embarrassing
GET /api/truth-or-dare/search/sing
GET /api/truth-or-dare/search/crush
Statistics
GET /api/truth-or-dare/count
Example Response:
{
"total": 4500,
"truths": 2250,
"dares": 2250,
"easy": 750,
"medium": 750,
"hard": 750,
"lewd": 750,
"nsfw": 750,
"nsfw_plus": 750,
"active": 4478
}
Common Discord Bot Use Cases
| Feature |
Endpoint |
| /truth |
/api/truth-or-dare/truth |
| /dare |
/api/truth-or-dare/dare |
| /truthordare |
/api/truth-or-dare/spin |
| Party Games |
/api/truth-or-dare/random |
| Family Friendly Mode |
?level=0 |
| Adult Only Mode |
?level=4 or ?level=5 |