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: Visit APIs.json URL
Run: Capabilities Using Naftiko
- Jokes, Humor, Entertainment, Open Source, REST API, Games And Comics, Public APIs
- x-type: opensource
- x-tier: 3 (bulk-registered from public-apis, then enriched via the opensource pipeline)
- license: MIT
- maintainer: Sv443 (github.com/Sv443)
- Created: 2026-05-28
- Modified: 2026-05-29
The JokeAPI v2 REST surface — ten endpoints covering joke retrieval (/joke/{category}), submission (/submit), and metadata (/categories, /flags, /formats, /languages, /langcode/{language}, /info, /endpoints, /ping). Supports JSON, XML, YAML, and plain text response formats, six blacklist flags, seven joke categories, and six joke languages (English, German, Czech, Spanish, French, Portuguese).
Human URL: https://jokeapi.dev/
Base URL: https://v2.jokeapi.dev
- Jokes, Humor, REST API
- OpenAPI
- Documentation
- Documentation — Try It
- Source Code (canonical)
- Source Code Mirror (GitHub)
- Changelog
- Status Page
- Node.js Wrapper
- Python Wrapper
- TypeScript Wrapper
- C# Wrapper
- Dart Wrapper
- Go Wrapper
- Java Wrapper — Jokes4J
- Java Wrapper — JavaJokesAPI
- Java Wrapper — jokeapi-java
- Kotlin / Java / Android Wrapper
- Odin Wrapper
- PHP Wrapper
- Rust Wrapper — joketeller
- Website
- Documentation
- GitHub
- Source Code (canonical)
- License (MIT)
- Discord
- Status Page
- Sponsor
- public-apis listing
- Plans / Pricing
- Rate Limits
- Spectral Ruleset
- Vocabulary
| Name | Description |
|---|---|
| Free and Open | No sign-up, no API key, MIT license, source open on git.sv443.net (mirrored on GitHub). |
| Multi-Format Responses | Same data available as JSON (default), XML, YAML, or plain text via ?format. |
| Blacklist Flags | Filter out jokes flagged as nsfw, religious, political, racist, sexist, or explicit. |
| Safe Mode | A single ?safe-mode switch excludes every joke that carries any flag and every joke in the Dark category. |
| Multi-Language Catalogue | Jokes available in English, German, Czech, Spanish, French, and Portuguese. |
| Bulk Retrieval | Pull up to 10 jokes per request via ?amount. |
| ID and Contains Filters | Constrain results by joke ID, ID range, or full-text contains query. |
| CORS Enabled | Browser apps can call the API directly without a proxy. |
| Community Submissions | POST /submit lets the community contribute new jokes (separate 5-per-minute rate limit, moderator review). |
| Name | Description |
|---|---|
| Chat Bots and Slack Apps | Drop a joke endpoint into a Discord, Slack, or Teams bot. |
| Developer Easter Eggs | 404 pages, CLI surprises, build-success notifications. |
| API Learning Sandbox | A safe, free target for OpenAPI tutorials, REST workshops, and SDK demos. |
| Web Component Demos | Quick payloads to populate joke cards, comedy widgets, and humour newsletters. |
| Content Moderation Training | Public dataset of jokes pre-classified with offensive-content flags, useful for moderation tooling tests. |
| Name |
|---|
| Node.js wrapper |
| Python wrapper |
| TypeScript wrapper |
| C# wrapper |
| Dart wrapper |
| Go wrapper |
| Java wrappers |
| Kotlin / Android wrapper |
| Odin wrapper |
| PHP wrapper |
| Rust wrapper |
| Name | Description |
|---|---|
| Daily Joke Feed | Cron a fetch every morning into a Slack channel, RSS feed, or static site build. |
| Comedy CMS | Combine /joke/{category} with /submit to power a community-driven joke board. |
| Safe-by-Default Embed | Use ?safe-mode plus ?blacklistFlags to deliver workplace-safe humour widgets. |
Machine-readable API specifications organized by format.
- JokeAPI v2 OpenAPI — 10 operations, 15 component schemas
- JokeAPI Single Joke
- JokeAPI Twopart Joke
- JokeAPI Joke Batch
- JokeAPI Joke Flags
- JokeAPI Joke Submission
- JokeAPI Submission Response
- JokeAPI Categories Response
- JokeAPI Flags Response
- JokeAPI Formats Response
- JokeAPI Languages Response
- JokeAPI Langcode Response
- JokeAPI Info Response
- JokeAPI Endpoints Response
- JokeAPI Ping Response
- 14 JSON Structure files mirroring the JSON Schemas above. See
json-structure/.
- JokeAPI Context — 47 properties + 14 type declarations, aligned with schema.org and dcterms
- 14 example payloads, one per JSON Schema. See
examples/.
Naftiko capabilities — self-contained per-tag definitions, each exposing both a REST adapter and an MCP adapter.
| Workflow | Operations | REST | MCP | Persona |
|---|---|---|---|---|
| JokeAPI — Jokes | 2 | port 8080 | port 9090 | Bot Author, Demo Developer |
| JokeAPI — Metadata | 5 | port 8080 | port 9090 | Demo Developer, Integration Engineer |
| JokeAPI — System | 3 | port 8080 | port 9090 | Operator, Monitoring |
- JokeAPI Vocabulary — Unified taxonomy mapping 10 resources, 5 actions, 3 workflows, and 5 personas across operational (OpenAPI) and capability (Naftiko) dimensions.
- JokeAPI Plans / Pricing — 2 plans (Free Public, Self-Hosted Open Source). API Commons Plans 0.1.
- JokeAPI Rate Limits — 2 documented limits (120 req/min standard, 5 req/min on /submit), 5 policies. API Commons Rate Limits 0.1.
- JokeAPI Spectral Ruleset — 42 rules across 12 categories enforcing JokeAPI documentation conventions (title-case
JokeAPI-prefixed summaries, kebab-case paths, camelCase parameters, JSON-first responses, error envelope shape, etc.).
This entry was bulk-registered as part of a public-apis catalog sweep on 2026-05-28 and then fully enriched via the API Evangelist opensource pipeline on 2026-05-29 (OpenAPI generated from the live docs and the /info endpoint, schemas / structures / JSON-LD / examples / capabilities / vocabulary / plans / rate-limits all derived from that spec).
- Kin Lane — kin@apievangelist.com