Entertainment — entry 002 of 9
chucknorris.io
chucknorris.io is a free, keyless JSON API serving hand-curated Chuck Norris jokes, either fully random or filtered across 16 categories (career, dev, movie, political, sport, and more). It also supports free-text search over the joke corpus and returns each joke with a permalink and an icon-URL field for quick embedding. There's no rate limit, no signup, and no paid tier — it's run as a hobby project on Heroku behind Cloudflare.
chucknorris.io is a single keyless JSON API: a live probe of GET /jokes/random returned a fresh joke with no auth header of any kind, and GET /jokes/categories returned a live list of exactly 16 category strings (animal, career, celebrity, dev, explicit, fashion, food, history, money, movie, music, political, religion, science, sport, travel) to filter random by.
GreatAPIs Score
Auth quickstart
- No API key or signup required — a live GET to
/jokes/randomwith no headers at all returned HTTP 200 with a joke body. - There is no visible rate-limit contract: repeated live probes this run never returned a
RateLimit-*,X-RateLimit-*, orRetry-Afterheader on any response — plan accordingly since nothing here signals how close you are to any cap the provider may still enforce server-side.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Get a random joke from one category
GEThttps://api.chucknorris.io/jokes/random?category=dev
{"categories":["dev"],"created_at":"2020-01-05 13:42:19.104863","icon_url":"https://api.chucknorris.io/img/avatar/chuck-norris.png","id":"etd9c1v9smqxo2xonfm2lq","updated_at":"2020-01-05 13:42:19.104863","url":"https://api.chucknorris.io/jokes/etd9c1v9smqxo2xonfm2lq","value":"Chuck Norris doesn't need a debugger, he just stares down the bug until the code confesses."}Captured byte-for-byte from this run's live probe — the id and value are whichever joke the dev category happened to return that request, not a fixed example; a repeat call returns a different joke from the same category.
Developer reference
https://api.chucknorris.ioGotchas & limits
- Filtering
/jokes/randomby an unknown category doesn't 400 — a live probe of/jokes/random?category=zzzzreturned HTTP 404 with the JSON envelope{"timestamp":"...","status":404,"error":"Not Found","path":"/jokes/random"}, so check the category against/jokes/categoriesfirst rather than trusting a non-error response. /jokes/searchenforces a minimum query length — a live probe of/jokes/search?query=zzreturned HTTP 400 with{"message":"search.query: size must be between 3 and 120","violations":{"search.query":"size must be between 3 and 120"}}; 2-character queries are rejected outright.- CORS is wide open: a live
OPTIONSpreflight with anOriginheader against/jokes/randomreturnedAccess-Control-Allow-Origin: *andAccess-Control-Allow-Methods: GET, so this API is callable directly from browser JS on any origin. - The stored category summary for this API claims "no rate limit" — this run's probes only confirm the absence of rate-limit headers, not the absence of any server-side cap, so don't repeat the stronger claim without a probe that actually triggers a 429.