API League Humor API

The Humor API from API League — 6 operation(s) for humor.

Operations 6

GET /search-jokes Search Jokes API #
GET /retrieve-random-joke Random Joke API #
GET /search-memes Search Memes API #
GET /retrieve-random-meme Random Meme API #
GET /search-gifs Search Gifs API #
GET /generate-nonsense-word Generate Nonsense Word API #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/api-league-humor-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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.

OpenAPI Specification

api-league-humor-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: League Humor API
  description: API League is a Hub for World Class APIs.
  termsOfService: https://apileague.com/terms
  version: 1.9.0
  contact:
    name: David Urbansky
    email: mail@apileague.com
servers:
- url: https://api.apileague.com
security:
- apiKey: []
- headerApiKey: []
tags:
- name: Humor
paths:
  /search-jokes:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  jokes:
                    type: array
                    items:
                      type: object
                      properties:
                        joke:
                          type:
                          - string
                          - 'null'
                  available:
                    type: integer
              examples:
                Response:
                  value:
                    jokes:
                    - joke: "A retiring farmer in preparation for selling his land, needed to rid his farm of animals. So he went to every house in his town. \nTo the houses where the man is the boss, he gave a horse. To the houses where the woman is the boss, a chicken was given. \nHe got toward the end of the street and saw a couple outside gardening. \"Who's the boss around here?\" he asked. \n\"I am.\" said the man. \n\"I have a black horse and a brown horse,\" the farmer said, \"which one would you like?\" \nThe man thought for a minute and said, \"The black one.\" \n\"No, no, no, get the brown one.\" the man's wife said. \n\"Here's your chicken.\" said the farmer."
                    - joke: "A blonde decides to try horseback riding, even though she has had no\nlessons or prior experience. She mounts the horse unassisted and then\nhorse immediately springs into motion. It gallops along at a steady and\nrhythmic pace, but the blonde begins to slip from the\nsaddle. In terror, she grabs for the horse's mane, but cannot seem to get\na firm grip.\nShe tries to throw her arms around the horse's neck, but she slides down\nthe side of the horse anyway. The horse gallops along, seemingly\nimpervious to its slipping rider. Finally, giving up her frail grip, she\nleaps away from the horse to try and throw herself to safety.\nUnfortunately, her foot has become entangled in the stirrup and she is now\nat the mercy of the horse's pounding hooves as her head is battered\nagainst the ground again and again. She is mere moments away from\nunconsciousness when...\n ...the Wal-Mart manager runs out to shut the horse off."
                    - joke: Once Chuck Norris met a man on a horse that he did'nt like, now we know him as the headless horseman.
                    available: 169
        '401':
          description: Unauthorized
        '402':
          description: Payment Required
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        '429':
          description: Too Many Requests
      parameters:
      - name: keywords
        description: A comma-separated list of words that must occur in the joke.
        schema:
          pattern: .
          maxLength: 300
          type: string
          example: horse,man
        required: false
        style: form
        explode: false
        in: query
      - name: include-tags
        description: A comma-separated list of tags the jokes should have.
        schema:
          pattern: .
          maxLength: 300
          type: string
          example: animal
        required: false
        style: form
        explode: false
        in: query
      - name: exclude-tags
        description: A comma-separated list of tags the jokes must not have.
        schema:
          pattern: .
          maxLength: 300
          type: string
          example: nsfw,dark
        required: false
        style: form
        explode: false
        in: query
      - name: min-rating
        description: The minimum rating in range [0.0,1.0] of the jokes.
        schema:
          format: double
          minimum: 0
          maximum: 1
          type: number
          example: 0
        required: false
        style: form
        explode: false
        in: query
      - name: max-length
        description: The maximum length of the joke in letters.
        schema:
          format: double
          minimum: 0
          maximum: 1
          type: number
          example: 140
        required: false
        style: form
        explode: false
        in: query
      - name: offset
        description: The number of jokes to skip, between 0 and 1000.
        schema:
          format: int32
          minimum: 0
          maximum: 1000
          type: integer
          example: 0
        required: false
        style: form
        explode: false
        in: query
      - name: number
        description: The number of jokes, between 1 and 10.
        schema:
          format: int32
          minimum: 1
          maximum: 10
          type: integer
          example: 3
        required: false
        style: form
        explode: false
        in: query
      externalDocs:
        description: Read entire docs
        url: https://apileague.com/apis/search-jokes-api/
      summary: Search Jokes API
      tags:
      - Humor
      description: With over 50,000 jokes, you should find something for any occasion. There are 27 categories/tags to choose from, but you can also search for very specific words within jokes.
      operationId: searchJokesAPI
      deprecated: false
  /retrieve-random-joke:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  joke:
                    type:
                    - string
                    - 'null'
              examples:
                Response:
                  value:
                    joke: 'What do you call a boxing match between two aardvarks?

                      A snout bout!'
        '401':
          description: Unauthorized
        '402':
          description: Payment Required
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        '429':
          description: Too Many Requests
      parameters:
      - name: include-tags
        description: A comma-separated list of tags the jokes should have.
        schema:
          pattern: .
          maxLength: 300
          type: string
          example: animal
        required: false
        style: form
        explode: false
        in: query
      - name: exclude-tags
        description: A comma-separated list of tags the jokes must not have.
        schema:
          pattern: .
          maxLength: 300
          type: string
          example: nsfw,dark
        required: false
        style: form
        explode: false
        in: query
      - name: min-rating
        description: The minimum rating in range [0.0,1.0] of the jokes.
        schema:
          format: double
          minimum: 0
          maximum: 1
          type: number
          example: 0
        required: false
        style: form
        explode: false
        in: query
      - name: max-length
        description: The maximum length of the joke in letters.
        schema:
          format: int32
          minimum: 1
          maximum: 10000
          type: integer
          example: 140
        required: false
        style: form
        explode: false
        in: query
      externalDocs:
        description: Read entire docs
        url: https://apileague.com/apis/random-joke-api/
      summary: Random Joke API
      tags:
      - Humor
      description: This is a simple API that returns a random joke. You can filter the jokes by tags and keywords. To make sure they are safe for work, you could use the exclude-tags parameter to exclude jokes with certain tags such as "nsfw" or "religious".
      operationId: randomJokeAPI
      deprecated: false
  /search-memes:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  memes:
                    type: array
                    items:
                      type: object
                      properties:
                        description:
                          type:
                          - string
                          - 'null'
                        url:
                          type:
                          - string
                          - 'null'
                        type:
                          type:
                          - string
                          - 'null'
                  available:
                    type: integer
              examples:
                Response:
                  value:
                    memes:
                    - description: 'Hey, you want a light show?: Edit: Thank you for getting the joke. I didn’t think a joke about gloving would land, but I appreciate your sense of humor Imgur. Let me know what shows you are going to or went to this year. DM me if you want to team up on Rocket League.'
                      url: https://i.imgur.com/4msjS5E.mp4
                      type: video/mp4
                    - description: 'Rocket Money is a scam.: Prevented a $30 charge of something I don''t use anymore. Feels good.'
                      url: https://i.imgur.com/q3cZlpv.png
                      type: image/png
                    - description: 'Rocket Money is a scam.: Cat tax.'
                      url: https://i.imgur.com/yaZoCFP.jpg
                      type: image/jpeg
                    available: 156
        '401':
          description: Unauthorized
        '402':
          description: Payment Required
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        '429':
          description: Too Many Requests
      parameters:
      - name: keywords
        description: A comma-separated list of words that must occur in the meme.
        schema:
          pattern: .
          maxLength: 300
          type: string
          example: rocket
        required: false
        style: form
        explode: false
        in: query
      - name: keywords-in-image
        description: Whether the keywords must occur in the image.
        schema:
          type: boolean
          example: true
        required: false
        style: form
        explode: false
        in: query
      - name: media-type
        description: The media type (either 'image', 'video' or even specific format such as 'jpg', 'png', or 'gif').
        schema:
          pattern: .
          maxLength: 10
          type: string
          example: image
        required: false
        style: form
        explode: false
        in: query
      - name: min-rating
        description: The minimum rating in range [0.0,1.0] of the meme.
        schema:
          format: double
          minimum: 0
          maximum: 1
          type: number
          example: 0
        required: false
        style: form
        explode: false
        in: query
      - name: max-age-days
        description: The maximum age of the meme in days.
        schema:
          format: int32
          minimum: 0
          maximum: 10000
          type: integer
          example: 30
        required: false
        style: form
        explode: false
        in: query
      - name: offset
        description: The number of memes to skip, between 0 and 1000.
        schema:
          format: int32
          minimum: 0
          maximum: 1000
          type: integer
          example: 0
        required: false
        style: form
        explode: false
        in: query
      - name: number
        description: The number of memes, between 1 and 10.
        schema:
          format: int32
          minimum: 1
          maximum: 10
          type: integer
          example: 3
        required: false
        style: form
        explode: false
        in: query
      externalDocs:
        description: Read entire docs
        url: https://apileague.com/apis/search-memes-api/
      summary: Search Memes API
      tags:
      - Humor
      description: Search over 300,000 memes by keyword, rating, and age. Most memes are stills (images) but using the media-type you can also get videos. You can even search for text within memes. You'll surely find something funny.
      operationId: searchMemesAPI
      deprecated: false
  /retrieve-random-meme:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  description:
                    type:
                    - string
                    - 'null'
                  url:
                    type:
                    - string
                    - 'null'
                  type:
                    type:
                    - string
                    - 'null'
                  width:
                    type: integer
                  height:
                    type: integer
                  ratio:
                    type: number
              examples:
                Response:
                  value:
                    description: That's totally fine.
                    url: https://preview.redd.it/2wpfufhz8p751.jpg?width=640&crop=smart&auto=webp&s=dab7d5eba791f3a884b0c0614630c99e38c46c4d
                    type: image/jpeg
                    width: 640
                    height: 702
                    ratio: 0.9116809116809117
        '401':
          description: Unauthorized
        '402':
          description: Payment Required
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        '429':
          description: Too Many Requests
      parameters:
      - name: keywords
        description: A comma-separated list of words that must occur in the meme.
        schema:
          pattern: .
          maxLength: 300
          type: string
          example: airplane
        required: false
        style: form
        explode: false
        in: query
      - name: keywords-in-image
        description: Whether the keywords must occur in the image.
        schema:
          type: boolean
          example: true
        required: false
        style: form
        explode: false
        in: query
      - name: media-type
        description: The media type (either 'image', 'video' or even specific format such as 'jpg', 'png', or 'gif').
        schema:
          pattern: .
          maxLength: 10
          type: string
          example: image
        required: false
        style: form
        explode: false
        in: query
      - name: min-rating
        description: The minimum rating in range [0.0,1.0] of the meme.
        schema:
          format: double
          minimum: 0
          maximum: 1
          type: number
          example: 0
        required: false
        style: form
        explode: false
        in: query
      - name: max-age-days
        description: The maximum age of the meme in days.
        schema:
          format: int32
          minimum: 0
          maximum: 1000
          type: integer
          example: 30
        required: false
        style: form
        explode: false
        in: query
      externalDocs:
        description: Read entire docs
        url: https://apileague.com/apis/random-meme-api/
      summary: Random Meme API
      tags:
      - Humor
      description: Get a random meme out of over 300,000+ memes. To get the latest memes, you can use the max-age-days parameter.
      operationId: randomMemeAPI
      deprecated: false
  /search-gifs:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  images:
                    type: array
                    items:
                      type: object
                      properties:
                        url:
                          type:
                          - string
                          - 'null'
                        width:
                          type: integer
                        height:
                          type: integer
              examples:
                Response:
                  value:
                    images:
                    - url: https://media.tenor.com/xEf4j9pnMywAAAAC/dog-dogs.gif
                      width: 362
                      height: 498
                    - url: https://media.tenor.com/U-g_SmVeq40AAAAC/poodle-dancing-dog-poodle.gif
                      width: 248
                      height: 498
                    - url: https://media.tenor.com/SmFA9ziWpx4AAAAC/dogs-dog.gif
                      width: 498
                      height: 374
        '401':
          description: Unauthorized
        '402':
          description: Payment Required
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        '429':
          description: Too Many Requests
      parameters:
      - name: query
        description: The search query.
        schema:
          pattern: .
          maxLength: 300
          type: string
          example: dogs
        required: true
        style: form
        explode: false
        in: query
      - name: number
        description: The number of gifs to return in range [1,10]
        schema:
          format: int32
          minimum: 1
          maximum: 10
          type: integer
          example: 5
        required: false
        style: form
        explode: false
        in: query
      externalDocs:
        description: Read entire docs
        url: https://apileague.com/apis/search-gifs-api/
      summary: Search Gifs API
      tags:
      - Humor
      description: Search through hundreds of thousands of gifs to match any reaction you want. The gifs are returned in a list with the URL, width, and height of the gif.
      operationId: searchGifsAPI
      deprecated: false
  /generate-nonsense-word:
    get:
      responses:
        '200':
          description: Success
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  word:
                    type:
                    - string
                    - 'null'
                  rating:
                    type: number
              examples:
                Response:
                  value:
                    word: caboo
                    rating: 0.41
        '401':
          description: Unauthorized
        '402':
          description: Payment Required
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '406':
          description: Not Acceptable
        '429':
          description: Too Many Requests
      parameters: []
      externalDocs:
        description: Read entire docs
        url: https://apileague.com/apis/generate-nonsense-word-api/
      summary: Generate Nonsense Word API
      tags:
      - Humor
      description: Generate a funny sounding nonsense word. This is useful for generating random words for games, naming things, or just for fun. The response will contain the generated word and a rating of how funny it is.
      operationId: generateNonsenseWordAPI
      deprecated: false
components:
  securitySchemes:
    apiKey:
      name: api-key
      type: apiKey
      in: query
    headerApiKey:
      name: x-api-key
      type: apiKey
      in: header