The Discovery API provides a list of Google APIs and a machine-readable "Discovery document" metadata for each API.
The API allows you to do tasks such as the following:
- List all Google APIs
- List all methods for a particular API (including scopes, parameters, URL paths, etc.)
This document is intended for developers who want to write client libraries, IDE plugins, and other tools for interacting with Google APIs.
Discovery Service Background
The Google APIs Discovery Service is built upon two basic concepts:
- APIs Directory: A list of all APIs that are supported by the APIs Discovery Service. Each directory entry shows details about a supported API, including its name, a brief description of what it does, and a documentation link. An API can have multiple Directory entries, one for each of its supported versions.
- Discovery document: A machine-readable description of a particular API. The Discovery document describes the surface for a particular version of an API. The document provides details on how to access the various methods of each API via RESTful HTTP calls. A Discovery document includes descriptions of the data and methods associated with the API, as well as information about available OAuth scopes, and descriptions of schemas, methods, parameters and available parameter values.
A resource is an individual data entity with a unique identifier. The Google APIs Discovery Service operates on two types of resources, based on the above concepts.
APIs Directory List: A list of APIs
Each directory entry contains an API name/version pair with the following information:
- Identification and description information,: name, version, title, and description.
- Documentation information: icons and a documentation link.
- Status information, including status labels, and an indication as to whether or not this is the preferred version of the API.
- Discovery document link, the URI of the discovery document for this API (given as a path relative to https://www.googleapis.com/discovery/v1).
Discovery Document resource: A machine-readable description of a particular API
In addition to the information provided in the APIs Directory, a Discovery document also includes:
- Schemas, which is a list of API resource schemas that describe the data you have access to in each API; the Google APIs Discovery Service schemas are based on JSON Schema.
- Methods, including a list of API methods and available parameters for each method.
- OAuth scopes, which identifies the list of OAuth scopes available for this API.
- Inline documentation, which provides brief descriptions of schemas, methods, parameters and available parameter values.
The single Directory Collection is the conceptual container of the single APIs Directory resource, and the Discovery Document resources for each supported API.
You can invoke two different methods on collections and resources in the Google APIs Discovery Service, as described in the following table.
|Operation||Description||REST HTTP mappings|
|list||Lists all supported APIs.||
|getRest||Gets a Discovery Document resource for a particular API.||
The specific format for Google APIs Discovery Service URIs are:
api is the identifier for a Discovery Document resource, and
version is the identifier of the particular version of the API, , and
_parameters_ are any parameters to apply to the query. See Query parameter summary in the reference documentation for details
Details on the full set of URIs used for each supported operation in the API is summarized in the Google APIs Discovery Service Reference document.
Here are a couple of examples of how this works in the Google APIs Discovery Service.
List all the Google APIs Discovery Service supported APIs:
Get the Discovery document for the URL Shortener API, version 1: