Dad Joke API

A free, no-auth, no-frills API for dad jokes. 133 jokes in DB currently

Endpoints

MethodPathDescription
GET/api/jokes/randomReturns a random joke.
GET/api/jokes/{id}Returns a specific joke. IDs are stable 8-char content hashes.
GET/api/jokesPaginated list. Query params: limit (1–200, default 50), cursor (id of last item from the previous page).
GET/api/attributionSource URLs and ownership notice.
GET/healthzHealth check.

Try it

curl https://dadjokes.bamboozledaardvark.com/api/jokes/random

Example response:

{
  "id": "a3f9b21c",
  "joke": "I'm reading a book about anti-gravity. Honestly? Can't put it down."
}

Pagination

curl 'https://dadjokes.bamboozledaardvark.com/api/jokes?limit=10'
curl 'https://dadjokes.bamboozledaardvark.com/api/jokes?limit=10&cursor=a3f9b21c'

The response includes next_cursor. When it's null, you've reached the end.

Rate limits

The API is throttled at the gateway level (default: 20 requests/second sustained, 50 burst). Be kind. Cache responses where you can — per-joke endpoints return long Cache-Control headers because their IDs are immutable content hashes.

Attribution & ownership

These jokes were found on the interwebs — specifically, public threads on r/dadjokes — and lightly rephrased for distinctness. I do not claim authorship of the underlying gags. Most are widely-circulated dad jokes shared by the community over the years; the rephrasings here exist purely so we're not republishing verbatim copies of other people's posts.

If you authored one of these and would like it removed or credited differently, please open an issue on the GitHub repo.