For a load testing tool for APIs, the strongest matches are loadimpact/k6 (k6 is a developer-centric, scriptable load testing tool that), artilleryio/artillery (Artillery is a full-featured Node) and joedog/siege (Siege is an HTTP benchmarking and load testing tool). gatling/gatling and apache/jmeter round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Performance testing utilities designed to stress test API endpoints and identify maximum system capacity limits.
k6 is a developer-centric load testing suite and command-line load generator designed for network performance validation. It functions as a JavaScript load testing tool that utilizes a Go-based runtime engine to simulate concurrent user traffic and validate API responses across HTTP, gRPC, and WebSockets. The project distinguishes itself by using code rather than a graphical interface to define workload scenarios and performance thresholds. It features a pluggable protocol architecture and an extension ecosystem that allows for the addition of custom protocols and specialized testing capabili
k6 is a developer-centric, scriptable load testing tool that supports HTTP, gRPC, and WebSockets, with configurable concurrency, real-time metrics, and CI/CD integration — making it a comprehensive answer for API stress testing.
Artillery is a Node.js load testing tool and performance testing framework used to generate high-volume synthetic traffic. It functions as a distributed load generator capable of spawning traffic from cloud infrastructure and Kubernetes clusters to simulate massive user loads. The project distinguishes itself through its ability to execute browser-based load tests using headless browsers to measure client-side rendering and real user journeys. It also serves as a protocol testing framework that validates multiple communication standards and real-time protocols through complex, multi-step tran
Artillery is a full-featured Node.js load testing framework that generates high-volume synthetic traffic, supports HTTP/HTTPS, distributed load generation from cloud/Kubernetes, real-time metrics, scriptable scenarios, and CI/CD integration, hitting all the key capabilities needed for API stress testing.
Siege is an HTTP benchmarking utility and load testing tool used to analyze transaction rates and response times. It functions as a stress testing tool that pushes web servers to their limits to determine maximum sustainable load and failure points, while also serving as a performance analyzer for encrypted HTTPS connections. The tool distinguishes itself by simulating human browsing behavior through the use of random delays between requests and local management of cookies and authentication headers. This allows for more realistic user simulation and the assessment of server stability under c
Siege is an HTTP benchmarking and load testing tool that pushes web servers to their limits with realistic user simulation, making it suitable for HTTP/HTTPS API stress testing, but it lacks distributed load generation, real-time metrics, and advanced scripting, covering only some of the requested features.
Gatling is a load testing framework and traffic generation engine used to measure response times and error rates under heavy load. It functions as an as-code testing library, allowing users to define high-volume traffic simulations and performance tests through programming languages rather than graphical interfaces. The system enables multi-language load simulation and the ability to model concurrent user traffic to identify infrastructure bottlenecks and stability limits. It supports a test-as-code workflow, where version-controlled scripts are integrated into build pipelines as performance
Gatling is a load testing framework with an as-code DSL that directly supports HTTP/HTTPS APIs, configurable concurrency and ramp-up, real-time dashboards, scriptable scenarios, distributed load generation, and CI/CD integration—matching every feature you're looking for.
Apache JMeter is a Java-based performance testing tool and multi-protocol traffic simulator used to analyze the stability and scalability of servers and networks. It functions as a distributed load testing framework that coordinates remote worker nodes from a single controller to generate high volumes of concurrent traffic. The project is distinguished by its ability to simulate traffic across diverse backend systems, including HTTP, JDBC, LDAP, JMS, FTP, and TCP. It provides a headless command-line interface for automated execution and a reporting system that transforms raw sample logs into
Apache JMeter is a mature distributed load testing framework that supports HTTP/HTTPS, configurable concurrency and ramp-up via thread groups, real-time reporting, scriptable test plans, distributed generation, and headless CLI integration, making it a comprehensive flagship tool for API load/stress testing.
Locust is a distributed performance testing framework that allows users to define complex system stress scenarios using standard Python code. By modeling concurrent users as classes with weighted tasks and lifecycle hooks, it enables the simulation of realistic user behavior across large-scale environments. The tool functions as a scalable load generator capable of orchestrating traffic across multiple worker nodes to measure system stability and responsiveness under heavy, real-world conditions. The framework is distinguished by its protocol-agnostic architecture, which supports diverse comm
Locust is a mature, open-source distributed load testing framework that lets you script realistic user behavior in Python, supports configurable concurrency and ramp-up, provides real-time metrics and a web UI, and scales across multiple worker nodes for distributed generation—making it a perfect fit for API stress testing.
Vegeta is an HTTP load testing tool and library designed to measure the performance and stability of web services. It functions as a command-line utility, a programmable package for integration into other applications, and a distributed load generator capable of splitting request rates across multiple machines. The tool is distinguished by its constant-rate request scheduler, which dispatches requests at a fixed frequency regardless of target response times. It employs lazy target streaming to maintain low memory usage during large tests and uses a binary-encoded storage format to minimize di
Vegeta is a purpose-built HTTP load testing tool offering a CLI, library, and distributed mode with configurable rates, real-time metrics, and CI-friendly integration, squarely covering API stress testing needs even though ramp-up is handled via scripting rather than built-in.
k6 is a performance testing framework used to measure the scalability and stability of network services and APIs. It functions as a JavaScript load testing tool that uses a Go engine to simulate concurrent user traffic. The tool enables the enforcement of service level objectives by comparing response time percentiles against quantitative performance thresholds. It also operates as a performance regression tool for continuous integration pipelines and a browser performance testing tool that executes scripts within a bundled headless browser instance. Its capabilities cover workload scenario
k6 is a full-featured open-source load testing framework that directly meets your needs—it scripts HTTP/HTTPS API scenarios in JavaScript, supports configurable concurrency and ramp-up, provides real-time metrics, enables distributed load generation, and integrates into CI/CD pipelines, making it ideal for finding an API’s breaking point.
Anteon is a distributed load testing platform and automated performance testing suite designed to simulate high-traffic user scenarios and measure system performance across multiple global locations. It functions as an infrastructure anomaly detector and a service dependency mapper, providing a performance monitoring dashboard to track real-time resource usage across cluster instances. The project distinguishes itself by combining distributed traffic generation with service dependency mapping to identify system bottlenecks through network-level tracing. It incorporates an automated validation
Anteon is a distributed load testing and performance testing platform that simulates high-traffic user scenarios, supports HTTP/HTTPS APIs, provides real-time monitoring, and features distributed load generation, aligning well with the need for an API load/stress testing tool.
oha is a command line HTTP load testing and benchmarking utility. It functions as a latency analysis tool and performance monitor, sending high volumes of requests to web servers to measure stability and identify performance bottlenecks. The tool features a terminal user interface that displays real-time latency statistics and request animations during active tests. It includes a mechanism to correct for coordinated omission, ensuring that response time percentiles and latency distributions are reported accurately. Its capabilities cover HTTP load generation, traffic simulation via randomize
oha is a command-line HTTP load testing utility that measures latency and stability under high request volumes, fitting the search for an API stress testing tool — though it lacks the scriptable scenarios and distributed load generation found in more comprehensive solutions.
Bombardier is a concurrent HTTP load generator and performance benchmarking tool written in Go. It functions as a latency distribution analyzer and benchmarking utility designed to measure the throughput and response speed of HTTP services by simulating high-volume request loads. The tool provides specific capabilities for TLS benchmarking, supporting client certificate authentication and the ability to bypass server certificate verification. It distinguishes itself through the use of a token-bucket algorithm for precise request rate limiting and the use of templates to export benchmark resul
Bombardier is a focused CLI load generator that measures HTTP throughput and latency with configurable rate limiting and real-time metrics, fitting the core need for API load testing, though it lacks distributed load generation and scriptable scenarios.
This project is a command-line HTTP load testing tool designed to measure the throughput and latency of web servers under high-concurrency conditions. It functions as a multi-threaded benchmarking engine that simulates thousands of simultaneous connections to evaluate server performance, identify bottlenecks, and determine capacity limits. The tool distinguishes itself through a shared-nothing thread architecture that isolates state within individual threads to eliminate lock contention during high-frequency request generation. It utilizes a non-blocking event loop and low-latency socket poll
wg/wrk is a command-line HTTP load testing tool that measures throughput and latency under high concurrency, fitting the core need for API load/stress testing, though it lacks distributed load generation and built-in CI/CD integration.
Fortio is a performance testing tool written in Go that generates constant request rates to measure latency histograms and response percentiles. It functions as a network performance benchmarker for analyzing system performance across HTTP and gRPC endpoints, and includes a specialized HTTP echo server for mirroring requests. The project distinguishes itself through a web-based HTTP load testing API used for triggering asynchronous tests and visualizing result data through graphs. It also provides server behavior simulation, allowing the echo server to inject artificial delays and vary respon
Fortio is a Golang load testing tool that supports HTTP/HTTPS (and gRPC) with configurable QPS and detailed latency histograms, making it a solid match for the core API load-testing need, though it lacks built-in distributed load generation and scriptable scenarios.
Load and performance benchmark tool
Yandex.Tank is a dedicated load and performance benchmarking tool, which is exactly the kind of tool this search targets, though the provided evidence does not explicitly confirm features like CI/CD integration or distributed load generation.
The httperf HTTP load generator
httperf is an HTTP load generator that simulates concurrent requests and measures performance, making it a genuine API stress-testing tool, though its feature set is minimal with no scriptable scenarios, distributed load, or built-in CI/CD integrations.
This project is a performance benchmarking framework and network protocol stress tester designed to evaluate system stability under high-concurrency conditions. It functions as a command-line utility that simulates massive volumes of simultaneous requests to identify infrastructure bottlenecks and verify service reliability. The tool distinguishes itself through its protocol-agnostic orchestration, which allows for load testing across diverse standards including HTTP, WebSocket, gRPC, and Radius. It supports complex request configurations, enabling users to inject custom headers, binary data,
go-stress-testing is a Go-based stress testing tool for APIs, comparable to tools like ab and Jmeter, making it a genuine fit for load testing, though it likely lacks distributed generation and advanced reporting.
Hey is a command-line utility designed for HTTP load testing and API performance benchmarking. It functions as a concurrent request generator that simulates high volumes of traffic against target endpoints to evaluate service responsiveness, throughput, and stability under load. The tool distinguishes itself by integrating specialized modules for cryptographic request signing and internal service authorization. It supports the generation of digital signatures for decentralized social protocols and validates backend requests using shared secret tokens, allowing for secure interaction with prot
Hey is a command-line HTTP load testing and performance benchmarking tool that directly fits the search for an open-source API load/stress testing utility, though it lacks scriptable scenarios and distributed load generation.
This project is a command-line utility designed for HTTP load testing and network stress testing. It functions as a benchmarking tool that generates high volumes of concurrent traffic to evaluate the performance, reliability, and throughput capacity of web applications and APIs under sustained load. The tool allows for precise control over traffic generation by enabling users to configure request parameters, including custom headers, authentication credentials, and specific HTTP methods. It manages load through a worker-pool system that regulates request frequency, allowing for both time-boun
Hey is a command-line HTTP load testing tool that generates concurrent traffic with configurable concurrency and real-time metrics like latency histograms, making it a genuine API load testing tool, though it lacks native scriptable scenarios, distributed generation, and dedicated CI/CD integration.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| loadimpact/k6 | 30.9K | Go | AGPL-3.0 | |
| artilleryio/artillery | 9K | JavaScript | MPL-2.0 | |
| joedog/siege | 6.2K | C | GPL-3.0 | |
| gatling/gatling | 6.9K | Scala | Apache-2.0 | |
| apache/jmeter | 9.2K | Java | apache-2.0 | |
| locustio/locust | 27.5K | Python | mit | |
| tsenart/vegeta | 25.1K | Go | MIT | |
| grafana/k6 | 30.9K | Go | AGPL-3.0 | |
| getanteon/anteon | 8.5K | Go | AGPL-3.0 | |
| hatoo/oha | 10.3K | Rust | MIT |