I work to develop OpenAPI definitions for 3rd party APIs because it helps me understand what is being offered by a company. Even when I'm able to autogenerate an OpenAPI for an API, or come across an existing one, I still spend time going through the finer details of what an API does, or doesn't do. I find the process to be one of the best ways to learn about an API, stopping short of actually integrating with it.
Over the last couple of months, I've aggregated, generated, and crafted OpenAPI and APIs.json definitions for the top three cloud API providers out there. I wanted to be able to easily see the surface area for as many of the APIs as I could find for these three companies:
- Amazon - 2222 paths (or methods) across 65 of the Amazon Web Services - you can find the APIs.json, and OpenAPI behind in the Github repository.
- Google - 2089 paths across 75 of the Google services I'm profiling - you can find the APIs.json, and OpenAPI behind in the Github repository.
- Microsoft - 2109 paths across 41 of the Microsoft and Azure services. - you can find the APIs.json, and OpenAPI behind in the Github repository.
I learned a lot about all three providers in the process. I filled my notebook with stories about their approaches. I also ended up with three separate Github repositories with APIs.json indexed OpenAPI definitions for as many of their APIs as I could process. They are far from complete, but I feel like they paint a pretty interesting picture of the API landscape across these three tech giants.