Home
Providers
JokeAPI
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 16 more developer resources.
3 APIs
Jokes Humor Entertainment Open Source REST API Games And Comics Public APIs
On this page
Kin Score
APIs 3
Open Collections 1
Pricing Plans 1
Rate Limits 1
Vocabularies 1
Spectral Rules 2
JSON Schema 14
JSON Structure 14
Examples 14
Security Posture 1
Agentic Access 1
Resources 18
apis.yml
42 Operational Transparency
Composite quality — 40.1/100 · thin
Contract Quality
13.0 / 25
Developer Ergonomics
1.7 / 20
Commercial Clarity
4.2 / 20
Operational Transparency
5.5 / 13
Agent readiness — 39/100 · agent ready
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
7 / 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
4 / 4
Individual APIs this provider publishes, each with its own machine-readable definition.
Open, tool-agnostic API collections (OpenAPI-derived and Bruno).
Published pricing tiers and plan structures.
Documented rate limits and quota policies.
JSON-LD contexts and semantic vocabularies used across these APIs.
Spectral governance rulesets for linting and validating these APIs.
Standalone JSON Schema definitions for this provider's data models.
Scroll for all 14
JSON Structure definitions describing this provider's data shapes.
Scroll for all 14
Example request and response payloads for these APIs.
Scroll for all 14
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Recommended x-agentic-access execution contracts for AI agents.
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 2
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 2
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)
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
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
type: Index
access: 3rd-Party
position: Consumer
specificationVersion: '0.20'
created: '2026-05-28'
modified: '2026-05-29'
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
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