Test your APIs under realistic traffic conditions

API Load Testing

Simulate hundreds of concurrent API requests to find bottlenecks before your users do. Every run is a k6 script generated from your plan, so REST and GraphQL over HTTP use the same engine.
Test REST, GraphQL, WebSocket, and gRPC APIs
Open-model arrival rate: a fixed request rate, whatever the response time
Real-time response time and error rate monitoring
Custom headers, authentication, and payloads
JavaScript-based test scripting with k6
Detailed percentile breakdowns (p50, p95, p99)
api-load-test.js
import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
  vus: 100,
  duration: '2m',
};

export default function () {
  const res = http.get('https://api.example.com/users');
  check(res, {
    'status is 200': (r) => r.status === 200,
    'response time < 500ms': (r) => r.timings.duration < 500,
  });
  sleep(1);
}

Frequently asked questions

Related guides

REST API Benchmarking
Benchmark your REST API performance with precise p50, p95, p99 latency metrics. Compare endpoints and track regressions over time.
GraphQL Load Testing
Load test your GraphQL API with realistic queries and mutations. Measure resolver performance and find N+1 query bottlenecks.
WebSocket Load Testing
Load test WebSocket servers with hundreds of concurrent connections. Validate message throughput, latency, and connection stability.

Run this as a plan

Put the scenario in your app's Config/load-plan.json and run it from the narduk-app CLI.
loadtest.dev — Part of the Narduk Enterprises network