JokeAPI website screenshot

JokeAPI

JokeAPI is a free, open source REST API that delivers consistently formatted jokes in JSON, XML, YAML, or plain text. It exposes seven joke categories (Any, Misc, Programming, Dark, Pun, Spooky, Christmas), six blacklist content flags (nsfw, religious, political, racist, sexist, explicit), and filters for language, joke type, ID range, contains-text search, amount, and safe-mode. No sign-up is required and CORS is enabled. The service is rate-limited at 120 requests per minute per IP (5 per minute on submissions) and is maintained by Sv443 under the MIT license. The canonical source lives on Sv443's own Git server, with this GitHub repo kept open for issues and the community wrapper-library index.

JokeAPI publishes 3 APIs on the APIs.io network: Jokes API, Metadata API, and System API. Tagged areas include Jokes, Humor, Entertainment, Open-Source, and REST API.

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

JokeAPI’s developer surface includes documentation, GitHub presence, and 18 more developer resources.

32.9/100 thin ▬ flat Agent 31/100 agent ready saas Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
AccessFreeOpen⚡ Free to try
3 APIs
JokesHumorEntertainmentOpen-SourceREST APIGames And ComicsPublic APIs

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/jokeapi: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 3

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

JokeAPI Jokes API

Operations for retrieving and submitting jokes.

JokeAPI Metadata API

Operations describing the API surface — categories, flags, formats, languages.

JokeAPI System API

Health and discovery endpoints.

Open Collections 5

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

API Collection

OPEN COLLECTION

Joke Jokes API

OPEN COLLECTION

Joke Jokes Metadata API

OPEN COLLECTION

Joke Jokes System API

OPEN COLLECTION

JokeAPI

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Jokeapi Plans Pricing

2 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Jokeapi Rate Limits

2 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Semantic Vocabularies 1

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

Jokeapi Context

14 classes · 47 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

JokeAPI API Rules

5 rules · 4 warnings 1 info

SPECTRAL

JokeAPI API Rules

46 rules · 15 errors 21 warnings 10 info

SPECTRAL

JSON Schema 14

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

CategoriesResponse

4 properties

JSON SCHEMA

EndpointsResponse

3 properties

JSON SCHEMA

FlagsResponse

3 properties

JSON SCHEMA

FormatsResponse

3 properties

JSON SCHEMA

InfoResponse

8 properties

JSON SCHEMA

JokeBatch

3 properties

JSON SCHEMA

JokeFlags

6 properties

JSON SCHEMA

JokeSubmission

8 properties

JSON SCHEMA

LangcodeResponse

3 properties

JSON SCHEMA

LanguagesResponse

6 properties

JSON SCHEMA

PingResponse

3 properties

JSON SCHEMA

SingleJoke

8 properties

JSON SCHEMA

SubmissionResponse

4 properties

JSON SCHEMA

TwopartJoke

9 properties

JSON SCHEMA

Scroll for all 14

JSON Structure 14

JSON Structure definitions describing this provider's data shapes.

Jokeapi Categories Response Structure

4 properties

JSON STRUCTURE

Jokeapi Endpoints Response Structure

3 properties

JSON STRUCTURE

Jokeapi Flags Response Structure

3 properties

JSON STRUCTURE

Jokeapi Formats Response Structure

3 properties

JSON STRUCTURE

Jokeapi Info Response Structure

8 properties

JSON STRUCTURE

Jokeapi Joke Batch Structure

3 properties

JSON STRUCTURE

Jokeapi Joke Flags Structure

6 properties

JSON STRUCTURE

Jokeapi Joke Submission Structure

8 properties

JSON STRUCTURE

Jokeapi Langcode Response Structure

3 properties

JSON STRUCTURE

Jokeapi Languages Response Structure

6 properties

JSON STRUCTURE

Jokeapi Ping Response Structure

3 properties

JSON STRUCTURE

Jokeapi Single Joke Structure

8 properties

JSON STRUCTURE

Jokeapi Submission Response Structure

4 properties

JSON STRUCTURE

Jokeapi Twopart Joke Structure

9 properties

JSON STRUCTURE

Scroll for all 14

Examples 14

Example request and response payloads for these APIs.

Scroll for all 14

Security Posture 1

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

Jokeapi Domain Security

TLSv1.3 · HSTS · DNSSEC · DMARC

SECURITY

Agentic Access 1

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

Jokeapi Agentic Access

10 operations · 1 acting

10 operations · 1 acting

AGENTIC

Resources

Documentation 3

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 3

Pagination, idempotency, versioning, errors, and events

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 1

Authentication, authorization, and security posture

Operate 3

Status, limits, changes, and where to get help

Commercial 3

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: jokeapi
name: JokeAPI
description: JokeAPI is a free, open source REST API that delivers consistently formatted jokes in JSON, XML, YAML, or plain
  text. It exposes seven joke categories (Any, Misc, Programming, Dark, Pun, Spooky, Christmas), six blacklist content flags
  (nsfw, religious, political, racist, sexist, explicit), and filters for language, joke type, ID range, contains-text search,
  amount, and safe-mode. No sign-up is required and CORS is enabled. The service is rate-limited at 120 requests per minute
  per IP (5 per minute on submissions) and is maintained by Sv443 under the MIT license. The canonical source lives on Sv443's
  own Git server, with this GitHub repo kept open for issues and the community wrapper-library index.
url: https://raw.githubusercontent.com/api-evangelist/jokeapi/refs/heads/main/apis.yml
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: free
  onboarding: open
  trial: false
  try_now: true
  public: true
  label: Free · Open access
  confidence: medium
  source:
  - plans
  generated: '2026-07-22'
  method: derived
image: https://sv443.net/cdn/jokeapi/icon_readme.png
tags:
- Jokes
- Humor
- Entertainment
- Open-Source
- REST API
- Games And Comics
- Public APIs
tags_raw:
- Jokes
- Humor
- Entertainment
- Open Source
- REST API
- Games And Comics
- Public APIs
type: Index
access: 3rd-Party
position: Consuming
specificationVersion: '0.23'
created: '2026-05-28'
modified: '2026-08-08'
x-source: public-apis/public-apis
x-category: Games & Comics
x-type: opensource
x-tier: 3
x-tier-reason: bulk-registered-from-public-apis-enriched-via-opensource-pipeline
apis:
- aid: jokeapi:jokeapi-jokes-api
  name: JokeAPI Jokes API
  description: Operations for retrieving and submitting jokes.
  humanURL: https://jokeapi.dev/
  baseURL: https://v2.jokeapi.dev
  tags:
  - Jokes
  properties:
  - type: OpenAPI
    url: openapi/jokeapi-jokes-api-openapi.yml
  - type: Documentation
    url: https://jokeapi.dev/
  - type: Documentation
    url: https://jokeapi.dev/#try-it
  - type: SourceCode
    url: https://git.sv443.net/sv443/JokeAPI-v2
  - type: SourceCodeMirror
    url: https://github.com/Sv443-Network/JokeAPI
  - type: ChangeLog
    url: https://github.com/Sv443-Network/JokeAPI/blob/main/changelog.md
  - type: StatusPage
    url: https://status.sv443.net/
  - type: SDKs
    url: https://github.com/sahithyandev/sv443-joke-api-js-wrapper
  - type: SDKs
    url: https://github.com/thenamesweretakenalready/Sv443s-JokeAPI-Python-Wrapper
  - type: SDKs
    url: https://github.com/bitstep-ie/jokeapi
  - type: SDKs
    url: https://github.com/DanBuxton/JokeAPI-CS-Wrapper
  - type: SDKs
    url: https://github.com/MichaelDark/jokeapi
  - type: SDKs
    url: https://github.com/Icelain/jokeapi
  - type: SDKs
    url: https://github.com/the-codeboy/Jokes4J
  - type: SDKs
    url: https://github.com/EasyG0ing1/JavaJokesAPI
  - type: SDKs
    url: https://github.com/khurozov/jokeapi-java
  - type: SDKs
    url: https://github.com/ethauvin/jokeapi
  - type: SDKs
    url: https://github.com/IllusionMan1212/jokeapi-odin
  - type: SDKs
    url: https://github.com/JustPush-io/php-jokeapi
  - type: SDKs
    url: https://github.com/canarado/joketeller
- aid: jokeapi:jokeapi-metadata-api
  name: JokeAPI Metadata API
  description: Operations describing the API surface — categories, flags, formats, languages.
  humanURL: https://jokeapi.dev/
  baseURL: https://v2.jokeapi.dev
  tags:
  - Metadata
  properties:
  - type: OpenAPI
    url: openapi/jokeapi-metadata-api-openapi.yml
  - type: Documentation
    url: https://jokeapi.dev/
  - type: Documentation
    url: https://jokeapi.dev/#try-it
  - type: SourceCode
    url: https://git.sv443.net/sv443/JokeAPI-v2
  - type: SourceCodeMirror
    url: https://github.com/Sv443-Network/JokeAPI
  - type: ChangeLog
    url: https://github.com/Sv443-Network/JokeAPI/blob/main/changelog.md
  - type: StatusPage
    url: https://status.sv443.net/
  - type: SDKs
    url: https://github.com/sahithyandev/sv443-joke-api-js-wrapper
  - type: SDKs
    url: https://github.com/thenamesweretakenalready/Sv443s-JokeAPI-Python-Wrapper
  - type: SDKs
    url: https://github.com/bitstep-ie/jokeapi
  - type: SDKs
    url: https://github.com/DanBuxton/JokeAPI-CS-Wrapper
  - type: SDKs
    url: https://github.com/MichaelDark/jokeapi
  - type: SDKs
    url: https://github.com/Icelain/jokeapi
  - type: SDKs
    url: https://github.com/the-codeboy/Jokes4J
  - type: SDKs
    url: https://github.com/EasyG0ing1/JavaJokesAPI
  - type: SDKs
    url: https://github.com/khurozov/jokeapi-java
  - type: SDKs
    url: https://github.com/ethauvin/jokeapi
  - type: SDKs
    url: https://github.com/IllusionMan1212/jokeapi-odin
  - type: SDKs
    url: https://github.com/JustPush-io/php-jokeapi
  - type: SDKs
    url: https://github.com/canarado/joketeller
- aid: jokeapi:jokeapi-system-api
  name: JokeAPI System API
  description: Health and discovery endpoints.
  humanURL: https://jokeapi.dev/
  baseURL: https://v2.jokeapi.dev
  tags:
  - System
  properties:
  - type: OpenAPI
    url: openapi/jokeapi-system-api-openapi.yml
  - type: Documentation
    url: https://jokeapi.dev/
  - type: Documentation
    url: https://jokeapi.dev/#try-it
  - type: SourceCode
    url: https://git.sv443.net/sv443/JokeAPI-v2
  - type: SourceCodeMirror
    url: https://github.com/Sv443-Network/JokeAPI
  - type: ChangeLog
    url: https://github.com/Sv443-Network/JokeAPI/blob/main/changelog.md
  - type: StatusPage
    url: https://status.sv443.net/
  - type: SDKs
    url: https://github.com/sahithyandev/sv443-joke-api-js-wrapper
  - type: SDKs
    url: https://github.com/thenamesweretakenalready/Sv443s-JokeAPI-Python-Wrapper
  - type: SDKs
    url: https://github.com/bitstep-ie/jokeapi
  - type: SDKs
    url: https://github.com/DanBuxton/JokeAPI-CS-Wrapper
  - type: SDKs
    url: https://github.com/MichaelDark/jokeapi
  - type: SDKs
    url: https://github.com/Icelain/jokeapi
  - type: SDKs
    url: https://github.com/the-codeboy/Jokes4J
  - type: SDKs
    url: https://github.com/EasyG0ing1/JavaJokesAPI
  - type: SDKs
    url: https://github.com/khurozov/jokeapi-java
  - type: SDKs
    url: https://github.com/ethauvin/jokeapi
  - type: SDKs
    url: https://github.com/IllusionMan1212/jokeapi-odin
  - type: SDKs
    url: https://github.com/JustPush-io/php-jokeapi
  - type: SDKs
    url: https://github.com/canarado/joketeller
common:
- type: AgenticAccess
  url: agentic-access/jokeapi-agentic-access.yml
- type: DomainSecurity
  url: security/jokeapi-domain-security.yml
- type: Website
  url: https://jokeapi.dev/
- type: Documentation
  url: https://jokeapi.dev/
- type: GitHub
  url: https://github.com/Sv443-Network/JokeAPI
- type: SourceCode
  url: https://git.sv443.net/sv443/JokeAPI-v2
- type: License
  url: https://github.com/Sv443-Network/JokeAPI/blob/main/LICENSE.txt
- type: Discord
  url: https://dc.sv443.net/
- type: StatusPage
  url: https://status.sv443.net/
- type: Sponsor
  url: https://github.com/sponsors/Sv443
- type: PublicAPIsListing
  url: https://github.com/public-apis/public-apis
- type: OpenAPI
  url: https://raw.githubusercontent.com/api-evangelist/jokeapi/refs/heads/main/openapi/jokeapi-openapi.yml
- type: JSONSchema
  url: https://raw.githubusercontent.com/api-evangelist/jokeapi/refs/heads/main/json-schema/jokeapi-single-joke-schema.json
- type: JSONLDContext
  url: https://raw.githubusercontent.com/api-evangelist/jokeapi/refs/heads/main/json-ld/jokeapi-context.jsonld
- type: Plans
  url: plans/jokeapi-plans-pricing.yml
- type: RateLimits
  url: rate-limits/jokeapi-rate-limits.yml
- type: SpectralRuleset
  url: rules/jokeapi-spectral-rules.yml
- type: Vocabulary
  url: vocabulary/jokeapi-vocabulary.yml
- type: GitHubOrg
  url: https://github.com/Sv443-Network
- type: FinOps
  url: finops/jokeapi-finops.yml
features:
- name: Free and Open
  description: No sign-up, no API key, MIT license, source open on git.sv443.net (mirrored on GitHub).
- name: Multi-Format Responses
  description: Same data available as JSON (default), XML, YAML, or plain text via `?format`.
- name: Blacklist Flags
  description: Filter out jokes flagged as nsfw, religious, political, racist, sexist, or explicit.
- name: Safe Mode
  description: A single `?safe-mode` switch excludes every joke that carries any flag and every joke in the Dark category.
- name: Multi-Language Catalogue
  description: Jokes available in English, German, Czech, Spanish, French, and Portuguese.
- name: Bulk Retrieval
  description: Pull up to 10 jokes per request via `?amount`.
- name: ID and Contains Filters
  description: Constrain results by joke ID, ID range, or full-text contains query.
- name: CORS Enabled
  description: Browser apps can call the API directly without a proxy.
- name: Community Submissions
  description: '`POST /submit` lets the community contribute new jokes (separate 5-per-minute rate limit, moderator review).'
useCases:
- name: Chat Bots and Slack Apps
  description: Drop a joke endpoint into a Discord, Slack, or Teams bot.
- name: Developer Easter Eggs
  description: 404 pages, CLI surprises, build-success notifications.
- name: API Learning Sandbox
  description: A safe, free target for OpenAPI tutorials, REST workshops, and SDK demos.
- name: Web Component Demos
  description: Quick payloads to populate joke cards, comedy widgets, and humour newsletters.
- name: Content Moderation Training
  description: Public dataset of jokes pre-classified with offensive-content flags, useful for moderation tooling tests.
integrations:
- name: Node.js wrapper
- name: Python wrapper
- name: TypeScript wrapper
- name: C# wrapper
- name: Dart wrapper
- name: Go wrapper
- name: Java wrappers
- name: Kotlin / Android wrapper
- name: Odin wrapper
- name: PHP wrapper
- name: Rust wrapper
solutions:
- name: Daily Joke Feed
  description: Cron a fetch every morning into a Slack channel, RSS feed, or static site build.
- name: Comedy CMS
  description: Combine `/joke/{category}` with `/submit` to power a community-driven joke board.
- name: Safe-by-Default Embed
  description: Use `?safe-mode` plus `?blacklistFlags` to deliver workplace-safe humour widgets.
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
x-merged-from:
- joke-api

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/jokeapi"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/jokeapi/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/jokeapi/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.