close
Scrapeman
Postman's paid features, free forever Built with humans, AI, and too much caffeine · By Scrape.do

The free API client with nothing behind a paywall.

Unlimited history, unlimited environment variables, unlimited collection runs, built-in load testing, a WebSocket client, pre and post-request scripts, and {{var}} autocomplete everywhere. Everything Postman locks behind $19 a seat, shipped free in an Electron app you can read on GitHub. Plus a first-class Scrape.do proxy mode for when you are hitting real-world sites.

GET http://api.scrape.do/?url=https%3A%2F%2Fhttpbin.co%2Fanything&token={{token}}
Requests
GET Repo details
POST OAuth2 token
GET List issues
PUT Update file
PROXY Scrape.do · JS render
200 OK 142ms · 8.4 KB
{
  "id": 904212041,
  "name": "scrapeman",
  "full_name": "scrape-do/scrapeman",
  "description": "The unlimited API client",
  "license": { "spdx_id": "Apache-2.0" },
  "stargazers_count": 1337,
  "open_issues": 0
}
Unlimited history No account required Git-friendly .sman YAML Apache 2.0 on GitHub
request history
env variables
collection runs
6
auth schemes
$0
forever

The features Postman charges for.
Plus one Postman does not have.

Scrapeman was built by Scrape.do to give every API developer Postman's paid features for free, with first-class proxy support on top. Every row below maps to a line on the Postman pricing page you have to pay for.

Postman paid, free here

Unlimited history

Every send writes to a local JSONL file, template-preserving so secrets stay as {{var}} on disk. Bodies above 256 bytes are gzipped. Postman caps free history at 25 requests. Scrapeman has no cap.

Nobody else ships this

Load runner with watched headers

Bounded concurrency, live p50/p95/p99 latency, status histogram, response validator. Track up to 10 response headers and see their value distribution per status code. CSV-driven iterations, save failed bodies for triage.

One file per request

Git-friendly .sman collections

One .sman YAML file per request with stable key order. Folder, collection, and global variables in their own YAML files. Merge conflicts look like real diffs, not JSON soup.

Scoped, with dynamics

{{var}} with autocomplete

Variables resolve across URL, headers, body, auth, proxy, and Scrape.do fields. Folder > collection > environment > global > built-in precedence. Dynamic built-ins like {{uuid}}, {{timestamp}}, and {{randomInt}} re-roll each send.

6 schemes, no paywall

Every auth scheme, free

Basic, Bearer, API Key, AWS SigV4, and OAuth 2.0 with client credentials, authorization code, and authorization code + PKCE. OIDC discovery autofills endpoints. JWT inspector with live exp countdown. Postman gates OAuth2 behind a paid plan.

First-class proxy

Native Scrape.do proxy

Flip one toggle to route through Scrape.do: residential rotation, JS rendering, geo targeting, ban retry. Plus 9 User-Agent presets, anti-bot signal detection, rotating proxy lists, and per-request rate limit.

WS + runner

WebSocket client + collection runner

Bidirectional WebSocket pane on every tab with timeline, ping latency, JSON expand, export. Run any folder sequentially or in parallel with CSV-driven iterations and JSON / CSV / HTML reports.

JS sandbox

Pre and post-request scripts

JavaScript runs before send and after response in a Node vm sandbox. The bru API reads and writes variables across scopes. test() / expect() assertions render in the Scripts response tab.

Built for scraping

Dev Tools, anti-bot, and TLS controls

Timing waterfall, sent headers, redirect chain, TLS cert info, remote IP. Anti-bot banner on Cloudflare, 429, CAPTCHA, and bot-block responses. Per-request TLS verification toggle for self-signed proxies and mitmproxy debug.

Build, send,
and load-test.

1

Build the request

URL bar with {{var}} autocomplete. Environment vars resolve across URL, headers, body, auth, and proxy. Params tab stays two-way synced with the query string.

2

Send with any config

Any auth scheme, any HTTP version, any proxy. Per-request timeouts, redirect, and TLS-verify toggles. Pre and post-request scripts when the flow needs JavaScript. Flip the Scrape.do toggle when you need residential rotation or JS rendering.

3

Replay, diff, or load-test

Every send writes to local JSONL history, template-preserving so {{token}} stays {{token}} on disk. Restore in one click, or run 1000 iterations through the load runner with a response validator.

response · 200 OK · 142ms
# Request
GET https://api.scrape.do/v1/scrape?url=...
# Auto-headers (Scrapeman managed)
Accept-Encoding: gzip, br, deflate
Content-Type: application/json
Authorization: Bearer ey••••••••
# Response (auto-decompressed)
✓ 200 OK · gzip → decoded · 8.4 KB
# Cookies saved
session_id = abc123f4 (persisted)
cf_clearance = x9k2m••• (persisted)
Ready

Vibe-coded by
humans and AI.

Every feature on this page was designed by a human engineer at Scrape.do and typed by Claude. The HTTP engine, the undici proxy wiring, the OAuth2 token refresh, the YAML serializer, the load runner, this landing page. All of it lives on GitHub under Apache 2.0.

Postman is a venture-backed company with offices in San Francisco and Bangalore. Bruno has a maintainer team. Scrapeman is a small Scrape.do crew guiding an LLM, shipping a feature a day because the tooling finally caught up.

Public

Public from commit one. No private fork, no delayed drop, no staging repo.

Reviewable

Each commit message names the human who reviewed the diff before it landed. The LLM does not merge itself.

Forkable

Apache 2.0. Copy the parts you like, rename the binary, ship your own. No CLA, no contributor gate, no trademark trap.

How Scrapeman stacks up

The Postman column reflects the free tier. Any feature locked behind a paid seat counts as unavailable.

Feature Scrapeman Postman Bruno Insomnia
Unlimited request history Yes No Yes No
Unlimited environment variables Yes No Yes Yes
Unlimited collection runs Yes No Yes No
Single-request load runner Yes No No No
Collection runner with CSV iterations Yes Yes Yes Yes
Git-friendly file format Yes No Yes No
Native Scrape.do proxy mode Yes No No No
HTTP/2 toggle (undici allowH2) Yes Yes No No
WebSocket client Yes No No Yes
OAuth2 all flows + PKCE + OIDC Yes No Yes Yes
AWS Signature v4 auth Yes No Yes Yes
Pre and post-request scripts Yes Yes Yes Yes
OpenAPI / Swagger import Yes Yes No Yes
Per-request TLS verify toggle Yes No Yes Yes
Local-first (no cloud sync) Yes No Yes No
Free forever Yes No Yes No
Open source Yes No Yes No

Grab the binary.
Keep it forever.

Pre-built installers for macOS, Windows, and Linux. Apache 2.0. Every release is on GitHub, ad-hoc signed, ready to run offline.

Or install on macOS with Homebrew

brew tap scrape-do/scrapeman && brew install --cask scrapeman

macOS 13.0+ (Apple Silicon + Intel) · Windows 10+ (x64) · Linux (AppImage + .deb, x64) · Free forever

Your data, your disk

Collections live as YAML in your chosen workspace folder. History, cookies, and state live in app data. Nothing ever leaves your machine.

No paywall, ever

Postman free caps history at 25 requests and locks OAuth2 behind $19 a seat. Scrapeman has no tiers because the whole thing is free.

Apache 2.0

The whole codebase is on GitHub under Apache 2.0. Read it, file an issue, or fork it. Trademarks excluded, everything else is yours.