API League Platform

The API League Platform exposes 55 read-only GET operations across twelve categories: Books (2), News (3), Humor (6), Food (4), Knowledge (5), Games (3), Art (4), Web (6), Text (13), Media (6), Math (1) and Storage (2). One API key covers the whole surface — there is no OAuth and no scopes — sent as an api-key query parameter or, preferably, an x-api-key header. Errors use a flat vendor JSON envelope with six declared statuses (401, 402, 403, 404, 406, 429) rather than RFC 9457. Search-shaped operations paginate with number/offset. SDKs are generated for 21 languages from the published OpenAPI 3.0 contract.

Operations 55

GET /search-books Search Books API #
GET /list-similar-books Find Similar Books API #
GET /search-news Search News API #
GET /retrieve-top-news Top News API #
GET /extract-news Extract News API #
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 #
GET /search-drinks Search Drinks API #
GET /search-recipes Search Recipes API #
GET /retrieve-recipe Retrieve Recipe Information API #
GET /compute-nutrition Compute Nutrition API #
GET /retrieve-random-trivia Random Trivia API #
GET /retrieve-random-life-hack Random Life Hack API #
GET /retrieve-random-affirmation Random Affirmation API #
GET /retrieve-random-quote Random Quote API #
GET /retrieve-random-riddle Random Riddle API #
GET /retrieve-random-poem Random Poem API #
GET /convert-image-to-ascii-txt Image to Ascii Art by URL API #
GET /search-artworks Art Search API #
GET /retrieve-artwork Retrieve Artwork by Id #
GET /extract-content Extract Content from a Web Page API #
GET /extract-publish-date Extract Publish Date API #
GET /extract-authors Extract Authors API #
GET /search-web Search Web API #
GET /retrieve-page-rank Retrieve Page Rank API #
GET /verify-email Verify Email Address API #
GET /correct-spelling Correct Spelling API #
GET /detect-language Detect Language API #
GET /detect-sentiment Detect Sentiment API #
GET /score-text Score Text API #
GET /score-readability Score Readability API #
GET /extract-dates Extract Dates API #
GET /detect-gender Detect Gender by Name API #
GET /list-synonyms List Word Synonyms API #
GET /tag-pos Tag Part of Speech API #
GET /stem-text Stem Text API #
GET /singularize-word Singularize Word API #
GET /pluralize-word Pluralize Word API #
GET /extract-entities Extract Entities API #
GET /take-screenshot Screenshot API #
GET /search-images Search Royalty Free Images API #
GET /search-icons Search Icons API #
GET /rescale-image Rescale Image API #
GET /detect-color Detect Main Image Color API #
GET /search-vectors Vector Search API #
GET /convert-units Convert Units API #
GET /read-key-value Read Key Value from Store API #
GET /store-key-value Store Key Value (GET) API #
GET /search-games Search Games API #
GET /retrieve-game Retrieve Game by Id #
GET /list-similar-games Find Similar Games API #

Documentation

Specifications

OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/_original/api-league-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-books-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-news-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-humor-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-food-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-knowledge-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-games-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-art-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-web-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-text-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-media-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-math-openapi.yml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/api-league-storage-openapi.yml

Other Resources

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-platform"
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-openapi.json Raw ↑
{
  "openapi": "3.0.0",
  "info": {
    "title": "API League",
    "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"}],
  "paths": {
    "/search-books": {"get": {
      "responses": {
        "200": {
          "description": "Success",
          "headers": {},
          "content": {"application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "total_results": {"type": "integer"},
                "number": {"type": "integer"},
                "offset": {"type": "integer"},
                "books": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {"type": "integer"},
                        "title": {
                          "type": "string",
                          "nullable": true
                        },
                        "image": {
                          "type": "string",
                          "nullable": true
                        }
                      }
                    }
                  }
                }
              }
            },
            "examples": {"Response": {"value": {
              "total_results": 5999,
              "number": 10,
              "offset": 0,
              "books": [
                [{
                  "id": 17200576,
                  "title": "Journey to Hogwarts",
                  "image": "https://covers.openlibrary.org/b/id/2520429-M.jpg"
                }],
                [{
                  "id": 15954006,
                  "title": "Inside Hogwarts",
                  "subtitle": "Magical Paintbook",
                  "image": "https://covers.openlibrary.org/b/id/2520430-M.jpg"
                }],
                [{
                  "id": 16384516,
                  "title": "Harry Potter and the Goblet of Fire",
                  "image": "https://covers.openlibrary.org/b/id/12775900-M.jpg"
                }],
                [{
                  "id": 14296534,
                  "title": "Harry Potter and the Order of the Phoenix",
                  "image": "https://covers.openlibrary.org/b/id/11416565-M.jpg"
                }],
                [{
                  "id": 14530450,
                  "title": "Great Gatsby (Silver Screen Edition)",
                  "image": "https://covers.openlibrary.org/b/id/12791857-M.jpg"
                }],
                [{
                  "id": 18810398,
                  "title": "The Hobbit",
                  "subtitle": "or, There and back again",
                  "image": "https://covers.openlibrary.org/b/id/394001-M.jpg"
                }],
                [{
                  "id": 13597674,
                  "title": "The Name of the Wind",
                  "subtitle": "The Kingkiller Chronicle : day one",
                  "image": "https://covers.openlibrary.org/b/id/6282709-M.jpg"
                }]
              ]
            }}}
          }}
        },
        "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": "books about wizards"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "earliest-publish-year",
          "description": "The books must have been published after this year.",
          "schema": {
            "format": "int32",
            "minimum": 0,
            "maximum": 9999,
            "type": "integer",
            "example": 2022
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "latest-publish-year",
          "description": "The books must have been published before this year.",
          "schema": {
            "format": "int32",
            "minimum": 0,
            "maximum": 9999,
            "type": "integer",
            "example": 2023
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "min-rating",
          "description": "The minimum rating the book must have gotten in the interval [0,1].",
          "schema": {
            "format": "double",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "example": 0.8
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "max-rating",
          "description": "The maximum rating the book must have gotten in the interval [0,1].",
          "schema": {
            "format": "double",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "example": 0.99
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "genres",
          "description": "A comma-separated list of genres. Only books from any of the given genres will be returned.",
          "schema": {
            "pattern": ".",
            "maxLength": 1000,
            "type": "string",
            "example": "nonfiction"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "authors",
          "description": "A comma-separated list of author ids or names. Only books from any of the given authors will be returned. You can retrieve author ids from the search authors endpoint. Pass author names is slower and if two authors have the same name you can't disambiguate.",
          "schema": {
            "pattern": ".",
            "maxLength": 1000,
            "type": "string",
            "example": "J.K. Rowling"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "isbn",
          "description": "Only the book matching the ISBN-13 will be returned",
          "schema": {
            "pattern": ".",
            "maxLength": 13,
            "type": "string",
            "example": "9781781257654"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "oclc",
          "description": "Only the book matching the OCLC will be returned",
          "schema": {
            "pattern": ".",
            "maxLength": 100,
            "type": "string",
            "example": "864418200"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "sort",
          "description": "The sorting criteria (publish-date or rating).",
          "schema": {
            "pattern": ".",
            "maxLength": 10000,
            "type": "string",
            "example": "rating"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "sort-direction",
          "description": "Whether to sort ascending or descending (ASC or DESC).",
          "schema": {
            "pattern": ".",
            "maxLength": 4,
            "type": "string",
            "example": "DESC"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "group-results",
          "description": "Whether to group similar editions of the same book.",
          "schema": {
            "type": "boolean",
            "example": false
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "offset",
          "description": "The number of books to skip in range [0,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 books to return in range [1,100]",
          "schema": {
            "format": "int32",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "example": 10
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        }
      ],
      "externalDocs": {
        "description": "Read entire docs",
        "url": "https://apileague.com/apis/search-books-api/"
      },
      "summary": "Search Books API",
      "tags": ["Books"],
      "description": "Search and filter over 4 million books based on matching a query, the ISBN, rating, and more fields. The query is semantically parsed using our own large ontology. That means you can search paranormal books and the ontology knows that Aliens, Werewolves, Ghosts, and Shapeshifters fall into that category.",
      "operationId": "searchBooksAPI",
      "deprecated": false
    }},
    "/list-similar-books": {"get": {
      "responses": {
        "200": {
          "description": "Success",
          "headers": {},
          "content": {"application/json": {
            "schema": {
              "type": "object",
              "properties": {"similar_books": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {"type": "integer"},
                    "title": {
                      "type": "string",
                      "nullable": true
                    },
                    "image": {
                      "type": "string",
                      "nullable": true
                    }
                  }
                }
              }}
            },
            "examples": {"Response": {"value": {"similar_books": [
              {
                "id": 14296534,
                "title": "Harry Potter and the Order of the Phoenix",
                "image": "https://covers.openlibrary.org/b/id/11416565-M.jpg"
              },
              {
                "id": 16499448,
                "title": "Harry Potter and the Half-Blood Prince",
                "image": "https://covers.openlibrary.org/b/id/8235163-M.jpg"
              },
              {
                "id": 18610968,
                "title": "Blood and Fire",
                "image": "https://covers.openlibrary.org/b/id/10404497-M.jpg"
              },
              {
                "id": 20464852,
                "title": "Towers of midnight",
                "subtitle": "Wheel of Time Book 13",
                "image": "https://covers.openlibrary.org/b/id/6657713-M.jpg"
              },
              {
                "id": 13804028,
                "title": "Best of Robert Jordan",
                "subtitle": "The Shadow Rising; The Fires of Heaven; Lord of Chaos; A Crown of Swords (The Wheel of Time Series)",
                "image": "https://covers.openlibrary.org/b/id/3027823-M.jpg"
              },
              {
                "id": 14987824,
                "title": "MAR, Volume 7",
                "image": "https://covers.openlibrary.org/b/id/765103-M.jpg"
              },
              {
                "id": 19984854,
                "title": "The Daysong of the Knightbird",
                "image": "https://covers.openlibrary.org/b/id/1822804-M.jpg"
              },
              {
                "id": 17174416,
                "title": "The key",
                "image": "https://covers.openlibrary.org/b/id/8369732-M.jpg"
              },
              {
                "id": 20121054,
                "title": "Bring me the head of Prince Charming",
                "image": "https://covers.openlibrary.org/b/id/3965371-M.jpg"
              }
            ]}}}
          }}
        },
        "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": "id",
          "description": "The id of the book to which similar books should be found.",
          "schema": {
            "format": "int32",
            "minimum": 0,
            "maximum": 999999999,
            "type": "integer",
            "example": 8302059
          },
          "required": true,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "number",
          "description": "The number of similar books to return in range [1,100]",
          "schema": {
            "format": "int32",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "example": 10
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        }
      ],
      "externalDocs": {
        "description": "Read entire docs",
        "url": "https://apileague.com/apis/find-similar-books-api/"
      },
      "summary": "Find Similar Books API",
      "tags": ["Books"],
      "description": "Find books that are similar to the given book (based on a set of over 4 million books). This is useful for recommending books to users based on their reading history or preferences. The response will contain a list of similar books with their title, id, and cover image.",
      "operationId": "findSimilarBooksAPI",
      "deprecated": false
    }},
    "/search-news": {"get": {
      "responses": {
        "200": {
          "description": "Success",
          "headers": {},
          "content": {"application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "offset": {"type": "integer"},
                "number": {"type": "integer"},
                "available": {"type": "integer"},
                "news": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {"type": "integer"},
                      "title": {
                        "type": "string",
                        "nullable": true
                      },
                      "text": {
                        "type": "string",
                        "nullable": true
                      },
                      "summary": {
                        "type": "string",
                        "nullable": true
                      },
                      "url": {
                        "type": "string",
                        "nullable": true
                      },
                      "image": {
                        "type": "string",
                        "nullable": true
                      },
                      "video": {
                        "type": "string",
                        "nullable": true
                      },
                      "publish_date": {
                        "type": "string",
                        "nullable": true
                      },
                      "authors": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "category": {
                        "type": "string",
                        "nullable": true
                      },
                      "language": {
                        "type": "string",
                        "nullable": true
                      },
                      "source_country": {
                        "type": "string",
                        "nullable": true
                      },
                      "sentiment": {"type": "number"}
                    }
                  }
                }
              }
            },
            "examples": {"Response": {"value": {
              "offset": 0,
              "number": 10,
              "available": 83,
              "news": [{
                "id": 28,
                "title": "Tesla to Release a Four-Motor Version of Cybertruck",
                "text": "Tesla CEO Elon Musk has revealed new details about the upcoming Cybertruck electric pickup truck, the mass production of which was delayed until 2023 because of the lack of components and a lot of complex technologies that need to be scaled up. According to Musk, the initial production of the electric pickup truck will begin with a four-motor variant with \u201cindependent, ultra fast response torque control of each wheel,\u201d the tweet reads. In response, Twitter users asked if the Cybertruck could turn like a tank. Musk said that thanks to both the rear and front wheel steer, the electric truck will not only be able to turn like a tank, but also drive diagonally like a crab. According to Electrek, this change could be Tesla's reaction to what its competitors do. Since the introduction of Tesla\u2019s novelty, the market for electric pickup trucks has significantly evolved. Currently, one electric pickup on the market can turn like a tank \u2013 the Rivian R1T, while GMC's Hummer EV can drive diagonally. Following the announcement of Tesla Cybertruck in 2019, the company announced three configurations of the pickup truck: the entry-level model with one motor, the one with two motors, and the one with three. Rumor has it that the company intends to abandon the single-motor version altogether. In this case, Tesla Cybertruck will be sold with two, three, and four motors. Musk has promised to provide an update on the pickup's roadmap on the next earnings call. The production of Tesla Cybertruck is expected to begin at the end of 2022, and its mass production is slated to start in 2023.",
                "summary": "Tesla CEO Elon Musk has revealed new details about the upcoming Cybertruck electric pickup truck. According to Musk, its initial production will begin with a four-motor variant.",
                "url": "https://internetprotocol.co/hitech/2021/12/07/tesla-to-release-a-four-motor-cybertruck/",
                "image": "https://internetprotocol.co/content/images/2021/12/Tesla-to-Release-a-Four-Motor-Version-of-Cybertruck.png",
                "video": "https://cdn.jwplayer.com/videos/70lDQJpg-RyIcpnTz.mp4",
                "publish_date": "2022-09-30 01:07:48",
                "authors": [
                  "Iwan Stone",
                  "Zahna Eklund"
                ],
                "category": "business",
                "language": "en",
                "source_country": "co",
                "sentiment": 0.712523
              }]
            }}}
          }}
        },
        "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": "text",
          "description": "The text to match in the news content (at least 3 characters, maximum 100 characters). By default all query terms are expected, you can use an uppercase OR to search for any terms, e.g. tesla OR ford. You can also exclude terms by putting a minus sign (-) in front of the term, e.g. tesla -ford.",
          "schema": {
            "pattern": ".",
            "maxLength": 100,
            "type": "string",
            "example": "tesla"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "source-countries",
          "description": "A comma-separated list of ISO 3166 country codes from which the news should originate.",
          "schema": {
            "pattern": ".",
            "maxLength": 100,
            "type": "string",
            "example": "us,uk"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "language",
          "description": "The ISO 6391 language code of the news.",
          "schema": {
            "pattern": ".",
            "maxLength": 2,
            "type": "string",
            "example": "en"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "min-sentiment",
          "description": "The minimal sentiment of the news in range [-1,1].",
          "schema": {
            "format": "double",
            "minimum": -1,
            "maximum": 1,
            "type": "number",
            "example": -0.8
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "max-sentiment",
          "description": "The maximal sentiment of the news in range [-1,1].",
          "schema": {
            "format": "double",
            "minimum": -1,
            "maximum": 1,
            "type": "number",
            "example": 0.8
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "earliest-publish-date",
          "description": "The news must have been published after this date.",
          "schema": {
            "pattern": ".",
            "maxLength": 100,
            "type": "string",
            "example": "2022-04-22 16:12:35"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "latest-publish-date",
          "description": "The news must have been published before this date.",
          "schema": {
            "pattern": ".",
            "maxLength": 100,
            "type": "string",
            "example": "2022-04-22 16:12:35"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "news-sources",
          "description": "A comma-separated list of news sources from which the news should originate.",
          "schema": {
            "pattern": ".",
            "maxLength": 10000,
            "type": "string",
            "example": "https://www.bbc.co.uk"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "authors",
          "description": "A comma-separated list of author names. Only news from any of the given authors will be returned.",
          "schema": {
            "pattern": ".",
            "maxLength": 300,
            "type": "string",
            "example": "John Doe"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "categories",
          "description": "A comma-separated list of categories. Only news from any of the given categories will be returned. Possible categories are politics, sports, business, technology, entertainment, health, science, lifestyle, travel, culture, education, environment, other.",
          "schema": {
            "pattern": ".",
            "maxLength": 300,
            "type": "string",
            "example": "politics,sports"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "entities",
          "description": "Filter news by entities (ORG, PER, or LOC).",
          "schema": {
            "pattern": ".",
            "maxLength": 10000,
            "type": "string",
            "example": "ORG:Tesla"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "location-filter",
          "description": "Filter news by radius around a certain location. Format is \"latitude,longitude,radius in kilometers\"",
          "schema": {
            "pattern": ".",
            "maxLength": 100,
            "type": "string",
            "example": "51.050407, 13.737262, 100"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "sort",
          "description": "The sorting criteria (publish-time).",
          "schema": {
            "pattern": ".",
            "maxLength": 100,
            "type": "string",
            "example": "publish-time"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "sort-direction",
          "description": "Whether to sort ascending or descending (ASC or DESC).",
          "schema": {
            "pattern": ".",
            "maxLength": 4,
            "type": "string",
            "example": "ASC"
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "offset",
          "description": "The number of news to skip in range [0,10000]",
          "schema": {
            "format": "int32",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "example": 0
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        },
        {
          "name": "number",
          "description": "The number of news to return in range [1,100]",
          "schema": {
            "format": "int32",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "example": 10
          },
          "required": false,
          "style": "form",
          "explode": false,
          "in": "query"
        }
      ],
      "externalDocs": {
        "description": "Read entire docs",
        "url": "https://apileague.com/apis/search-news-api/"
      },
      "summary": "Search News API",
      "tags": ["News"],
      "description": "Search and filter millions of news from over 200 countries in 90 languages by text, date, location, category, language, and more. The API returns a list of news articles matching the given criteria. You can set as many filtering parameters as you like, but you have to set at least one, e.g. text or language.",
      "operationId": "searchNewsAPI",
      "deprecated": false
    }},
    "/retrieve-top-news": {"get": {
      "responses": {
        "200": {
          "description": "Success",
          "headers": {},
          "content": {"application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "top_news": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {"news": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {"type": "integer"},
                          "title": {
                            "type": "string",
                            "nullable": true
                          },
                          "text": {
                            "type": "string",
                            "nullable": true
                          },
                          "summary": {
                            "type": "string",
                            "nullable": true
                          },
                          "url": {
                            "type": "string",
                            "nullable": true
                          },
                          "image": {
                            "type": "string",
                            "nullable": true
                          },
                          "publish_date": {
                            "type": "string",
                            "nullable": true
                          },
                          "authors": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "nullable": true
                            }
                          }
                        }
                      }
                    }}
                  }
                },
                "language": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                }
              }
            },
            "examples": {"Response": {"value": {
              "top_news": [
                {"news": [
                  {
                    "id": 224767206,
                    "title": "Jury to Begin Deliberations In Trump Trial",
                    "text": "...",
                    "summary": "...",
                    "url": "https://politicalwire.com/2024/05/28/jury-to-begin-deliberations-in-trump-trial/",
                    "image": "https://politicalwire.com/wp-content/uploads/2018/02/PW-podcast-logo.jpg",
                    "publish_date": "2024-05-29 00:10:48",
                    "authors": ["Taegan Goddard"]
                  },
                  {
                    "id": 224839780,
                    "title": "Jury in Donald Trump's hush money case to begin deliberations",
                    "text": "...",
                    "summary": "...",
                    "url": "https://apnews.com/article/trump-trial-deliberations-jury-judge-verdict-390f045e9e8a37f069e82576edd7a842",
                    "image": "https://dims.apnews.com/dims4/default/3446536/2147483647/strip/true/crop/6195x3485+0+323/resize/1440x810!/quality/90/?url=https%3A%2F%2Fassets.apnews.com%2Fec%2Fd5%2Ff56fdc38f86e38b6217b50083d19%2Fd5ef4afe1cb64825be1349de8fd40df0",
                    "publish_date": "2024-05-29 04:30:08",
                    "authors": []
                  },
                  {
                    "id": 224936214,
                    "title": "Jury in Trump's hush money case to begin deliberations after hearing instructions from judge",
                    "text": "...",
                    "summary": "...",
                    "url": "https://whdh.com/news/jury-in-trumps-hush-money-case-to-begin-deliberations-after-hearing-instructions-from-judge/",
                    "image": "https://whdh.com/wp-content/uploads/sites/3/2024/05/WHDH_2024-05-27_15h27-33-cover.jpg?quality=60&strip=color",
                    "publish_date": "2024-05-29 08:47:26",
                    "authors": []
                  },
                  {
                    "id": 224956968,
                    "title": "Trump trial jury set to begin deliberating verdict today after judge issues instructions",
                    "text": "...",
                    "summary": "...",
                    "url": "https://www.cbsnews.com/live-updates/trump-trial-verdict-jury-deliberations-judge-instructions/",
                    "image": "https://assets3.cbsnewsstatic.com/hub/i/r/2024/05/29/665

# --- truncated at 32 KB (568 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/api-league/refs/heads/main/openapi/_original/api-league-openapi.json