APIs.guru is the latest entry into the API definition indexing, curation, and discovery space.
The open source (MIT-licensed) community curated index currently includes 236 API descriptions which cover 6,271 endpoints. APIs.guru is focused on becoming the "Wikipedia for REST APIs."
APIs.guru is entering an increasingly crowded market with other API indexing sites including The API Stack, API Commons, APIs.io, AnyAPI, and older indexes such as ProgrammableWeb's API Directory. These API indexes share a common goal says APIEvangelist.com blogger Kin Lane:
Developers around the world are using these definitions in their work, and modern API tooling and service providers are using them to define the value they bring to the table. To help the API sector reach the next level, we need you to step up and share the API definitions you have with API Stack, APIs.io, or APIs.guru, and if you have the time and skills, we could use your help crafting other new API definitions for popular services available today.
The APIs.guru content is curated primarily by its creator, Ivan Goncharov. According to a DataFire Blog entry, the initial content was populated "using a combination of automated scraping and human curation to crawl the web for machine-readable API definitions."
The submissions are then matched against the following evaluation criteria:
- Filter out private and non-reliable APIs.
- Convert different formats into OpenAPI(fka Swagger) 2.0
- Fix mistakes, ~80% of spec have some
- Add additional data, like: logo, categories, …
- Update specs on daily basis
The index itself is available as a single JSON file hosted via GitHub Pages at https://api.apis.guru/v2/list.json
The file contains a single JSON object with API IDs as keys in the format: <provider>[:<service>]
. The contents of each API description include when the description was added, the currently preferred version of the API, and links to OpenAPI (formerly known as Swagger) documentation for the service. There is also a relatively free form info
object that contains basic title and description information along with x-*
keys for various provider specific information.
Additions to the API index can be made through an Add API page which opens an issue on the APIs-guru/api-models repository on GitHub. Once added, the referenced API spec definition will be converted from the submitted format (RAML, API Blueprint, WADL, etc) into OpenAPI 2.0. Lastly, a daily script is run to monitor updates to the original API definition.