chucknorris.io logo

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...

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

Resources

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

Sources

Raw ↑
aid: chucknorris-io
name: chucknorris.io
description: >-
  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.
url: https://api.chucknorris.io
image: https://api.chucknorris.io/img/avatar/chuck-norris.png
specificationVersion: '0.20'
created: '2026-05-28'
modified: '2026-05-30'
x-source: public-apis/public-apis
x-category: Entertainment
x-type: opensource
x-tier: 3
x-tier-reason: bulk-registered-from-public-apis
tags:
  - Entertainment
  - Jokes
  - Chuck Norris
  - Open Source
  - Public APIs
apis:
  - name: Chuck Norris Jokes API
    description: >-
      JSON REST API exposing hand-curated Chuck Norris jokes. Endpoints cover random retrieval, category-constrained
      random retrieval, listing of the 16 supported categories, free-text search, and lookup by joke id. No
      authentication is required and no rate limits are documented.
    humanURL: https://api.chucknorris.io
    baseURL: https://api.chucknorris.io
    tags:
      - Entertainment
      - Jokes
      - Chuck Norris
    properties:
      - type: Documentation
        url: https://api.chucknorris.io
      - type: OpenAPI
        url: openapi/chucknorris-io-openapi.yml
      - type: JSONSchema
        url: json-schema/chucknorris-io-joke-schema.json
      - type: JSONSchema
        url: json-schema/chucknorris-io-category-list-schema.json
      - type: JSONSchema
        url: json-schema/chucknorris-io-search-result-schema.json
      - type: JSONSchema
        url: json-schema/chucknorris-io-error-schema.json
      - type: JSONStructure
        url: json-structure/chucknorris-io-joke-structure.json
      - type: JSONStructure
        url: json-structure/chucknorris-io-category-list-structure.json
      - type: JSONStructure
        url: json-structure/chucknorris-io-search-result-structure.json
      - type: JSONStructure
        url: json-structure/chucknorris-io-error-structure.json
      - type: JSON-LD
        url: json-ld/chucknorris-io-context.jsonld
      - type: Example
        url: examples/chucknorris-io-getRandomJoke-example.json
      - type: Example
        url: examples/chucknorris-io-getRandomJoke-by-category-example.json
      - type: Example
        url: examples/chucknorris-io-listCategories-example.json
      - type: Example
        url: examples/chucknorris-io-searchJokes-example.json
      - type: Example
        url: examples/chucknorris-io-getJokeById-example.json
      - type: Example
        url: examples/chucknorris-io-joke-example.json
      - type: Example
        url: examples/chucknorris-io-category-list-example.json
      - type: Example
        url: examples/chucknorris-io-search-result-example.json
      - type: Example
        url: examples/chucknorris-io-error-example.json
      - type: Authentication
        url: https://api.chucknorris.io
        data:
          - name: None
            description: The API is free and open; no API key or token is required.
      - type: RateLimits
        url: https://api.chucknorris.io
        data:
          - name: Undocumented
            description: No rate limits are published by the provider.
common:
  - type: Website
    url: https://api.chucknorris.io
  - type: GitHubOrganization
    url: https://github.com/chucknorris-io
  - type: GitHubRepository
    url: https://github.com/chucknorris-io/chuck-api
  - type: License
    url: https://github.com/chucknorris-io/chuck-api/blob/master/LICENSE
    data:
      - name: GPL-3.0
        description: Service source (chuck-api) is licensed GPL-3.0.
  - type: PublicAPIsListing
    url: https://github.com/public-apis/public-apis
  - type: SpectralRules
    url: rules/chucknorris-io-rules.yml
  - type: Vocabulary
    url: vocabulary/chucknorris-io-vocabulary.yml
  - type: SDK
    url: https://github.com/chucknorris-io/client-nodejs
    data:
      - name: client-nodejs
        description: Official Node.js client library (GPL-3.0).
  - type: SDK
    url: https://github.com/chucknorris-io/client-java
    data:
      - name: client-java
        description: Official Java client library (Apache-2.0).
  - type: Integrations
    data:
      - name: Slack
        description: Slack slash command integration referenced in the public docs.
      - name: Facebook Messenger
        description: Companion Messenger bot (chucknorris-io/app-facebook-messenger).
      - name: Alexa
        description: Companion Alexa skill (chucknorris-io/app-alexa-skill).
      - name: Google Chrome
        description: Official Chrome extension surfacing facts in the browser.
      - name: Storybook
        description: Storybook addon injecting Chuck Norris facts into dev workflows.
  - type: Features
    data:
      - name: Random Joke
        description: GET /jokes/random returns a single random Chuck Norris fact.
      - name: Random Joke By Category
        description: GET /jokes/random?category={category} constrains random selection.
      - name: List Categories
        description: GET /jokes/categories returns the 16 supported category identifiers.
      - name: Free-Text Search
        description: GET /jokes/search?query={query} returns matching jokes with a total count.
      - name: Lookup By Id
        description: GET /jokes/{id} retrieves a single joke by its identifier.
      - name: Plain-Text Variant
        description: All endpoints honor Accept text/plain for shell-friendly output.
  - type: UseCases
    data:
      - name: Demo Data Source
        description: Tutorial-friendly free public API for learning HTTP clients, SDKs, and AI tool patterns.
      - name: Chat & Bot Surfaces
        description: Slack, Messenger, and Alexa surfaces inject random facts on demand.
      - name: Developer Toy
        description: Storybook addon and Chrome extension use the API to entertain developers.
      - name: Load & Reliability Testing
        description: Lightweight, no-auth endpoints are useful targets for HTTP client smoke tests.
  - type: Tools
    data:
      - name: Postman Collection
        description: Maintained by the chucknorris-io org at chuck-infra-tools/api_postman_collection.json.
      - name: Third-Party MCP Servers
        description: >-
          Community MCP servers wrap api.chucknorris.io (e.g., thomasma/chuckjokes-mcpserver,
          BACH-AI-Tools/chuck_norris). No first-party MCP server.
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com