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
| Action | What it does |
|---|---|
| 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. |
| 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. |
| 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. |
| List a provider's services | List the service names a provider publishes its APIs under - 'drive', 'gmail' and 'calendar' under 'googleapis.com', for example. |
| 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. |
| 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. |
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
- Provider
providertextRequired - 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'.
- Service
servicetext - 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.
- Version
versiontext - 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
- Provider
providertextRequired - 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 for
searchtext - Optional. Only APIs whose id, title, provider or description contains this text, e.g. 'calendar'. Case does not matter.
- Limit
limitnumber - 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
- Provider
providertextRequired - 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 contains
searchtext - 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 for
querytext - 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.
- Category
categorytext - 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.
- Order
sorttext - 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. - Limit
limitnumber - 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
}