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.

chucknorris.io publishes 3 APIs on the APIs.io network: Categories API, Jokes API, and Search API. Tagged areas include Entertainment, Jokes, Chuck Norris, Open Source, and Public APIs.

The chucknorris.io catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.

chucknorris.io’s developer surface includes tooling and 10 more developer resources.

36.7/100 thin ▬ flat Agent 32/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
3 APIs 6 Features 4 Use Cases
EntertainmentJokesChuck NorrisOpen SourcePublic APIs

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 36.7/100 · thin
Contract Quality 18.4 / 25
Developer Ergonomics 1.3 / 20
Commercial Clarity 0.0 / 20
Operational Transparency 0.7 / 13
Governance 8.3 / 12
Discoverability 8.2 / 10
Agent readiness — 32/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 0 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/chucknorris-io: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 3

Individual APIs this provider publishes, each with its own machine-readable definition.

chucknorris.io Categories API

Joke category metadata.

chucknorris.io Jokes API

Chuck Norris jokes (facts) endpoints.

chucknorris.io Search API

Full-text search across the joke corpus.

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Chuck Norris Jokes API

OPEN COLLECTION

Features 6

Notable capabilities this provider offers.

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.

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Chucknorris Io Context

5 classes · 8 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

chucknorris.io API Rules

5 rules · 4 warnings 1 info

SPECTRAL

chucknorris.io API Rules

10 rules · 4 errors 6 warnings

SPECTRAL

JSON Schema 4

Standalone JSON Schema definitions for this provider's data models.

CategoryList

0 properties

JSON SCHEMA

Error

5 properties

JSON SCHEMA

Joke

7 properties

JSON SCHEMA

SearchResult

2 properties

JSON SCHEMA

JSON Structure 4

JSON Structure definitions describing this provider's data shapes.

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

Examples 8

Example request and response payloads for these APIs.

Scroll for all 8

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Chucknorris Io Agentic Access

4 operations

4 operations · 0 acting

AGENTIC

Use Cases 4

What developers build with this provider.

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 5

Pre-built integrations with other platforms and tools.

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.

Resources

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 2

Pagination, idempotency, versioning, errors, and events

Build 5

SDKs, sample code, and the tooling you integrate with

Access & Security 1

Authentication, authorization, and security posture

Commercial 1

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml 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
accessModel:
  pricing: unknown
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Unknown
  confidence: low
  source: []
  generated: '2026-07-22'
  method: derived
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:
- aid: chucknorris-io:chucknorris-io-categories-api
  name: chucknorris.io Categories API
  description: Joke category metadata.
  humanURL: https://api.chucknorris.io
  baseURL: https://api.chucknorris.io
  tags:
  - Categories
  properties:
  - type: OpenAPI
    url: openapi/chucknorris-io-categories-api-openapi.yml
  - type: Documentation
    url: https://api.chucknorris.io
  - 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: JSONLD
    url: json-ld/chucknorris-io-context.jsonld
  - type: Examples
    url: examples/chucknorris-io-getRandomJoke-example.json
  - type: Examples
    url: examples/chucknorris-io-getRandomJoke-by-category-example.json
  - type: Examples
    url: examples/chucknorris-io-listCategories-example.json
  - type: Examples
    url: examples/chucknorris-io-searchJokes-example.json
  - type: Examples
    url: examples/chucknorris-io-getJokeById-example.json
  - type: Examples
    url: examples/chucknorris-io-joke-example.json
  - type: Examples
    url: examples/chucknorris-io-category-list-example.json
  - type: Examples
    url: examples/chucknorris-io-search-result-example.json
  - type: Examples
    url: examples/chucknorris-io-error-example.json
  - type: Authentication
    url: https://api.chucknorris.io
  - type: RateLimits
    url: https://api.chucknorris.io
- aid: chucknorris-io:chucknorris-io-jokes-api
  name: chucknorris.io Jokes API
  description: Chuck Norris jokes (facts) endpoints.
  humanURL: https://api.chucknorris.io
  baseURL: https://api.chucknorris.io
  tags:
  - Jokes
  properties:
  - type: OpenAPI
    url: openapi/chucknorris-io-jokes-api-openapi.yml
  - type: Documentation
    url: https://api.chucknorris.io
  - 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: JSONLD
    url: json-ld/chucknorris-io-context.jsonld
  - type: Examples
    url: examples/chucknorris-io-getRandomJoke-example.json
  - type: Examples
    url: examples/chucknorris-io-getRandomJoke-by-category-example.json
  - type: Examples
    url: examples/chucknorris-io-listCategories-example.json
  - type: Examples
    url: examples/chucknorris-io-searchJokes-example.json
  - type: Examples
    url: examples/chucknorris-io-getJokeById-example.json
  - type: Examples
    url: examples/chucknorris-io-joke-example.json
  - type: Examples
    url: examples/chucknorris-io-category-list-example.json
  - type: Examples
    url: examples/chucknorris-io-search-result-example.json
  - type: Examples
    url: examples/chucknorris-io-error-example.json
  - type: Authentication
    url: https://api.chucknorris.io
  - type: RateLimits
    url: https://api.chucknorris.io
- aid: chucknorris-io:chucknorris-io-search-api
  name: chucknorris.io Search API
  description: Full-text search across the joke corpus.
  humanURL: https://api.chucknorris.io
  baseURL: https://api.chucknorris.io
  tags:
  - Search
  properties:
  - type: OpenAPI
    url: openapi/chucknorris-io-search-api-openapi.yml
  - type: Documentation
    url: https://api.chucknorris.io
  - 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: JSONLD
    url: json-ld/chucknorris-io-context.jsonld
  - type: Examples
    url: examples/chucknorris-io-getRandomJoke-example.json
  - type: Examples
    url: examples/chucknorris-io-getRandomJoke-by-category-example.json
  - type: Examples
    url: examples/chucknorris-io-listCategories-example.json
  - type: Examples
    url: examples/chucknorris-io-searchJokes-example.json
  - type: Examples
    url: examples/chucknorris-io-getJokeById-example.json
  - type: Examples
    url: examples/chucknorris-io-joke-example.json
  - type: Examples
    url: examples/chucknorris-io-category-list-example.json
  - type: Examples
    url: examples/chucknorris-io-search-result-example.json
  - type: Examples
    url: examples/chucknorris-io-error-example.json
  - type: Authentication
    url: https://api.chucknorris.io
  - type: RateLimits
    url: https://api.chucknorris.io
common:
- type: AgenticAccess
  url: agentic-access/chucknorris-io-agentic-access.yml
- type: DomainSecurity
  url: security/chucknorris-io-domain-security.yml
- 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: SDKs
  url: https://github.com/chucknorris-io/client-nodejs
  data:
  - name: client-nodejs
    description: Official Node.js client library (GPL-3.0).
- type: SDKs
  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