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