API Seeker

API Seeker · GPT Actions

APIs.guru

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)

  • GET /providers.jsonList all providers

    List all the providers in the directory

  • GET /{provider}.jsonList all APIs for a particular provider

    List all APIs in the directory for a particular providerName Returns links to the individual API entry for each API.

  • GET /{provider}/services.jsonList all serviceNames for a particular provider

    List all serviceNames in the directory for a particular providerName

  • GET /specs/{provider}/{api}.jsonRetrieve one version of a particular API

    Returns the API entry for one specific version of an API where there is no serviceName.

  • GET /specs/{provider}:{service}/{api}.jsonRetrieve one version of a particular API with a serviceName.

    Returns the API entry for one specific version of an API where there is a serviceName.

  • GET /metrics.jsonGet basic metrics

    Some basic metrics for the entire directory. Just stunning numbers to put on a front page and are intended purely for WoW effect :)

原始 API 定义
{
  "openapi": "3.0.0",
  "x-optic-url": "https://app.useoptic.com/organizations/febf8ac6-ee67-4565-b45a-5c85a469dca7/apis/_0fKWqUvhs9ssYNkq1k-c",
  "x-optic-standard": "@febf8ac6-ee67-4565-b45a-5c85a469dca7/Fz6KU3_wMIO5iJ6_VUZ30",
  "info": {
    "version": "2.2.0",
    "title": "APIs.guru",
    "description": "Wikipedia for Web APIs. Repository of API definitions in OpenAPI format.\n**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).\nClient sample: [[Demo]](https://apis.guru/simple-ui) [[Repo]](https://github.com/APIs-guru/simple-ui)\n",
    "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"
  },
  "servers": [
    {
      "url": "https://api.apis.guru/v2"
    }
  ],
  "security": [],
  "tags": [
    {
      "name": "APIs",
      "description": "Actions relating to APIs in the collection"
    }
  ],
  "paths": {
    "/providers.json": {
      "get": {
        "operationId": "getProviders",
        "tags": [
          "APIs"
        ],
        "summary": "List all providers",
        "description": "List all the providers in the directory\n",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      },
                      "minItems": 1
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/{provider}.json": {
      "get": {
        "operationId": "getProvider",
        "tags": [
          "APIs"
        ],
        "summary": "List all APIs for a particular provider",
        "description": "List all APIs in the directory for a particular providerName\nReturns links to the individual API entry for each API.\n",
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255,
              "example": "apis.guru"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "List of API details.\nIt is a JSON object with API IDs(`<provider>[:<service>]`) as keys.\n",
                  "type": "object",
                  "properties": {},
                  "additionalProperties": {
                    "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": {
                          "type": "object",
                          "required": [
                            "added",
                            "updated",
                            "swaggerUrl",
                            "swaggerYamlUrl",
                            "info",
                            "openapiVer"
                          ],
                          "properties": {
                            "added": {
                              "description": "Timestamp when the version was added",
                              "type": "string",
                              "format": "date-time"
                            },
                            "updated": {
                              "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"
                            },
                            "link": {
                              "description": "Link to the individual API entry for this API",
                              "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": "The value of the `openapi` or `swagger` property of the source definition",
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        "minProperties": 1
                      }
                    },
                    "additionalProperties": false
                  },
                  "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"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/{provider}/services.json": {
      "get": {
        "operationId": "getServices",
        "tags": [
          "APIs"
        ],
        "summary": "List all serviceNames for a particular provider",
        "description": "List all serviceNames in the directory for a particular providerName\n",
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255,
              "example": "apis.guru"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 0
                      },
                      "minItems": 1
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/specs/{provider}/{api}.json": {
      "get": {
        "operationId": "getAPI",
        "tags": [
          "APIs"
        ],
        "summary": "Retrieve one version of a particular API",
        "description": "Returns the API entry for one specific version of an API where there is no serviceName.",
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255,
              "example": "apis.guru"
            }
          },
          {
            "name": "api",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255,
              "example": "2.1.0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "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": {
                        "type": "object",
                        "required": [
                          "added",
                          "updated",
                          "swaggerUrl",
                          "swaggerYamlUrl",
                          "info",
                          "openapiVer"
                        ],
                        "properties": {
                          "added": {
                            "description": "Timestamp when the version was added",
                            "type": "string",
                            "format": "date-time"
                          },
                          "updated": {
                            "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"
                          },
                          "link": {
                            "description": "Link to the individual API entry for this API",
                            "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": "The value of the `openapi` or `swagger` property of the source definition",
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      },
                      "minProperties": 1
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/specs/{provider}:{service}/{api}.json": {
      "get": {
        "operationId": "getServiceAPI",
        "tags": [
          "APIs"
        ],
        "summary": "Retrieve one version of a particular API with a serviceName.",
        "description": "Returns the API entry for one specific version of an API where there is a serviceName.",
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255,
              "example": "apis.guru"
            }
          },
          {
            "name": "service",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255,
              "example": "graph"
            }
          },
          {
            "name": "api",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255,
              "example": "2.1.0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "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": {
                        "type": "object",
                        "required": [
                          "added",
                          "updated",
                          "swaggerUrl",
                          "swaggerYamlUrl",
                          "info",
                          "openapiVer"
                        ],
                        "properties": {
                          "added": {
                            "description": "Timestamp when the version was added",
                            "type": "string",
                            "format": "date-time"
                          },
                          "updated": {
                            "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"
                          },
                          "link": {
                            "description": "Link to the individual API entry for this API",
                            "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": "The value of the `openapi` or `swagger` property of the source definition",
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      },
                      "minProperties": 1
                    }
                  },
                  "additionalProperties": false
                }
              }
            }
          }
        }
      }
    },
    "/metrics.json": {
      "get": {
        "operationId": "getMetrics",
        "summary": "Get basic metrics",
        "description": "Some basic metrics for the entire directory.\nJust stunning numbers to put on a front page and are intended purely for WoW effect :)\n",
        "tags": [
          "APIs"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "List of basic metrics",
                  "type": "object",
                  "required": [
                    "numSpecs",
                    "numAPIs",
                    "numEndpoints"
                  ],
                  "properties": {
                    "numSpecs": {
                      "description": "Number of API definitions including different versions of the same API",
                      "type": "integer",
                      "minimum": 1
                    },
                    "numAPIs": {
                      "description": "Number of unique APIs",
                      "type": "integer",
                      "minimum": 1
                    },
                    "numEndpoints": {
                      "description": "Total number of endpoints inside all definitions",
                      "type": "integer",
                      "minimum": 1
                    },
                    "unreachable": {
                      "description": "Number of unreachable (4XX,5XX status) APIs",
                      "type": "integer"
                    },
                    "invalid": {
                      "description": "Number of newly invalid APIs",
                      "type": "integer"
                    },
                    "unofficial": {
                      "description": "Number of unofficial APIs",
                      "type": "integer"
                    },
                    "fixes": {
                      "description": "Total number of fixes applied across all APIs",
                      "type": "integer"
                    },
                    "fixedPct": {
                      "description": "Percentage of all APIs where auto fixes have been applied",
                      "type": "integer"
                    },
                    "datasets": {
                      "description": "Data used for charting etc",
                      "type": "array",
                      "items": {}
                    },
                    "stars": {
                      "description": "GitHub stars for our main repo",
                      "type": "integer"
                    },
                    "issues": {
                      "description": "Open GitHub issues on our main repo",
                      "type": "integer"
                    },
                    "thisWeek": {
                      "description": "Summary totals for the last 7 days",
                      "type": "object",
                      "properties": {
                        "added": {
                          "description": "APIs added in the last week",
                          "type": "integer"
                        },
                        "updated": {
                          "description": "APIs updated in the last week",
                          "type": "integer"
                        }
                      }
                    },
                    "numDrivers": {
                      "description": "Number of methods of API retrieval",
                      "type": "integer"
                    },
                    "numProviders": {
                      "description": "Number of API providers in directory",
                      "type": "integer"
                    }
                  },
                  "additionalProperties": false,
                  "example": {
                    "numAPIs": 2501,
                    "numEndpoints": 106448,
                    "numSpecs": 3329,
                    "unreachable": 123,
                    "invalid": 598,
                    "unofficial": 25,
                    "fixes": 81119,
                    "fixedPct": 22,
                    "datasets": [],
                    "stars": 2429,
                    "issues": 28,
                    "thisWeek": {
                      "added": 45,
                      "updated": 171
                    },
                    "numDrivers": 10,
                    "numProviders": 659
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}