Why an API pentest is not a web app pentest
Most security tooling was built for websites. A crawler follows links, renders a page, submits a form and looks for reflected input. An API has no links to follow and no page to render. It has endpoints, parameters, tokens and a contract, and the only way to reach most of it is to already hold a valid credential. Cloudflare reported in its 2024 API security and management report that "well over half of the dynamic traffic" on its network is API traffic rather than web pages. For a modern SaaS product the API is not a side door. It is the product, and the web app is one of several clients calling it.
Four differences change how the testing has to be done:
- There is no client left to trust. A web app can hide a button. An API cannot hide an endpoint. Anything your single page app or mobile app can call, someone holding an ordinary paid account can call directly, in any order, with any values, without ever loading your interface.
- Authorization is decided per object, not per page. A web app protects a route once. An API has to make a fresh decision for every record the caller asks for. That decision is easy to omit in code, and the omission is invisible in the response until somebody tries another customer's identifier.
- Coverage is capped by inventory. A scanner tests the endpoints it is given, and it is given the specification. Older versions still running, internal routes exposed by a broad ingress rule, and the endpoint a developer shipped last sprint without updating the spec are not in that file, so they are not tested unless a person goes looking.
- The expensive bugs are semantic. Injection and misconfiguration are still worth testing and we test them, but the findings that cost money on a SaaS API are authorization, sequence and business flow bugs. A tool does not know that your refund endpoint should be unreachable before your payment endpoint, because only your team knows what the flow is supposed to be.
So our API engagements are run by people, with tooling used for coverage and speed rather than for judgement. Rathnakara GN, Co-founder and Chief Hacking Officer (OSCP, M.Sc Cyber Security), leads the testing on every engagement. Abhinay owns pentest delivery, Theertha's team runs L1 coverage during the test and owns the retest, and Ashok Kamat, Co-founder and CEO (CCIO), handles scoping, reporting and compliance mapping. Team certifications across the practice include CISSP, CEH, CREST and ISO 27001 Lead Auditor. Both founders stay hands-on throughout, which is the point of hiring a small firm rather than a platform. Most of the API work we take on is for AI-first and API-first SaaS startups, where the API is the whole product and the person hiring us is a founder, a head of engineering or a first security hire rather than a security department.