APIs.guru
APIs.guru is a free, key-free directory of machine-readable OpenAPI definitions for thousands of public APIs. List providers, fetch specs, tested curl example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the APIs.guru?
APIs.guru is a free API that indexes OpenAPI (Swagger) definitions for thousands of public APIs. It needs no key and no signup: `GET https://api.apis.guru/v2/providers.json` lists every provider it tracks, and `/v2/list.json` returns the full catalogue with a versioned spec URL for each API.
APIs.guru solves a problem most developers only notice once: public APIs publish OpenAPI documents, but nobody agrees where to put them. The project scrapes, normalises and version-stamps those documents into one catalogue, so you can programmatically fetch a machine-readable description of Stripe, Azure or the UK government's APIs without hunting through documentation sites.
The catalogue is deliberately split across several endpoints because `list.json` is enormous, running to tens of megabytes. Start with `providers.json`, which is a flat array of provider domains and downloads in a fraction of a second, then drill into a single provider before you ever touch the full listing. Getting that order wrong is the usual reason a first integration feels slow.
Quick facts
- Base URL
https://api.apis.guru/v2- Authentication
- No key, no signup, no headers required. The API is served from a static CDN, so it is fast and unusually reliable for a volunteer project.
- Rate limit
- No published limit. Responses are CDN-cached, so ordinary use is unlikely to be throttled.
- Pricing
- Free and open source. The dataset is CC0.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the APIs.guru
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. List every API provider in the directory
GET https://api.apis.guru/v2/providers.json
curl 'https://api.apis.guru/v2/providers.json'const res = await fetch("https://api.apis.guru/v2/providers.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.apis.guru/v2/providers.json", timeout=20)
res.raise_for_status()
print(res.json()){
"data": [
"1forge.com",
"1password.com",
"1password.local",
"6-dot-authentiqio.appspot.com",
"ably.io",
"ably.net",
"abstractapi.com",
"adafruit.com",
"adobe.com",
"adyen.com",
"afterbanks.com",
"agco-ats.com",
"aiception.com",
"airbyte.local",
"airport-web.appspot.com",
"akeneo.com",
"alertersystem.com",
"amadeus.com",
"amazonaws.com",
"amentum.space",
"anchore.io",
"apache.org",
"apacta.com",
"api.ebay.com",
"api.gov.uk",
"api.video",
"api2cart.com",
"api2pdf.com",
"apicurio.local",
"apidapp.com",
"apideck.com",
"apigee.local",
"apigee.net",
"apimatic.io",
"apis.guru",
"apisetu.gov.in",
"apispot.io",
"apiz.ebay.com",
"appcenter.ms",
"apple.com",
"apptigent.com",
"appveyor.com",
"appwrite.io",
"archive.org",
"arespass.net",
"art19.com",
"asana.com",
"asuarez.dev",
"atlassian.com",
"ato.gov.au",
"aucklandmuseum.com",
"authentiq.io",
"autodealerdata.com",
"autotask.net",
"avaza.com",
"aviationdata.systems",
"axesso.de",
"azure.com",
"balldontlie.io",
"bandsintown.com",
"bbc.co.uk",
"bbc.com",
"bbci.co.uk",
"bclaws.ca",
"beanstream.com",
"beezup.com",
"betfair.com",
"bethmardutho.org",
"bhagavadgita.io",
"biapi.pro",
"bigdatacloud.net",
"bigoven.com",
"bigredcloud.com",
"bikewise.org",
"billbee.io",
"billingo.hu",
"bintable.com",
"bitbucket.org",
"biztoc.com",Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
(path only) | n/a | Optional | There are no query parameters. Choose an endpoint instead: `/v2/providers.json`, `/v2/list.json`, `/v2/metrics.json`, or `/v2/{provider}.json` for one provider's APIs. /v2/providers.json |
Response fields
dataarray of strings- Provider domains such as `adobe.com` or `apisetu.gov.in`. The domain is the key you use in every other endpoint, so treat it as an identifier rather than a display name.
(list.json) versionsobject- On the full catalogue, each API carries a `versions` map keyed by version string, plus `preferred` naming the default one. Never assume a single version per API.
(list.json) swaggerUrl / swaggerYamlUrlstring- Direct links to the JSON and YAML forms of the spec. These are the URLs you feed to a code generator.
(metrics.json) numSpecs / numAPIsinteger- Spec count and API count differ because one API can have many versions. Use `numAPIs` when quoting catalogue size.
What you can build with the APIs.guru
- Generate a typed client for a third-party API by pulling its OpenAPI document automatically
- Build an internal API catalogue or search page seeded from real specs
- Diff two versions of a vendor's API to spot breaking changes before an upgrade
- Feed OpenAPI documents into a mock server so front-end work can start before a vendor integration exists
- Teach OpenAPI with thousands of real-world documents instead of toy examples
Common errors and how to fix them
404
The provider domain does not exist in the catalogue.
Fix: Domains are exact, lowercase and include the TLD. Fetch `/v2/providers.json` and match against that list rather than guessing.
Timeout on /v2/list.json
The full catalogue is tens of megabytes and some HTTP clients give up before it finishes.
Fix: Raise your client timeout, stream the response, or use `providers.json` plus per-provider files instead.
Stale spec
A spec in the catalogue lags behind the vendor's live documentation.
Fix: Check the `updated` timestamp on the API entry. If it matters, fall back to the vendor's own spec URL, which is recorded in the entry.
APIs.guru — frequently asked questions
Is the APIs.guru API free?
Yes, completely. There is no key, no account and no rate limit published, and the underlying dataset is released under CC0 so you can redistribute it.
What is the difference between list.json and providers.json?
`providers.json` is a small array of provider domains, suitable for autocomplete or a first request. `list.json` is the entire catalogue, including every version and spec URL, and is tens of megabytes.
Are the OpenAPI documents official?
Mostly. Many are pulled directly from the vendor, some are converted from other formats, and a small number are community-maintained. Each entry records its source URL so you can check provenance.
Can I use APIs.guru to call the APIs it lists?
Not directly. It gives you descriptions of those APIs, not credentials or a proxy. You still authenticate with each provider yourself.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
JSON Viewer
View JSON as a collapsible interactive tree online. Expand and collapse nodes, search keys and values, and copy the JSONPath of any node privately.
OpenAPI to Markdown Converter
Convert an OpenAPI 3.x or Swagger 2.0 JSON spec into readable Markdown API documentation with parameter, request body and response tables.
YAML to JSON Converter
Convert YAML to JSON online in your browser. Handles block scalars, flow collections, anchors and multi-document files — nothing is uploaded.
APIs.guru is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.