Public APIs Entries API

Endpoints for listing API directory entries.

Operations 2

GET /entries List entries #
GET /random Random entry #

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/public-apis-entries-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

public-apis-entries-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Public APIs Categories Entries API
  description: 'A RESTful API for programmatically accessing the public-apis directory data. The API supports CORS and requires no authentication. All responses are served over HTTPS. Original source: davemachado/public-api.'
  version: '1.0'
  contact:
    name: Dave Machado
    url: https://github.com/davemachado/public-api
  license:
    name: MIT
    url: https://github.com/davemachado/public-api/blob/master/LICENSE
servers:
- url: https://api.publicapis.org
  description: Production
tags:
- name: Entries
  description: Endpoints for listing API directory entries.
paths:
  /entries:
    get:
      summary: List entries
      description: List all entries currently cataloged in the public-apis project. Supports filtering by query parameters.
      operationId: listEntries
      tags:
      - Entries
      parameters:
      - in: query
        name: title
        schema:
          type: string
        description: Filter entries whose title contains the provided value.
      - in: query
        name: description
        schema:
          type: string
        description: Filter entries whose description contains the provided value.
      - in: query
        name: auth
        schema:
          type: string
          enum:
          - ''
          - apiKey
          - OAuth
          - X-Mashape-Key
          - User-Agent
        description: Filter entries by authentication type.
      - in: query
        name: https
        schema:
          type: boolean
        description: Filter entries by HTTPS support.
      - in: query
        name: cors
        schema:
          type: string
          enum:
          - 'yes'
          - 'no'
          - unknown
        description: Filter entries by CORS support.
      - in: query
        name: category
        schema:
          type: string
        description: Filter entries by category.
      responses:
        '200':
          description: List of entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntriesResponse'
  /random:
    get:
      summary: Random entry
      description: Returns a single randomly-selected entry. Supports the same filtering parameters as /entries.
      operationId: getRandomEntry
      tags:
      - Entries
      parameters:
      - in: query
        name: title
        schema:
          type: string
      - in: query
        name: description
        schema:
          type: string
      - in: query
        name: auth
        schema:
          type: string
      - in: query
        name: https
        schema:
          type: boolean
      - in: query
        name: cors
        schema:
          type: string
      - in: query
        name: category
        schema:
          type: string
      responses:
        '200':
          description: Random entry result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntriesResponse'
components:
  schemas:
    EntriesResponse:
      type: object
      properties:
        count:
          type: integer
          description: Number of entries returned.
        entries:
          type: array
          items:
            $ref: '#/components/schemas/Entry'
    Entry:
      type: object
      properties:
        API:
          type: string
          description: Name of the API.
        Description:
          type: string
        Auth:
          type: string
          description: Authentication type required (empty string when none).
        HTTPS:
          type: boolean
        Cors:
          type: string
          enum:
          - 'yes'
          - 'no'
          - unknown
        Link:
          type: string
          format: uri
        Category:
          type: string