BYTETOOLS

chucknorris.io API

Free Chuck Norris jokes API with no key. Random jokes, 16 categories and full-text search. CORS enabled. Tested curl example and live JSON response.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 19 Aug 2026

What is the chucknorris.io API?

chucknorris.io is a free JSON API serving Chuck Norris jokes with no API key. It supports random jokes, filtering across 16 categories, and full-text search of the joke database.

chucknorris.io is a well-built free API with a surprisingly complete feature set for something this whimsical: random retrieval, category filtering and full-text search, all documented and all key-free.

It is a good teaching API precisely because it has more than one endpoint. You can build a project that starts with a random joke, adds a category dropdown fetched from `/jokes/categories`, and finishes with a search box — a realistic progression using one consistent data source.

Quick facts

Base URL
https://api.chucknorris.io
Authentication
No key required.
Rate limit
No published limit.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the chucknorris.io API

Every request below was executed against the live API on 19 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Fetch a random joke

GET https://api.chucknorris.io/jokes/random

curl
curl 'https://api.chucknorris.io/jokes/random'
JavaScript (fetch)
const res = await fetch("https://api.chucknorris.io/jokes/random");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.chucknorris.io/jokes/random", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "categories": [],
  "created_at": "2020-01-05 13:42:26.991637",
  "icon_url": "https://api.chucknorris.io/img/avatar/chuck-norris.png",
  "id": "pL3PseP0RM2OYK4TWl7R0Q",
  "updated_at": "2020-01-05 13:42:26.991637",
  "url": "https://api.chucknorris.io/jokes/pL3PseP0RM2OYK4TWl7R0Q",
  "value": "CHUCK NORRIS GAVE TO CHARITY...charity gave back."
}

Parameters

ParameterTypeRequiredDescription
categoryqueryOptionalRestrict to a category from /jokes/categories. dev
queryqueryOptionalSearch term, used with /jokes/search. computer

Response fields

idstring
Joke identifier.
valuestring
The joke text.
urlstring
Permalink to the joke on chucknorris.io.
icon_urlstring
Icon image URL, handy for card layouts.
categoriesarray
Categories the joke belongs to; often empty for uncategorised jokes.

What you can build with the chucknorris.io API

  • Build a multi-endpoint tutorial project with random, category and search views
  • Add a joke command to a chat bot with category support
  • Practise building a search interface against a real API
  • Populate placeholder card layouts with text and icons

Common errors and how to fix them

404

Unknown category name.

Fix: Fetch valid categories from /jokes/categories first rather than hardcoding them.

Empty result array on search

No jokes matched the query.

Fix: Handle the empty case; the `total` field tells you how many matched.

chucknorris.io API — frequently asked questions

Is the Chuck Norris API free?

Yes, chucknorris.io is completely free with no API key or registration required.

How many categories does it have?

Around 16, including dev, movie, food, animal and science. Fetch the current list from /jokes/categories instead of hardcoding it.

Can I search the joke database?

Yes. Use /jokes/search?query=term for full-text search, which returns matching jokes plus a total count.

Why is the categories array often empty?

Most jokes in the database are uncategorised. Only a subset carry category tags, so filtering by category returns a much smaller pool than random retrieval.

Tools that pair with this API

Alternatives to chucknorris.io API

If chucknorris.io does not fit, these entertainment apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
Official Joke APIFree joke API with no key: random jokes with setup and punchline, filterable by type. Perfect for beginner projects. Tested curl example and live JSON.No keyYes19 Aug 2026
icanhazdadjokeFree dad joke API with no key. Returns jokes as JSON, plain text or image depending on the Accept header. Search supported. Tested curl example included.No keyYes19 Aug 2026
Advice SlipFree advice API with no key. Returns random advice slips as JSON, with search and id lookup. CORS enabled. Tested curl example and live response.No keyYes19 Aug 2026
Open Trivia DatabaseFree trivia and quiz API with no key: 24 categories, three difficulty levels, multiple choice and true/false questions. Tested curl example and live JSON.No keyYes19 Aug 2026
Corporate BS GeneratorFree corporate buzzword API with no key: generates plausible business jargon phrases. Useful for placeholder copy and demo data. Tested curl example.No keyNo20 Aug 2026
CosmyDayFree astrology API with no key, computed with the Swiss Ephemeris: upcoming ingresses, retrogrades, eclipses and zodiac seasons with exact times, plus daily content per sign.No keyYes21 Aug 2026
All Entertainment APIs

chucknorris.io is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 19 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.