APIs.guru APIs API

Actions relating to APIs in the collection

OpenAPI Specification

apis-guru-apis-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    email: mike.ralphson@gmail.com
    name: APIs.guru
    url: https://APIs.guru
  description: 'Wikipedia for Web APIs. Repository of API definitions in OpenAPI format.

    **Warning**: If you want to be notified about changes in advance please join our [Slack channel](https://join.slack.com/t/mermade/shared_invite/zt-g78g7xir-MLE_CTCcXCdfJfG3CJe9qA).

    Client sample: [[Demo]](https://apis.guru/simple-ui) [[Repo]](https://github.com/APIs-guru/simple-ui)

    '
  license:
    name: CC0 1.0
    url: https://github.com/APIs-guru/openapi-directory#licenses
  title: .guru APIs API
  version: 2.2.0
  x-apisguru-categories:
  - open_data
  - developer_tools
  x-logo:
    url: https://apis.guru/branding/logo_vertical.svg
  x-origin:
  - format: openapi
    url: https://api.apis.guru/v2/openapi.yaml
    version: '3.0'
  x-providerName: apis.guru
  x-tags:
  - API
  - Catalog
  - Directory
  - REST
  - Swagger
  - OpenAPI
servers:
- url: https://api.apis.guru/v2
security: []
tags:
- description: Actions relating to APIs in the collection
  name: APIs
paths:
  /list.json:
    get:
      description: 'List all APIs in the directory.

        Returns links to the OpenAPI definitions for each API in the directory.

        If API exist in multiple versions `preferred` one is explicitly marked.

        Some basic info from the OpenAPI definition is cached inside each object.

        This allows you to generate some simple views without needing to fetch the OpenAPI definition for each API.

        '
      operationId: listAPIs
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIs'
              examples:
                listAPIs200Example:
                  summary: Default listAPIs 200 response
                  x-microcks-default: true
                  value: {}
          description: OK
      summary: APIs.guru List All APIs
      tags:
      - APIs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /metrics.json:
    get:
      description: 'Some basic metrics for the entire directory.

        Just stunning numbers to put on a front page and are intended purely for WoW effect :)

        '
      operationId: getMetrics
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metrics'
              examples:
                getMetrics200Example:
                  summary: Default getMetrics 200 response
                  x-microcks-default: true
                  value:
                    datasets:
                    - example-item
                    fixedPct: 42
                    fixes: 42
                    invalid: 42
                    issues: 42
                    numAPIs: 42
                    numDrivers: 42
                    numEndpoints: 42
                    numProviders: 42
                    numSpecs: 42
                    stars: 42
                    thisWeek:
                      added: 42
                      updated: 42
                    unofficial: 42
                    unreachable: 42
          description: OK
      summary: APIs.guru Get Basic Metrics
      tags:
      - APIs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /providers.json:
    get:
      description: 'List all the providers in the directory

        '
      operationId: getProviders
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      minLength: 1
                      type: string
                    minItems: 1
                    type: array
                type: object
              examples:
                getProviders200Example:
                  summary: Default getProviders 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - example-item
          description: OK
      summary: APIs.guru List All Providers
      tags:
      - APIs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /specs/{provider}/{api}.json:
    get:
      description: Returns the API entry for one specific version of an API where there is no serviceName.
      operationId: getAPI
      parameters:
      - $ref: '#/components/parameters/provider'
      - $ref: '#/components/parameters/api'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API'
              examples:
                getAPI200Example:
                  summary: Default getAPI 200 response
                  x-microcks-default: true
                  value:
                    added: '2025-03-15T14:30:00Z'
                    preferred: example-value
                    versions: {}
          description: OK
      summary: APIs.guru Retrieve One Version of a Particular API
      tags:
      - APIs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /specs/{provider}/{service}/{api}.json:
    get:
      description: Returns the API entry for one specific version of an API where there is a serviceName.
      operationId: getServiceAPI
      parameters:
      - $ref: '#/components/parameters/provider'
      - in: path
        name: service
        required: true
        schema:
          example: graph
          maxLength: 255
          minLength: 1
          type: string
      - $ref: '#/components/parameters/api'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API'
              examples:
                getServiceAPI200Example:
                  summary: Default getServiceAPI 200 response
                  x-microcks-default: true
                  value:
                    added: '2025-03-15T14:30:00Z'
                    preferred: example-value
                    versions: {}
          description: OK
      summary: APIs.guru Retrieve One Version of a Particular API with a ServiceName.
      tags:
      - APIs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /{provider}.json:
    get:
      description: 'List all APIs in the directory for a particular providerName

        Returns links to the individual API entry for each API.

        '
      operationId: getProvider
      parameters:
      - $ref: '#/components/parameters/provider'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIs'
              examples:
                getProvider200Example:
                  summary: Default getProvider 200 response
                  x-microcks-default: true
                  value: {}
          description: OK
      summary: APIs.guru List All APIs for a Particular Provider
      tags:
      - APIs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /{provider}/services.json:
    get:
      description: 'List all serviceNames in the directory for a particular providerName

        '
      operationId: getServices
      parameters:
      - $ref: '#/components/parameters/provider'
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      minLength: 0
                      type: string
                    minItems: 1
                    type: array
                type: object
              examples:
                getServices200Example:
                  summary: Default getServices 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - example-item
          description: OK
      summary: APIs.guru List All ServiceNames for a Particular Provider
      tags:
      - APIs
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Metrics:
      additionalProperties: false
      description: List of basic metrics
      example:
        datasets: []
        fixedPct: 22
        fixes: 81119
        invalid: 598
        issues: 28
        numAPIs: 2501
        numDrivers: 10
        numEndpoints: 106448
        numProviders: 659
        numSpecs: 3329
        stars: 2429
        thisWeek:
          added: 45
          updated: 171
        unofficial: 25
        unreachable: 123
      properties:
        datasets:
          description: Data used for charting etc
          items: {}
          type: array
        fixedPct:
          description: Percentage of all APIs where auto fixes have been applied
          type: integer
        fixes:
          description: Total number of fixes applied across all APIs
          type: integer
        invalid:
          description: Number of newly invalid APIs
          type: integer
        issues:
          description: Open GitHub issues on our main repo
          type: integer
        numAPIs:
          description: Number of unique APIs
          minimum: 1
          type: integer
        numDrivers:
          description: Number of methods of API retrieval
          type: integer
        numEndpoints:
          description: Total number of endpoints inside all definitions
          minimum: 1
          type: integer
        numProviders:
          description: Number of API providers in directory
          type: integer
        numSpecs:
          description: Number of API definitions including different versions of the same API
          minimum: 1
          type: integer
        stars:
          description: GitHub stars for our main repo
          type: integer
        thisWeek:
          description: Summary totals for the last 7 days
          properties:
            added:
              description: APIs added in the last week
              type: integer
            updated:
              description: APIs updated in the last week
              type: integer
          type: object
        unofficial:
          description: Number of unofficial APIs
          type: integer
        unreachable:
          description: Number of unreachable (4XX,5XX status) APIs
          type: integer
      required:
      - numSpecs
      - numAPIs
      - numEndpoints
      type: object
    APIs:
      additionalProperties:
        $ref: '#/components/schemas/API'
      description: 'List of API details.

        It is a JSON object with API IDs(`<provider>[:<service>]`) as keys.

        '
      example:
        googleapis.com:drive:
          added: 2015-02-22 20:00:45+00:00
          preferred: v3
          versions:
            v2:
              added: 2015-02-22 20:00:45+00:00
              info:
                title: Drive
                version: v2
                x-apiClientRegistration:
                  url: https://console.developers.google.com
                x-logo:
                  url: https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_drive_32dp.png
                x-origin:
                  format: google
                  url: https://www.googleapis.com/discovery/v1/apis/drive/v2/rest
                  version: v1
                x-preferred: false
                x-providerName: googleapis.com
                x-serviceName: drive
              swaggerUrl: https://api.apis.guru/v2/specs/googleapis.com/drive/v2/swagger.json
              swaggerYamlUrl: https://api.apis.guru/v2/specs/googleapis.com/drive/v2/swagger.yaml
              updated: 2016-06-17 00:21:44+00:00
            v3:
              added: 2015-12-12 00:25:13+00:00
              info:
                title: Drive
                version: v3
                x-apiClientRegistration:
                  url: https://console.developers.google.com
                x-logo:
                  url: https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_drive_32dp.png
                x-origin:
                  format: google
                  url: https://www.googleapis.com/discovery/v1/apis/drive/v3/rest
                  version: v1
                x-preferred: true
                x-providerName: googleapis.com
                x-serviceName: drive
              swaggerUrl: https://api.apis.guru/v2/specs/googleapis.com/drive/v3/swagger.json
              swaggerYamlUrl: https://api.apis.guru/v2/specs/googleapis.com/drive/v3/swagger.yaml
              updated: 2016-06-17 00:21:44+00:00
      minProperties: 1
      type: object
    ApiVersion:
      additionalProperties: false
      properties:
        added:
          description: Timestamp when the version was added
          format: date-time
          type: string
        externalDocs:
          description: Copy of `externalDocs` section from OpenAPI definition
          minProperties: 1
          type: object
        info:
          description: Copy of `info` section from OpenAPI definition
          minProperties: 1
          type: object
        link:
          description: Link to the individual API entry for this API
          format: url
          type: string
        openapiVer:
          description: The value of the `openapi` or `swagger` property of the source definition
          type: string
        swaggerUrl:
          description: URL to OpenAPI definition in JSON format
          format: url
          type: string
        swaggerYamlUrl:
          description: URL to OpenAPI definition in YAML format
          format: url
          type: string
        updated:
          description: Timestamp when the version was updated
          format: date-time
          type: string
      required:
      - added
      - updated
      - swaggerUrl
      - swaggerYamlUrl
      - info
      - openapiVer
      type: object
    API:
      additionalProperties: false
      description: Meta information about API
      properties:
        added:
          description: Timestamp when the API was first added to the directory
          format: date-time
          type: string
        preferred:
          description: Recommended version
          type: string
        versions:
          additionalProperties:
            $ref: '#/components/schemas/ApiVersion'
          description: List of supported versions of the API
          minProperties: 1
          type: object
      required:
      - added
      - preferred
      - versions
      type: object
  parameters:
    provider:
      in: path
      name: provider
      required: true
      schema:
        example: apis.guru
        maxLength: 255
        minLength: 1
        type: string
    api:
      in: path
      name: api
      required: true
      schema:
        example: 2.1.0
        maxLength: 255
        minLength: 1
        type: string
externalDocs:
  url: https://github.com/APIs-guru/openapi-directory/blob/master/API.md
x-optic-standard: '@febf8ac6-ee67-4565-b45a-5c85a469dca7/Fz6KU3_wMIO5iJ6_VUZ30'
x-optic-url: https://app.useoptic.com/organizations/febf8ac6-ee67-4565-b45a-5c85a469dca7/apis/_0fKWqUvhs9ssYNkq1k-c