APIs.guru

App · Utilities · 6 actions

The Wikipedia for Web APIs: a free, open directory of machine-readable API definitions in OpenAPI format, covering thousands of APIs from hundreds of providers - Google, Microsoft, Amazon, GitHub, Twilio and many more. Search it by keyword or category, list a provider's APIs and services, look one API up by name and version to get its title, description, categories, logo and the address of its OpenAPI definition in JSON or YAML, or read the directory's own metrics. For workflows that discover APIs, catalogue them or feed their definitions into other tools. API definitions supplied by APIs.guru (https://apis.guru). No account or API key required.

Actions

ActionWhat it does
Get an APILook one API up by its provider, and the service name when it has one, and get back everything the directory knows about it: the title, the full description, the categories, the logo, when it was added and last updated, every version it holds and the one it recommends, and the addresses of its OpenAPI definition in JSON and YAML - ready to fetch with an HTTP step or hand to a code generator.
Get directory metricsRead the directory's own numbers: how many APIs, providers, definitions and endpoints it holds, how many APIs were added and updated in the last week, and how many definitions are unofficial, unreachable or invalid.
List a provider's APIsList the APIs one provider publishes, each with its title, a one-line summary, its categories and the address of its OpenAPI definition.
List a provider's servicesList the service names a provider publishes its APIs under - 'drive', 'gmail' and 'calendar' under 'googleapis.com', for example.
List providersList every provider in the directory by name - usually a domain such as 'googleapis.com', 'github.com' or 'stripe.com' - or only the ones whose name contains some text.
Search the directorySearch every API in the directory by a word in its name, title, provider or description, by the category it is filed under, or both, and get back a page of results in order of title, or with the most recently added or updated first.

Get an API

Look one API up by its provider, and the service name when it has one, and get back everything the directory knows about it: the title, the full description, the categories, the logo, when it was added and last updated, every version it holds and the one it recommends, and the addresses of its OpenAPI definition in JSON and YAML - ready to fetch with an HTTP step or hand to a code generator. Name a version to describe that one instead of the recommended one. No account or API key required.

Inputs

ProviderprovidertextRequired
The provider's name as the directory lists it - usually its domain, e.g. 'googleapis.com', 'github.com' or 'apis.guru'. Chain it from 'List providers'.
Serviceservicetext
Optional. The service name, for a provider that publishes several APIs, e.g. 'drive' under 'googleapis.com'. Chain it from 'List a provider's services' or from an API's 'service' field. Leave blank for a provider with a single API.
Versionversiontext
Optional. The version to describe, e.g. 'v3' or '2.2.0', exactly as the API's 'versions' list names it. Leave blank for the version the directory recommends.

Outputs

addedtext
When the API was first added to the directory, as an ISO 8601 timestamp.
categorieslist
The categories the directory files the API under, e.g. 'financial' or 'developer_tools'. Any of them can be searched for.
descriptiontext
The API's full description, as its definition gives it - often several paragraphs of Markdown.
docs_urltext
The API's own documentation, when the definition names it. Null otherwise.
entry_urltext
The address of this version's own entry in the directory.
idtext
The API's id in the directory: the provider, then a colon and the service name when there is one, e.g. 'googleapis.com:drive' or 'apis.guru'.
is_preferredtrue/false
True when the version described is the one the directory recommends. False in a provider listing means a newer or older version is held than the recommended one - look the API up for it.
logo_urltext
The address of the API's logo, when there is one. Null otherwise.
openapi_versiontext
The OpenAPI (or Swagger) version the definition is written in, e.g. '3.0.0' or '2.0'.
origin_urltext
Where the directory fetched the definition from - usually the provider's own published copy. Null when not recorded.
preferred_versiontext
The version the directory recommends.
providertext
The provider that publishes the API - its domain, e.g. 'googleapis.com'. What 'List a provider's APIs' and 'Get an API' take.
servicetext
The service name, for a provider that publishes several APIs, e.g. 'drive'. Null for a provider with a single API.
spec_json_urltext
The address of the definition as JSON. Fetch it with an HTTP step to read the API's paths and schemas.
spec_yaml_urltext
The address of the same definition as YAML.
summarytext
The first paragraph of the API's description, on one line and cut to about 200 characters. 'Get an API' carries the whole text.
titletext
The API's title, as its definition gives it.
unofficialtrue/false
True when the definition was written by the community rather than published by the provider.
updatedtext
When this version's definition was last updated, as an ISO 8601 timestamp.
versiontext
The version this record describes, e.g. 'v3' or '2.2.0'. A provider listing holds one version of each API, usually its newest.
version_addedtext
When this version was added to the directory, as an ISO 8601 timestamp.
version_countnumber
How many versions the directory holds.
versionslist
Every version of the API the directory holds. Any of them can be named in 'Get an API'.
Example output
{
  "added": "2015-02-22T20:00:45.000Z",
  "categories": [
    "cloud"
  ],
  "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
  "docs_url": "https://developers.google.com/drive/",
  "entry_url": "https://api.apis.guru/v2/specs/googleapis.com:drive/v3.json",
  "id": "googleapis.com:drive",
  "is_preferred": true,
  "logo_url": "https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_drive_32dp.png",
  "openapi_version": "3.0.0",
  "origin_url": "https://www.googleapis.com/discovery/v1/apis/drive/v3/rest",
  "preferred_version": "v3",
  "provider": "googleapis.com",
  "service": "drive",
  "spec_json_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.json",
  "spec_yaml_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.yaml",
  "summary": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
  "title": "Drive API",
  "unofficial": false,
  "updated": "2024-06-10T12:11:37.000Z",
  "version": "v3",
  "version_added": "2015-12-12T00:25:13.000Z",
  "version_count": 2,
  "versions": [
    "v2",
    "v3"
  ]
}

Get directory metrics

Read the directory's own numbers: how many APIs, providers, definitions and endpoints it holds, how many APIs were added and updated in the last week, and how many definitions are unofficial, unreachable or invalid. The figures the project puts on its front page, for a dashboard or a weekly digest. No account or API key required.

Inputs

None.

Outputs

added_this_weeknumber
How many APIs were added in the last seven days.
api_countnumber
How many distinct APIs the directory holds.
endpoint_countnumber
How many endpoints there are across every definition.
fix_countnumber
How many automatic fixes the directory has applied to definitions in all.
fixed_percentnumber
The percentage of APIs whose definition needed an automatic fix.
invalid_countnumber
How many definitions failed validation on the directory's last pass.
open_issuesnumber
Open GitHub issues on the directory's repository.
provider_countnumber
How many providers publish those APIs.
spec_countnumber
How many definitions it holds, counting every version of every API.
starsnumber
GitHub stars on the directory's repository.
unofficial_countnumber
How many definitions were written by the community rather than published by the provider.
unreachable_countnumber
How many definitions the directory could not fetch from their source on its last pass.
updated_this_weeknumber
How many APIs were updated in the last seven days.
Example output
{
  "added_this_week": 3,
  "api_count": 2529,
  "endpoint_count": 109738,
  "fix_count": 82361,
  "fixed_percent": 22,
  "invalid_count": 615,
  "open_issues": 43,
  "provider_count": 674,
  "spec_count": 4194,
  "stars": 4188,
  "unofficial_count": 25,
  "unreachable_count": 168,
  "updated_this_week": 41
}

List a provider's APIs

List the APIs one provider publishes, each with its title, a one-line summary, its categories and the address of its OpenAPI definition. The provider's index holds one version of each API - usually its newest - and says whether it is the one the directory recommends; look an API up for its recommended version and every version it holds. Filter by text, and page with a limit: a provider like Google publishes hundreds. No account or API key required.

Inputs

ProviderprovidertextRequired
The provider's name as the directory lists it - usually its domain, e.g. 'googleapis.com', 'github.com' or 'apis.guru'. Chain it from 'List providers'.
Text to look forsearchtext
Optional. Only APIs whose id, title, provider or description contains this text, e.g. 'calendar'. Case does not matter.
Limitlimitnumber
How many APIs to return at most, from 1 to 500. 50 by default. The APIs come in order of id, and the totals come back with them, so a cut-off is visible.From 1 to 500. Default: 50.

Outputs

api_idslist
The listed APIs' ids, in the same order.
apislist
The page of APIs, in order of id.
countnumber
How many are in the list.
firstobject
The first API in the list, for the step that only wanted one. Null when there are none.
providertext
The provider this step asked about.
totalnumber
How many APIs the provider publishes in all, before any filtering.
total_matchesnumber
How many APIs matched in all, of which the list is the first page.
truncatedtrue/false
True when more APIs matched than the limit allowed, so the list is not all of them.
Example output
{
  "api_ids": [
    "googleapis.com:drive",
    "googleapis.com:gmail"
  ],
  "apis": [
    {
      "categories": [
        "cloud"
      ],
      "docs_url": "https://developers.google.com/drive/",
      "entry_url": "https://api.apis.guru/v2/specs/googleapis.com:drive/v3.json",
      "id": "googleapis.com:drive",
      "is_preferred": true,
      "logo_url": "https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_drive_32dp.png",
      "openapi_version": "3.0.0",
      "origin_url": "https://www.googleapis.com/discovery/v1/apis/drive/v3/rest",
      "provider": "googleapis.com",
      "service": "drive",
      "spec_json_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.json",
      "spec_yaml_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.yaml",
      "summary": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
      "title": "Drive API",
      "unofficial": false,
      "updated": "2024-06-10T12:11:37.000Z",
      "version": "v3",
      "version_added": "2015-12-12T00:25:13.000Z"
    },
    {
      "categories": [
        "email"
      ],
      "docs_url": "https://developers.google.com/gmail/api/",
      "entry_url": "https://api.apis.guru/v2/specs/googleapis.com:gmail/v1.json",
      "id": "googleapis.com:gmail",
      "is_preferred": true,
      "logo_url": "https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_gmail_32dp.png",
      "openapi_version": "3.0.0",
      "origin_url": "https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest",
      "provider": "googleapis.com",
      "service": "gmail",
      "spec_json_url": "https://api.apis.guru/v2/specs/googleapis.com/gmail/v1/openapi.json",
      "spec_yaml_url": "https://api.apis.guru/v2/specs/googleapis.com/gmail/v1/openapi.yaml",
      "summary": "The Gmail API lets you view and manage Gmail mailbox data like threads, messages, and labels.",
      "title": "Gmail API",
      "unofficial": false,
      "updated": "2024-06-10T12:11:37.000Z",
      "version": "v1",
      "version_added": "2015-02-22T20:00:45.000Z"
    }
  ],
  "count": 2,
  "first": {
    "categories": [
      "cloud"
    ],
    "docs_url": "https://developers.google.com/drive/",
    "entry_url": "https://api.apis.guru/v2/specs/googleapis.com:drive/v3.json",
    "id": "googleapis.com:drive",
    "is_preferred": true,
    "logo_url": "https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_drive_32dp.png",
    "openapi_version": "3.0.0",
    "origin_url": "https://www.googleapis.com/discovery/v1/apis/drive/v3/rest",
    "provider": "googleapis.com",
    "service": "drive",
    "spec_json_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.json",
    "spec_yaml_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.yaml",
    "summary": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
    "title": "Drive API",
    "unofficial": false,
    "updated": "2024-06-10T12:11:37.000Z",
    "version": "v3",
    "version_added": "2015-12-12T00:25:13.000Z"
  },
  "provider": "googleapis.com",
  "total": 254,
  "total_matches": 2,
  "truncated": false
}

List a provider's services

List the service names a provider publishes its APIs under - 'drive', 'gmail' and 'calendar' under 'googleapis.com', for example. A provider with a single API has no service names, and one that also publishes an API without a service name says so. Chain a name into 'Get an API' to look one up. No account or API key required.

Inputs

ProviderprovidertextRequired
The provider's name as the directory lists it - usually its domain, e.g. 'googleapis.com', 'github.com' or 'apis.guru'. Chain it from 'List providers'.

Outputs

countnumber
How many are in the list.
firsttext
The first service in the list, for the step that only wanted one. Null when there are none.
has_unnamed_apitrue/false
True when the provider also publishes an API with no service name, which 'Get an API' reaches with the service left blank.
providertext
The provider this step asked about.
serviceslist
The service names, in the directory's own order. Chain one into 'Get an API'.
Example output
{
  "count": 3,
  "first": "calendar",
  "has_unnamed_api": false,
  "provider": "googleapis.com",
  "services": [
    "calendar",
    "drive",
    "gmail"
  ]
}

List providers

List every provider in the directory by name - usually a domain such as 'googleapis.com', 'github.com' or 'stripe.com' - or only the ones whose name contains some text. A provider's name is what every other step takes to name it. No account or API key required.

Inputs

Name containssearchtext
Optional. Only providers whose name contains this text, e.g. 'google', 'amazon' or '.gov'. Case does not matter. Leave blank for every provider.

Outputs

countnumber
How many are in the list.
firsttext
The first provider in the list, for the step that only wanted one. Null when there are none.
providerslist
The providers' names, in the directory's own order. Chain one into 'List a provider's APIs'.
totalnumber
How many providers the directory holds in all, before any filtering.
Example output
{
  "count": 3,
  "first": "googleapis.com",
  "providers": [
    "googleapis.com",
    "graphhopper.com",
    "gsa.gov"
  ],
  "total": 674
}

Search the directory

Search every API in the directory by a word in its name, title, provider or description, by the category it is filed under, or both, and get back a page of results in order of title, or with the most recently added or updated first. Each result carries the API's title, summary, categories, every version it holds and the one the directory recommends, and the address of its OpenAPI definition. The way to find out whether an API has a published definition, or to watch what the directory adds. No account or API key required.

Inputs

Text to look forquerytext
Optional. Text to look for in each API's id, title, provider and description, e.g. 'weather', 'stripe' or 'speech to text'. Case does not matter. Leave blank to list APIs without filtering by text.
Categorycategorytext
Optional. Only APIs filed under this category, as the directory names it, e.g. 'financial', 'developer_tools', 'open_data', 'machine_learning', 'ecommerce', 'messaging' or 'cloud'. Every result carries its categories, so a category seen on one API can be searched for.
Ordersorttext
The order results come in. By title, A to Z, by default. Recently added and recently updated put the newest first, which is the way to watch what the directory adds.One of: title, recently_added (Recently added), recently_updated (Recently updated). Default: title.
Limitlimitnumber
How many APIs to return at most, from 1 to 200. 25 by default. The totals come back with them, so a cut-off is visible.From 1 to 200. Default: 25.

Outputs

api_idslist
The listed APIs' ids, in the same order.
apislist
The page of APIs, in the order asked for.
categorytext
The category that was asked for. Null when there was none.
countnumber
How many are in the list.
firstobject
The first API in the list, for the step that only wanted one. Null when there are none.
querytext
The text that was looked for. Null when there was none.
sorttext
The order the results are in: 'title', 'recently_added' or 'recently_updated'.
totalnumber
How many APIs the directory holds in all, before any filtering.
total_matchesnumber
How many APIs matched in all, of which the list is the first page.
truncatedtrue/false
True when more APIs matched than the limit allowed, so the list is not all of them.
Example output
{
  "api_ids": [
    "googleapis.com:drive"
  ],
  "apis": [
    {
      "added": "2015-02-22T20:00:45.000Z",
      "categories": [
        "cloud"
      ],
      "docs_url": "https://developers.google.com/drive/",
      "entry_url": "https://api.apis.guru/v2/specs/googleapis.com:drive/v3.json",
      "id": "googleapis.com:drive",
      "is_preferred": true,
      "logo_url": "https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_drive_32dp.png",
      "openapi_version": "3.0.0",
      "origin_url": "https://www.googleapis.com/discovery/v1/apis/drive/v3/rest",
      "preferred_version": "v3",
      "provider": "googleapis.com",
      "service": "drive",
      "spec_json_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.json",
      "spec_yaml_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.yaml",
      "summary": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
      "title": "Drive API",
      "unofficial": false,
      "updated": "2024-06-10T12:11:37.000Z",
      "version": "v3",
      "version_added": "2015-12-12T00:25:13.000Z",
      "version_count": 2,
      "versions": [
        "v2",
        "v3"
      ]
    }
  ],
  "category": "cloud",
  "count": 1,
  "first": {
    "added": "2015-02-22T20:00:45.000Z",
    "categories": [
      "cloud"
    ],
    "docs_url": "https://developers.google.com/drive/",
    "entry_url": "https://api.apis.guru/v2/specs/googleapis.com:drive/v3.json",
    "id": "googleapis.com:drive",
    "is_preferred": true,
    "logo_url": "https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_drive_32dp.png",
    "openapi_version": "3.0.0",
    "origin_url": "https://www.googleapis.com/discovery/v1/apis/drive/v3/rest",
    "preferred_version": "v3",
    "provider": "googleapis.com",
    "service": "drive",
    "spec_json_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.json",
    "spec_yaml_url": "https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.yaml",
    "summary": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.",
    "title": "Drive API",
    "unofficial": false,
    "updated": "2024-06-10T12:11:37.000Z",
    "version": "v3",
    "version_added": "2015-12-12T00:25:13.000Z",
    "version_count": 2,
    "versions": [
      "v2",
      "v3"
    ]
  },
  "query": "google drive",
  "sort": "title",
  "total": 2529,
  "total_matches": 1,
  "truncated": false
}

On this page