Free to use · No paid tiers · No account limits

A full API client,
right in your browser.

Runnar is a free Postman alternative. Build and send requests, organise collections, and automate tests with JavaScript — without subscriptions or seat limits.

Get started free → See features
use.runnar.io
GETGet users POSTCreate user PUTUpdate user POSTLogin
GET
{{baseUrl}}/users?limit=10&page=1
Send
Params Headers Auth Tests
KeyValue
limit10
page1
pm.test("Status is 200", () => {
  pm.response.to.have.status(200);
});
pm.test("User has a name", () => {
  const b = pm.response.json(); pm.expect(b.name).to.be.a("string");
});
200 OK 142ms  ·  0.8 KB
Body Tests Console
{
  "id": 1,
  "name": "Alice Smith",
  "email": "alice@example.com",
  "role": "admin",
  "active": true
}
Status is 20012ms
Response is JSON1ms
User has a name1ms
Email is valid1ms
✓ 4 passed 0 failed  ·  4 total
GET {{baseUrl}}/users?limit=10&page=1
200 OK (142ms · 0.8 KB)
total: 2 users returned
pm.variables.set("firstUserId", 1)

Features

Everything you need,
nothing you don't

A complete API toolbox — request building, collections, environments, and scripting. All included, no upsells.

Request Builder
Build HTTP requests with full control. Set method, URL, query params, headers, request body, and auth in a clean, tab-based interface. Responses show status, timing, size, and prettified JSON.
GETPOSTPUT PATCHDELETEHEAD
Collections
Organise requests into collections. Set collection-level authentication, pre-request scripts, test scripts, and variables — every request inside inherits them automatically.
InheritanceVariablesAuth
Environments
Define variables like {{baseUrl}} or {{apiKey}} and switch between Development, Staging, and Production instantly. No more editing URLs by hand.
VariablesQuick switch
Collection Runner
Run an entire collection sequentially with multiple iterations and CSV data file support. Watch pass/fail tests execute in real time with a full summary at the end.
CSV data filesIterationsReal-time
Pre-request Scripts
Run JavaScript before any request fires. Generate dynamic values, set variables, build authentication tokens, or chain data between requests using the built-in pm API.
pm.variablespm.environment
Test Scripts
Write automated assertions that run after every response. Validate status codes, response bodies, headers, and timing. Results display inline, in the runner, and in the console.
pm.testpm.expectAssertions
🔑
Authentication
First-class support for Bearer tokens, Basic auth, and API keys — set once at the collection level or override per-request. Inheritable auth means you stop repeating yourself.
BearerBasicAPI Key
📥
Import from Postman
Already using Postman? Import your existing collections in v2.1 format and pick up right where you left off. Your requests, headers, scripts, and auth come with them.
Postman v2.1CollectionsScripts
Console & Debugging
A built-in console captures every console.log from your scripts alongside response data and test output — so you can debug without leaving the app.
console.logScript outputTest results

How it works

Up and running
in minutes

Sign up and start building right away — no setup, no configuration, no credit card.

1
Create an account
Sign up with your email, or use Microsoft or Google. Your workspace is ready instantly.
2
Build collections
Organise your requests into collections, set environments, and define variables like {{baseUrl}}.
3
Test & automate
Write test scripts, run your entire API suite with the Collection Runner, and iterate with CSV data files.

Scripting

A pm API you already know

Runnar's scripting uses a Postman-compatible pm object, so your existing scripts work out of the box.

Pre-request Scripts
Prepare each request before it fires
Run JavaScript before any request. Generate tokens, set dynamic timestamps, pull values from environments, or chain data from a previous response into the next request.
  • Set and get environment + collection variables
  • Generate dynamic values (timestamps, random IDs, UUIDs)
  • Build composite URLs or auth headers on the fly
  • Chain requests by saving response data as variables
  • Full console.log support — visible in the Console tab
Pre-request script
// Set a unique request ID
pm.variables.set("requestId", Date.now().toString());
 
// Pull baseUrl from the active environment
const base = pm.environment.get("baseUrl");
pm.variables.set("endpoint", base + "/users");
 
// Save a token from a prior request
const token = pm.variables.get("authToken");
console.log("Using token:", token);
Test Scripts
Assert, validate, and automate
Write tests that run after every response. Results appear inline in the request view, in the Collection Runner's live feed, and in the Console tab for debugging.
  • Assert status codes, response time, body content
  • Parse and traverse JSON with pm.response.json()
  • Pass/fail counts shown live in the Collection Runner
  • Save values for downstream requests
  • Chained test assertions using Chai-style expect
Test script
pm.test("Status is 200", () => {
  pm.response.to.have.status(200);
});
 
pm.test("User has a name", () => {
  const body = pm.response.json();
  pm.expect(body.name).to.be.a("string");
});
 
// Pass the ID to the next request
pm.variables.set("userId", body.id);
Collection Runner
Run your whole API in one click
Select a collection, configure iterations, and optionally load a CSV to drive data-driven runs. Watch each request execute in real time with live pass/fail counters.
  • Run all requests in a collection sequentially
  • Upload a CSV file to iterate over rows of test data
  • Configure delay between requests
  • Live pass/fail test results per request
  • Full summary panel when the run completes
▶ Collection Runner 3 requests · 2 iterations
GET /users 2/2 passed
POST /users 1/1 passed
DELETE /users/99 1/2 passed
✓ 5 passed ✗ 1 failed 6 total

Authentication

Sign in your way

Sign in with email, Microsoft, or Google — whichever works best for you.

Microsoft
Sign in with your Microsoft account in one click.
Google
Sign in with your Google account in one click.
Email & Password
Sign up with your email and a password. Quick and straightforward.

Pricing

Free.
That's the whole plan.

No tiers. No seat limits. No feature gates. Everything is included from day one.

£0
per month
Get started free →

Ready to get started?

Create your free account and be sending requests in minutes.

Create your free account → See all features