openapi: 3.0.0 servers: - url: https://api.apis.guru/v2 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: APIs.guru 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 externalDocs: url: https://github.com/APIs-guru/openapi-directory/blob/master/API.md 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" description: OK summary: List all APIs tags: - APIs /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" description: OK summary: Get basic metrics tags: - APIs /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 description: OK summary: List all providers tags: - APIs "/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" description: OK summary: Retrieve one version of a particular API tags: - APIs "/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" description: OK summary: Retrieve one version of a particular API with a serviceName. tags: - APIs "/{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" description: OK summary: List all APIs for a particular provider tags: - APIs "/{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 description: OK summary: List all serviceNames for a particular provider tags: - APIs components: parameters: api: in: path name: api required: true schema: example: 2.1.0 maxLength: 255 minLength: 1 type: string provider: in: path name: provider required: true schema: example: apis.guru maxLength: 255 minLength: 1 type: string schemas: 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 APIs: additionalProperties: $ref: "#/components/schemas/API" description: | List of API details. It is a JSON object with API IDs(`[:]`) as keys. example: googleapis.com:drive: added: 2015-02-22T20:00:45.000Z preferred: v3 versions: v2: added: 2015-02-22T20:00:45.000Z 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-17T00:21:44.000Z v3: added: 2015-12-12T00:25:13.000Z 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-17T00:21:44.000Z 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 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 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