Manage OpenAPI via GitHub Demo APIs API

Index of HTTP application programming interfaces.

Operations 1

GET /search/apis Search APIs #

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/demo-openapi-apis-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

demo-openapi-apis-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Technical Contract for the .io Search AP Is API
  description: This is the technical API contract for the search API for the APIs.io search engine.
  version: 0.1.0
  contact:
    name: Kin Lane
    email: info@apievangelist.com
servers:
- url: https://search-api.apis.io/
tags:
- name: APIs
  description: Index of HTTP application programming interfaces.
paths:
  /search/apis:
    get:
      operationId: searchAPIs
      summary: Search APIs
      description: Searching across all APIs by keyword or phrase.
      parameters:
      - $ref: '#/components/parameters/Search'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Page'
      tags:
      - APIs
      responses:
        '200':
          description: A successful search.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Search'
              examples:
                AddAPIResponse:
                  $ref: '#/components/examples/SearchResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    InternalServerError:
      description: Internal Server Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/internal-server-error
            title: Internal Server Error
            status: 500
            detail: An unexpected error occurred.
    NotFound:
      description: Not Found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/not-found
            title: Not Found
            status: 404
            detail: The requested resource was not found.
    Unauthorized:
      description: Unauthorized
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/unauthorized
            title: Unauthorized
            status: 401
            detail: You do not have the necessary permissions.
    Forbidden:
      description: Forbidden
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/forbidden
            title: Forbidden
            status: 403
            detail: Access is forbidden with the provided credentials.
    BadRequest:
      description: Bad Request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/bad-request
            title: Bad Request
            status: 400
            detail: The request is invalid or missing required parameters.
    TooManyRequests:
      description: Too Many Requests
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/too-many-requests
            title: Too Many Requests
            status: 429
            detail: You have exceeded the rate limit.
  examples:
    SearchResponse:
      summary: A successful search response.
      value:
        meta:
          search: AI
          limit: 50
          page: 0
          totalPages: 20
        data:
        - name: AssemblyAI API
          description: Built by AI experts, AssemblyAI’s Speech AI models include accurate speech-to-text for voice data (such as calls, virtual meetings, and podcasts), speaker detection, sentiment analysis, chapter detection, PII redaction, and more.
          searchUrl: https://ai.apis.io/apis/assemblyai/apis/
          apiUrl: https://www.assemblyai.com/docs/
          indexUrl: https://raw.githubusercontent.com/api-search/artificial-intelligence/main/_apis_/assemblyai/apis.md
          score: 546
          tags:
          - Artificial Intelligence
          - AI
        links:
          self: /search/apis/?search=&page=0&limit=50
          next: /search/apis/?search=&page=01&limit=50
          last: /search/apis/?search=&page=20&limit=50
  schemas:
    APIs:
      type: array
      description: Listing of APIs in the APIs.json format.
      items:
        $ref: '#/components/schemas/API'
    Meta:
      type: object
      properties:
        search:
          type: string
        type:
          type: string
        limit:
          type: integer
        page:
          type: integer
        totalPages:
          type: integer
      required:
      - totalPages
      - page
      - limit
    Property:
      description: A representation of a URL
      required:
      - type
      - url
      properties:
        type:
          type: string
          pattern: ^(Swagger)$|^(RAML)$|^(Blueprint)$|^(WADL)$|^(WSDL)$|^(TermsOfService)$|^(InterfaceLicense)$|^(StatusPage)$|^(Pricing)$|^(Forums)$|^(AlertsTwitterHandle)$|^(X-[A-Za-z0-9\-]*)$
          enum:
          - Swagger
          - RAML
          - Blueprint
          - WADL
          - WSDL
          - TersmOfService
          - InterfaceLicense
          - StatusPage
          - Pricing
          - Forums
        url:
          type: string
          pattern: ^(http)|(https)://(.*)$
    Contact:
      description: Information on contacting the API support
      required:
      - FN
      properties:
        FN:
          type: string
          minLength: 1
        email:
          type: string
          format: email
        organizationName:
          type: string
          minLength: 1
        adr:
          type: string
        tel:
          type: string
          minLength: 1
        X-github:
          type: string
        photo:
          type: string
          pattern: ^(http)|(https)://(.*)$
        vCard:
          type: string
          pattern: ^(http)|(https)://(.*)$
        url:
          type: string
          pattern: ^(http)|(https)://(.*)$
    Problem:
      xml:
        name: problem
        namespace: urn:ietf:rfc:7807
      properties:
        type:
          type: string
          description: A URI reference that identifies the problem type
          example: https://example.com/probs/out-of-credit
        title:
          type: string
          description: A short, human-readable summary of the problem type
          example: You do not have enough credit.
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem
          example: Your current balance is 30, but that costs 50.
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence of the problem
          example: /account/12345/msgs/abc
        status:
          type: integer
          description: The HTTP status code
          example: 400
    API:
      description: The description of the API
      required:
      - name
      - description
      - image
      - baseURL
      - humanURL
      - properties
      - contact
      properties:
        name:
          type: string
          description: name
          minLength: 5
        description:
          type: string
          description: description of the API
          minLength: 5
        image:
          type: string
          description: URL of an image representing the API
        baseURL:
          type: string
          pattern: ^(http)|(https)://(.*)$
          description: baseURL
        humanURL:
          type: string
          pattern: ^(http)|(https)://(.*)$
          description: humanURL
        tags:
          type: array
          items:
            type: string
            minLength: 1
          description: tags to describe the API
        properties:
          type: array
          items:
            $ref: '#/components/schemas/Property'
          description: URLs
        contact:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
          description: Contact to reach if questions about API
        meta:
          type: array
          items:
            $ref: '#/components/schemas/metaInformation'
    Search:
      type: object
      description: An JSON API object with metadata, data, and links.
      properties:
        meta:
          $ref: '#/components/schemas/Meta'
        data:
          $ref: '#/components/schemas/APIs'
        links:
          $ref: '#/components/schemas/Link'
      required:
      - meta
      - data
      - links
    metaInformation:
      description: Metadata about the API
      required:
      - key
      - value
      properties:
        key:
          type: string
        value:
          type: string
    Link:
      type: object
      properties:
        self:
          type: string
        first:
          type: string
        prev:
          type: string
        next:
          type: string
        last:
          type: string
      required:
      - self
  parameters:
    Search:
      name: search
      description: The keyword to search by.
      in: query
      required: false
      schema:
        type: string
    Limit:
      name: limit
      description: The limit of the results.
      in: query
      required: false
      schema:
        type: string
    Page:
      name: page
      description: The page of the results.
      in: query
      required: false
      schema:
        type: string
  securitySchemes:
    api_key:
      type: apiKey
      name: x-api-key
      in: header