Title: tl;dr we at Escape (YC W23), we scanned 5651+ public APIs on the internet with our in house feedback driven API exploration tech, and ranked them using security, performance, reliability, and design criteria. The results are public on <a href="https:&#x2F;&#x2F;apirank.dev" rel="nofollow">https:&#x2F;&#x2F;apirank.dev</a>. You can request that we index your own API to the list for free and see how it compares to others.<p>Why we did that?<p>During a YC meetup I spoke with a fellow founder that told me how hard it was to pick the right external APIs to use within your own projects. I realized that most of what we build relies on public APIs from external vendors, but there was no benchmark to help developers compare and evaluate public APIs before picking one. So we decided to do it ourselves. Say hi to apirank.dev.<p>Why is ranking public APIs hard? Automating Public API technical assessment is a tough problem. First, we needed to find all the public APIs and their specifications - mostly OpenAPI files.<p>We used several strategies to find those:<p>- Crawl API repositories like apis.guru<p>- Crawl Github for openapi.json and openapi.yaml files<p>- A cool google dork<p>Those strategies enabled us to gather around ~20.000 OpenAPI specs.<p>Then lies the hard part of the problem:<p>We want to dynamically evaluate those APIs&#x27; security, performance, and reliability.<p>But APIs take parameters that are tightly coupled to the underlying business logic.<p>A naive automated way would not work: putting random data in parameters would likely not pass the API&#x27;s validation layer, thus giving us little insight into the real API behavior.<p>Manually creating tests for each API is also not sustainable: it would take years for our 10-people team. We needed to do it in an automated way.<p>Fortunately, our main R&amp;D efforts at Escape aimed to generate legitimate traffic against any API efficently.<p>That&#x27;s how we developed Feedback-Driven API exploration, a new technique that quickly asses the underlying business logic of an API by analyzing responses and dependencies between requests. (see <a href="https:&#x2F;&#x2F;escape.tech&#x2F;blog&#x2F;feedback-driven-api-exploration&#x2F;">https:&#x2F;&#x2F;escape.tech&#x2F;blog&#x2F;feedback-driven-api-exploration&#x2F;</a>)<p>We originally developed this technology for advanced API security testing. But from there, it was super easy to also test the performance and the reliability of APIs.<p>How we ranked APIs?<p>Now that we have a scalable way to gather exciting data from public APIs, we need to find a way to rank them. And this ranking should be meaningful to developers when choosing their APIs.<p>We decided to rank APIs using the following five criteria:<p>- Security
- Performance
- Reliability
- Design
- Popularity<p>Security score is computed as a combination of the number of OWASP top 10 vulnerabilities, and the number of sensitive information leaks detected by our scanner<p>The performance score is derived from the median response time of the API, aka the P50<p>The reliability score is derived from the number of inconsistent server responses, either 500 errors or responses that are not conform with the specification<p>The Design score reflects the quality of the OpenAPI specification file. Having comments, examples, a license, and contact information improves this score<p>The popularity score is computed from the number of references to the API found online<p>If you are curious about your API&#x27;s performance, you can ask us to index your own api for free at <a href="https:&#x2F;&#x2F;apirank.dev&#x2F;submit" rel="nofollow">https:&#x2F;&#x2F;apirank.dev&#x2F;submit</a>
Upvote: