Files
2026-02-08 11:20:43 -10:00

305 lines
9.3 KiB
YAML
Vendored

# DEMO for DataFrame, this might differ from the actual API (it's updated a bit)
openapi: 3.0.0
info:
version: 2.0.2
title: APIs.guru
description: >
Wikipedia for Web APIs. Repository of API specs 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)
contact:
name: APIs.guru
url: https://APIs.guru
email: mike.ralphson@gmail.com
license:
name: CC0 1.0
url: https://github.com/APIs-guru/openapi-directory#licenses
x-logo:
url: https://apis.guru/branding/logo_vertical.svg
externalDocs:
url: https://github.com/APIs-guru/openapi-directory/blob/master/API.md
security: [ ]
tags:
- name: APIs
description: Actions relating to APIs in the collection
paths:
/list.json:
get:
operationId: listAPIs
tags:
- APIs
summary: List all APIs
description: >
List all APIs in the directory.
Returns links to OpenAPI specification for each API in the directory.
If API exist in multiple versions `preferred` one is explicitly marked.
Some basic info from OpenAPI spec is cached inside each object.
This allows to generate some simple views without need to fetch OpenAPI spec for each API.
responses:
"200":
description: OK
content:
application/json; charset=utf-8:
schema:
$ref: "#/components/schemas/APIs"
application/json:
schema:
$ref: "#/components/schemas/APIs"
/metrics.json:
get:
operationId: getMetrics
summary: Get basic metrics
description: >
Some basic metrics for the entire directory.
Just stunning numbers to put on a front page and are intended purely for WoW effect :)
tags:
- APIs
responses:
"200":
description: OK
content:
application/json; charset=utf-8:
schema:
$ref: "#/components/schemas/Metrics"
application/json:
schema:
$ref: "#/components/schemas/Metrics"
components:
schemas:
APIs:
description: |
List of API details.
It is a JSON object with API IDs(`<provider>[:<service>]`) as keys.
type: object
additionalProperties:
$ref: "#/components/schemas/API"
minProperties: 1
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
API:
description: Meta information about API
type: object
required:
- added
- preferred
- versions
properties:
added:
description: Timestamp when the API was first added to the directory
type: string
format: date-time
preferred:
description: Recommended version
type: string
versions:
description: List of supported versions of the API
type: object
additionalProperties:
$ref: "#/components/schemas/ApiVersion"
minProperties: 1
additionalProperties: false
ApiVersion:
type: object
required:
- added
# - updated apparently not required!
- swaggerUrl
- swaggerYamlUrl
- info
- openapiVer
properties:
added:
description: Timestamp when the version was added
type: string
format: date-time
updated: # apparently not required!
description: Timestamp when the version was updated
type: string
format: date-time
swaggerUrl:
description: URL to OpenAPI definition in JSON format
type: string
format: url
swaggerYamlUrl:
description: URL to OpenAPI definition in YAML format
type: string
format: url
info:
description: Copy of `info` section from OpenAPI definition
type: object
minProperties: 1
externalDocs:
description: Copy of `externalDocs` section from OpenAPI definition
type: object
minProperties: 1
openapiVer:
description: OpenAPI version
type: string
additionalProperties: false
Metrics:
description: List of basic metrics
type: object
required:
- numSpecs
- numAPIs
- numEndpoints
- unreachable
- invalid
- unofficial
- fixes
- fixedPct
- datasets
- stars
- issues
- thisWeek
properties:
numSpecs:
description: Number of API specifications including different versions of the
same API
type: integer
minimum: 1
numAPIs:
description: Number of APIs
type: integer
minimum: 1
numEndpoints:
description: Total number of endpoints inside all specifications
type: integer
minimum: 1
unreachable:
description: Number of unreachable specifications
type: integer
minimum: 0
invalid:
description: Number of invalid specifications
type: integer
minimum: 0
unofficial:
description: Number of unofficial specifications
type: integer
minimum: 0
fixes:
description: Number of fixes applied to specifications
type: integer
minimum: 0
fixedPct:
description: Percentage of fixed specifications
type: number
minimum: 0
maximum: 100
datasets:
description: An overview of the datasets used to gather the APIs
type: array
items:
description: A single metric per dataset
type: object
required:
- title
- data
properties:
title:
description: Title of the metric
type: string
data:
description: Value of the metric per dataset
type: object
additionalProperties:
type: integer
minimum: 0
stars:
description: Number of stars on GitHub
type: integer
minimum: 0
issues:
description: Number of issues on GitHub
type: integer
minimum: 0
thisWeek:
description: Number of new specifications added/updated this week
type: object
required:
- added
- updated
properties:
added:
description: Number of new specifications added this week
type: integer
minimum: 0
updated:
description: Number of specifications updated this week
type: integer
minimum: 0
additionalProperties: false
example:
numSpecs: 1000
numAPIs: 100
numEndpoints: 10000
unreachable: 10
invalid: 10
unofficial: 10
fixes: 10
fixedPct: 10
datasets:
- title: providerCount
data:
"a.com": 10
"b.com": 20
"c.com": 30
stars: 1000
issues: 100
thisWeek:
added: 10
updated: 10