Test any HTTP endpoint under load

HTTP Load Testing

Send thousands of HTTP requests to any endpoint and measure response times, throughput, and error rates. Full support for all HTTP methods, custom headers, cookies, and request bodies.
All HTTP methods: GET, POST, PUT, DELETE, PATCH
Custom headers, cookies, and authentication
JSON, form-data, and binary payloads
Response validation with checks
Configurable think time between requests
Live per-second charts for every run
http-test.js
import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = { vus: 50, duration: '3m' };

const BASE_URL = 'https://api.example.com';

export default function () {
  // GET request
  const list = http.get(`${BASE_URL}/items`);
  check(list, { 'list ok': (r) => r.status === 200 });

  // POST request with JSON body
  const created = http.post(`${BASE_URL}/items`, 
    JSON.stringify({ name: 'Test Item' }),
    { headers: { 'Content-Type': 'application/json' } }
  );
  check(created, { 'created': (r) => r.status === 201 });
  
  sleep(1);
}

Frequently asked questions

Related guides

API Load Testing
Load test REST and GraphQL APIs at a fixed request rate, with per-second latency and error charts.
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.

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