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 18 more developer resources.
3 APIs
On this page
Kin Score
APIs 3
Open Collections 5
Pricing Plans 1
Rate Limits 1
FinOps 1
Vocabularies 1
Spectral Rules 2
JSON Schema 14
JSON Structure 14
Examples 14
Security Posture 1
Agentic Access 1
Resources 20
apis.yml
42 Operational Transparency
0 Create-or-Update Ergonomics
Composite quality — 32.9/100 · thin
Agent readiness — 31/100 · agent ready
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.
Cost, billing, and metering signals for API financial operations.
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 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)
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
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.