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 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-v2 name: JokeAPI v2 description: >- 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). humanURL: https://jokeapi.dev/ baseURL: https://v2.jokeapi.dev tags: - Jokes - Humor - REST API properties: - type: OpenAPI url: https://raw.githubusercontent.com/api-evangelist/jokeapi/refs/heads/main/openapi/jokeapi-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: SDK url: https://github.com/sahithyandev/sv443-joke-api-js-wrapper title: Node.js Wrapper (community) - type: SDK url: https://github.com/thenamesweretakenalready/Sv443s-JokeAPI-Python-Wrapper title: Python Wrapper (community) - type: SDK url: https://github.com/bitstep-ie/jokeapi title: TypeScript Wrapper (community) - type: SDK url: https://github.com/DanBuxton/JokeAPI-CS-Wrapper title: C# Wrapper (community) - type: SDK url: https://github.com/MichaelDark/jokeapi title: Dart Wrapper (community) - type: SDK url: https://github.com/Icelain/jokeapi title: Go Wrapper (community) - type: SDK url: https://github.com/the-codeboy/Jokes4J title: Java Wrapper — Jokes4J (community) - type: SDK url: https://github.com/EasyG0ing1/JavaJokesAPI title: Java Wrapper — JavaJokesAPI (community) - type: SDK url: https://github.com/khurozov/jokeapi-java title: Java Wrapper — jokeapi-java (community) - type: SDK url: https://github.com/ethauvin/jokeapi title: Kotlin / Java / Android Wrapper (community) - type: SDK url: https://github.com/IllusionMan1212/jokeapi-odin title: Odin Wrapper (community) - type: SDK url: https://github.com/JustPush-io/php-jokeapi title: PHP Wrapper (community) - type: SDK url: https://github.com/canarado/joketeller title: Rust Wrapper — joketeller (community) - type: NaftikoCapability url: capabilities/jokeapi-jokes.yaml - type: NaftikoCapability url: capabilities/jokeapi-metadata.yaml - type: NaftikoCapability url: capabilities/jokeapi-system.yaml common: - 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