chucknorris.io website screenshot

chucknorris.io

Free JSON REST API for hand-curated Chuck Norris jokes (facts) maintained by @matchilling. Supports random retrieval, category filtering, full-text search, and direct lookup by joke identifier. Hosted at api.chucknorris.io with an open-source Spring Boot service (chuck-api), official Node.js and Java client SDKs, a Chrome extension, a Storybook addon, and Messenger / Alexa companion apps published under the chucknorris-io GitHub organization.

1 APIs 6 Features
EntertainmentJokesChuck NorrisOpen SourcePublic APIs

APIs

Chuck Norris Jokes API

JSON REST API exposing hand-curated Chuck Norris jokes. Endpoints cover random retrieval, category-constrained random retrieval, listing of the 16 supported categories, free-tex...

Collections

Features

Random Joke

GET /jokes/random returns a single random Chuck Norris fact.

Random Joke By Category

GET /jokes/random?category={category} constrains random selection.

List Categories

GET /jokes/categories returns the 16 supported category identifiers.

Free-Text Search

GET /jokes/search?query={query} returns matching jokes with a total count.

Lookup By Id

GET /jokes/{id} retrieves a single joke by its identifier.

Plain-Text Variant

All endpoints honor Accept text/plain for shell-friendly output.

Use Cases

Demo Data Source

Tutorial-friendly free public API for learning HTTP clients, SDKs, and AI tool patterns.

Chat & Bot Surfaces

Slack, Messenger, and Alexa surfaces inject random facts on demand.

Developer Toy

Storybook addon and Chrome extension use the API to entertain developers.

Load & Reliability Testing

Lightweight, no-auth endpoints are useful targets for HTTP client smoke tests.

Integrations

Slack

Slack slash command integration referenced in the public docs.

Facebook Messenger

Companion Messenger bot (chucknorris-io/app-facebook-messenger).

Alexa

Companion Alexa skill (chucknorris-io/app-alexa-skill).

Google Chrome

Official Chrome extension surfacing facts in the browser.

Storybook

Storybook addon injecting Chuck Norris facts into dev workflows.

Semantic Vocabularies

Chucknorris Io Context

5 classes · 8 properties

JSON-LD

API Governance Rules

chucknorris.io API Rules

10 rules · 4 errors 6 warnings

SPECTRAL

JSON Structure

Chucknorris Io Category List Structure

0 properties

JSON STRUCTURE

Chucknorris Io Error Structure

5 properties

JSON STRUCTURE

Chucknorris Io Joke Structure

7 properties

JSON STRUCTURE

Chucknorris Io Search Result Structure

2 properties

JSON STRUCTURE

Example Payloads

Chucknorris Io Error Example

4 fields

EXAMPLE

Chucknorris Io Joke Example

7 fields

EXAMPLE

Resources

🔗
Website
Website
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🔗
License
License
🔗
PublicAPIsListing
PublicAPIsListing
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
📦
SDKs
SDKs
📦
SDKs
SDKs

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Chuck Norris Jokes API
  version: 1.0.0
items:
- info:
    name: Jokes
    type: folder
  items:
  - info:
      name: Get Random Joke
      type: http
    http:
      method: GET
      url: https://api.chucknorris.io/jokes/random
      params:
      - name: category
        value: ''
        type: query
        description: Restrict the random selection to a single category.
    docs: 'Retrieve a single random Chuck Norris joke. Optionally constrain the

      random selection to a specific category by passing the `category` query

      parameter (must be one of the values returned by `/jokes/categories`).

      '
  - info:
      name: Get Joke By Id
      type: http
    http:
      method: GET
      url: https://api.chucknorris.io/jokes/:id
      params:
      - name: id
        value: ''
        type: path
        description: Joke identifier as returned by other endpoints.
    docs: Retrieve a single joke by its 22-character identifier.
- info:
    name: Categories
    type: folder
  items:
  - info:
      name: List Joke Categories
      type: http
    http:
      method: GET
      url: https://api.chucknorris.io/jokes/categories
    docs: 'Return the full list of supported joke categories. Use any of these

      values with the `category` parameter of `/jokes/random` to constrain

      random selection.

      '
- info:
    name: Search
    type: folder
  items:
  - info:
      name: Search Jokes
      type: http
    http:
      method: GET
      url: https://api.chucknorris.io/jokes/search
      params:
      - name: query
        value: ''
        type: query
        description: Free-text search term.
    docs: 'Free-text search across the Chuck Norris joke corpus. Returns an array

      of jokes whose `value` matches the supplied query, along with the total

      count.

      '
bundled: true