← Back to blog

API testing in 2026: what to check, how to start and which tools to choose

Most modern apps are an interface on top of an API. The Pay button in a mobile app, a filter in an online shop, signing in with Google: behind every action there is a request to a server. That is why API testing is no longer a job for automation engineers only. Manual testers check requests in Postman, watch the network in DevTools and find bugs before the UI is even ready.

This article explains what exactly to check in an API, how to build a checklist, which tools to start with and how to move from manual requests to automated tests, contract tests, mocks and load testing.

Quick pick

Task Start with Alternatives
Manual requests and collections Postman Bruno, Insomnia, Hoppscotch, Apidog
Requests from the terminal curl HTTPie, Hurl
Automated tests in CI Newman REST Assured, Karate, pytest, Supertest
Tests from the spec Schemathesis Spectral (linter)
Mocks and stubs WireMock Mockoon, Prism, Beeceptor
Contract tests Pact —
GraphQL and gRPC Altair GraphQL Client Kreya, grpcurl
Load Grafana k6 Apache JMeter, Gatling, Locust
Security ZAP Burp Suite

What an API is and the main types

An API (Application Programming Interface) is an agreement on how one program talks to another: which address to call, what to send and what comes back. Testers most often deal with:

What to check in an API

Each request has a method, URL, headers, parameters and body; each response has a status code, headers and body. Check all of them:

1. Status code. 200/201 for success, 400 for invalid data, 401 without authentication, 403 without permission, 404 for a missing resource, 409 for a conflict, 422 for validation errors. A 500 is almost always a bug: the server didn't handle the situation.

2. Response body. Are all fields present, are the types right (a number, not the string "42"), date formats, empty arrays instead of null, schema compliance.

3. Business logic. After a POST the resource really exists, after a DELETE it is gone, the order total is correct, changes show up in the UI and database.

4. Input validation. Empty and overly long values, negative numbers, special characters, emoji, extra and missing fields, wrong data types.

5. Authentication and permissions. Requests without a token, with an expired or someone else's token; can you get another user's data by changing the id in the URL?

6. Headers. Content-Type, caching, CORS, no internal details (server versions) leaking in responses.

7. Pagination, sorting and filters. First and last page, a page out of range, a huge limit, filter combinations.

8. Idempotency and retries. What happens if the same payment or order request is sent twice?

9. Error messages. Clear for the client, consistent in format and without stack traces.

10. Speed. Response time for key requests and behaviour under load.

Data generators help with boundary values and unusual characters: Mockaroo creates a set of realistic test records, and Faker.js generates data right in test code.

Manual API testing: where to start

Start with two things: the Network tab in browser DevTools and an API client.

DevTools shows which requests the web UI sends: open the Network tab, do something on the site and inspect the request and response. Any request can be copied "as cURL" and pasted into an API client or a bug report, so a developer can reproduce the problem with one command.

API clients:

You will need the terminal too: curl is on almost every computer and server, while HTTPie has simpler syntax and formats JSON nicely.

Check a response for syntax errors in JSONLint, and use httpbin to see exactly what your client sent to the server.

Intercepting traffic: mobile and desktop app APIs

A mobile app has no DevTools, so traffic is captured through a proxy: the phone sends requests through your computer and you see every request and response.

A checklist for one endpoint

Take POST /api/orders, which creates an order:

Keep such a checklist in a test management tool such as Qase or TestRail, and log bugs in Jira with the curl command and the server response.

Automating API tests

API tests are the most cost-effective automation: they are fast, stable and don't break when the layout changes. Options depend on the team's language:

To run tests on every code change, plug them into GitHub Actions or Jenkins and collect results in Allure Report.

Tests written by the spec

If the API has an OpenAPI description, tools can do part of the work:

Mocks, stubs and test environments

Often the service you need isn't ready yet, costs money or is unstable (a payment provider, a delivery service). Then you replace it with a stub:

Contract testing

In a system with dozens of microservices, end-to-end tests become slow and brittle. Contract tests check something else: that the client and the service understand the API the same way. Pact records the client's expectations (which requests it sends and which responses it expects) and verifies that the service meets them, without deploying the whole system. That way a change in one service won't silently break another.

GraphQL and gRPC

Load and performance

An API that answers one tester quickly may fall over under a thousand users. To check:

Start simple: how do response time and error rate change as concurrent users grow from 10 to 100? More in Load testing.

API security

Typical API vulnerabilities are listed in the OWASP API Security Top 10: access to other users' objects by changing an id, weak authentication, overly verbose responses, no rate limiting. A manual tester can check the basics: requests without a token, with someone else's token, with extra fields (for example "role": "admin" in a profile update request).

For deeper checks there is ZAP (a free open-source scanner) and Burp Suite. Only test the security of systems you have permission to test. More in Security testing.

Where to practise

Free test APIs you can send requests to without worrying:

More in the article Practice sites for testers and the Practice Sites for Testers subcategory.

A two-week plan

Days What to do Where
1–2 HTTP methods, status codes, headers; requests in DevTools and curl httpbin, ReqRes
3–5 A Postman collection: environment variables, a CRUD scenario, tests for codes and fields Restful-Booker, GoRest
6–8 A checklist and negative tests for 3–5 endpoints, bug reports with curl commands Practice Software Testing
9–10 Run the collection with Newman and in GitHub Actions Newman, GitHub Actions
11–12 First automated tests in your language: REST Assured, pytest or Supertest Swagger Petstore
13–14 A mock server and a simple load test Mockoon, Grafana k6

The result is a Postman collection and a repository of automated tests you can show in your portfolio.

AI in API testing

AI assistants handle the routine well: from an OpenAPI spec they suggest checks and negative scenarios, generate test data and scaffold automated tests. Postman has built-in AI features, and GitHub Copilot, Cursor or Claude Code can write REST Assured or pytest tests from a description. But reread every generated test: AI easily writes an assertion that always passes, even when the API is broken.

For other kinds of testing, read Manual testing tools and Test automation tools. All tools from this article are in the Testing and API subcategories.

FAQ

Do I need to code to test APIs?

No, Postman and an understanding of HTTP are enough to start. You will need code when you automate checks, but even then you can begin with Postman tests and Newman.

Postman or Bruno?

Postman is the market standard with the most learning materials. Bruno is handier when the team wants collections in Git next to the code and no cloud account.

How do API tests differ from UI tests?

API tests check logic and data directly, without the UI, so they are faster and more stable. UI tests check what the user sees and can do. A good strategy has more API tests than UI tests.

Is it safe to send requests to test APIs?

Yes, that's what they are for. But don't enter real personal data or passwords there, as other users may see them.

Not sure where to start?

Ask Elya: she will pick API testing tools for your project and programming language.

Fact-check date: 4 November 2026. Service terms may change, so check them on the official websites.