{category}: Get a random joke
API: jokeapi.dev:joke-api
Endpoint: /joke/{category}
Response format: unknown
Auth: unknown
Method: GET
Description
Retrieve a random joke from the specified category/categories. Supports filtering by flags, type, language, and more.
Parameters (9)
amount
(integer, query, optional, default: 1)
Number of jokes to return (1-10). Returns an array when amount > 1.
Constraints: {'minimum': 1, 'maximum': 10}
blacklistFlags
(string, query, optional)
Comma-separated list of flags to blacklist. Jokes containing these flags will be excluded.
Constraints: {'enum': ['nsfw', 'religious', 'political', 'racist', 'sexist', 'explicit', 'nsfw,religious,political,racist,sexist,explicit']}
category
(string, path, required)
Comma-separated list of joke categories. Use 'Any' for all categories or specify multiple (e.g., 'Programming,Misc').
Constraints: {'enum': ['Any', 'Misc', 'Programming', 'Dark', 'Pun', 'Spooky', 'Christmas']}
contains
(string, query, optional)
Search for jokes containing this text (case-insensitive). Must be URL-encoded.
format
(string, query, optional, default: json)
Response format. Default is JSON.
Constraints: {'enum': ['json', 'xml', 'yaml', 'txt']}
idRange
(string, query, optional)
Filter by joke ID range. Format: 'min-max' or a single ID. IDs are language-specific.
lang
(string, query, optional, default: en)
Language code for the joke (ISO 639-1).
Constraints: {'enum': ['cs', 'de', 'en', 'es', 'fr', 'pt']}
safe-mode
(boolean, query, optional)
When set to true, only safe jokes are returned (no blacklisted flags).
type
(string, query, optional)
Filter jokes by type. 'single' for one-liners, 'twopart' for setup/delivery format.
Constraints: {'enum': ['single', 'twopart']}
Examples (1)
Get a random joke
openapi-spec
curl 'https://v2.jokeapi.dev/joke/{category}?idRange=0-100'
import requests
resp = requests.get(
"https://v2.jokeapi.dev/joke/{category}",
params={
'idRange': '0-100',
},
)
data = resp.json()
import zingu_apis
api = zingu_apis.api("jokeapi")
result = api.fetch("joke/{category}", idRange="0-100")
for item in result:
print(item)
const resp = await fetch("https://v2.jokeapi.dev/joke/{category}?idRange=0-100");
const data = await resp.json();
No probe data for this endpoint yet.