Free Dad Jokes API
A free, open REST API for dad jokes. No API key required. 2,000+ jokes across 20 categories. Perfect for apps, Slack bots, CLI tools, tutorials, and README examples.
Base URL
https://jokelikeadad.com/apiGet a Random Joke
GET /api/randomReturns a single random dad joke.
Example
curl https://jokelikeadad.com/api/randomResponse
{
"id": "funny-042",
"setup": "Why don't eggs tell jokes?",
"punchline": "They'd crack each other up!",
"category": "funny",
"tags": ["food", "wordplay"]
}List Jokes
GET /api/jokesReturns a paginated list of jokes. Supports filtering by category.
Parameters
categoryFilter by category slug (e.g., funny, science)limitResults per page, 1-100 (default: 20)pagePage number (default: 1)Example
curl "https://jokelikeadad.com/api/jokes?category=science&limit=5"Response
{
"total": 100,
"page": 1,
"limit": 5,
"jokes": [
{
"id": "science-001",
"setup": "Why can't you trust an atom?",
"punchline": "They make up literally everything.",
"category": "science",
"tags": ["chemistry", "wordplay"]
},
...
]
}List Categories
GET /api/categoriesReturns all available joke categories.
Example
curl https://jokelikeadad.com/api/categoriesResponse
{
"categories": [
{
"slug": "funny",
"name": "Funny Dad Jokes",
"emoji": "😂",
"description": "The funniest dad jokes...",
"jokeCount": 100
},
...
]
}Quick Start (JavaScript)
// Get a random dad joke
const response = await fetch('https://jokelikeadad.com/api/random');
const joke = await response.json();
console.log(joke.setup);
// "Why don't eggs tell jokes?"
console.log(joke.punchline);
// "They'd crack each other up!"Using the API?
The API is free to use. If you build something with it, we'd love a link back to jokelikeadad.com in your project, README, or blog post.