Browser vs API vs Hybrid load testing
Compare Browser, API, and Hybrid load tests on BrowserStack to pick the test type that matches what you want to measure.
BrowserStack Load Testing supports three test types: Browser, API, and Hybrid. Each type generates load through virtual users (VUs) in a different way and reports different metrics. Choose a test type based on your measuring criteria, frontend, backend, or both. For an overview of how Load Testing works, see What is BrowserStack Load Testing.
BrowserStack recommends using Hybrid load testing for most of your applications. It measures what users experience while your backend handles realistic traffic, and runs most of the load through lower-cost API VUs.
Compare the test types
The following table shows how the three test types differ. API load testing is also called protocol load testing.
| Aspect | Browser | API | Hybrid |
|---|---|---|---|
| Load generating factors | Real browsers that run your UI test scripts | Requests sent directly to your backend endpoints | Browser VUs and API VUs in the same test |
| Measurement parameters | Page load time, Core Web Vitals, network activity, and test steps | Response times, throughput, error rates, and assertions | Frontend and backend metrics from the same run |
| Supported frameworks | Playwright, Selenium Java, Selenium Python, Selenium Jest, WebdriverIO, Nightwatch | JMeter, k6, Gatling, Locust, API collections | A browser framework combined with JMeter or k6 |
| Relative VU hours cost | Higher, because each VU runs a real browser | Lower | Depends on your split between API and Browser VUs |
When to choose each test type
Use the following table to match a test type to your performance goal:
| Select | If you want to |
|---|---|
| Browser | - Measure page load time, Core Web Vitals, or user journey duration. - Test a single-page app (SPA) or client-rendered app, where backend response times don’t show real performance. |
| API | - Validate throughput, latency, and error rates for APIs or microservices at high concurrency. - Test against a request rate target, such as requests per second (RPS). |
| Hybrid | - Reproduce an issue that appears only when the whole system is under load. - Get most of the load from lower-cost API VUs, with a few Browser VUs to measure what users see. |
What’s next
- Get started with Browser load testing
- Get started with API load testing
- Get started with Hybrid load testing
- Learn how VU hours are calculated
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
Thank you for your valuable feedback!