a http client with browser tls impersonation, zero bloat, and zero telemetry.
postman got slow, bloated, and started demanding cloud logins. insomnia went down the same path. other tools either look like they were designed in 2004 or get instantly blocked by cloudflare and datadome the moment you send a single test request.
request zero is an offline-first, dark-themed api development tool built for people who just want to send requests without the noise. it pairs an electron + react 19 interface with a local python fastapi engine powered by curl_cffi, allowing you to impersonate real browser tls/ja3/ja4 and http/2 fingerprints directly from your workspace.
no accounts. no cloud sync. no telemetry. no nonsense.
need help, got a feature idea, found a bug, or just want to chill? jump into the discord server or check my lanyard status.
- discord server: discord.gg/cse
- developer: ryze (
snipe1337) - discord user id:
1420036436505268244
the app itself also includes an interactive lanyard badge right inside the custom titlebar. it connects live to lanyard so you can see if i'm online, what game or ide i'm running, and what track is currently playing on spotify while you test your endpoints.
- curl_cffi integration: switch transports on the fly right from the url bar. choose between conventional
requestsand stealthcurl_cffi. - ja3 / ja4 & http/2 fingerprint spoofing: bypass bot detection, wafs, and anti-scraping systems like cloudflare, akamai, datadome, and perimeterx.
- browser profiles:
- chrome (desktop & android)
- safari (macos & ios)
- edge
- firefox
- tor browser
- tls toggle: disable ssl certificate validation when debugging self-signed local services.
- redirection control: toggle automatic 3xx redirect following on or off.
- proxy support: configure http and https forward proxies with custom authentication.
- methods: full support for
get,post,put,patch,delete,head, andoptions. - url query sync: two-way real-time synchronization between the url input string and the params table.
- custom headers & cookies: clean key-value table editor with bulk enable/disable checkboxes.
- authentication types:
- none
- basic auth (username & password)
- bearer token
- api key (configurable in header or query param)
- payload bodies:
- none
- raw text
- json (monaco editor with syntax highlighting and auto-beautify)
- form urlencoded (
application/x-www-form-urlencoded) - multipart form data
- xml
- binary (base64)
- instant metrics: accurate status badge, response latency (ms), and payload size (b / kb / mb).
- multiple view modes:
- pretty: formatted and colorized code view powered by monaco.
- raw: unparsed response string as received over the wire.
- preview: sandboxed html renderer for visualizing returned web pages.
- tree: interactive, collapsible json tree explorer.
- search: quick search bar to filter response body lines instantly.
- quick copy drawer: copy formatted json, raw body, headers as json, or the complete response structure with one click.
- detailed headers & cookies view: split breakdown of all response headers and set-cookie directives.
- hierarchical sidebar: create custom collections, group requests into folders, rename, delete, and duplicate.
- multi-workspace support: separate your projects into dedicated workspaces with distinct collections and settings.
- persistent local storage: saved in a local sqlite database (
~/.request_zero/data.db). zero cloud reliance. - automatic history: every sent request is automatically logged with timestamp, duration, status, and payload. re-run previous requests anytime.
- multiple environments: create dev, staging, production, or custom variable sets.
- dynamic interpolation: use
{{variable_name}}syntax across urls, query parameters, headers, auth tokens, and request bodies. - environment manager: quick modal to inspect, add, toggle, and delete active variables.
- code generation: export any configured request into clean code:
- python (
requests) - python (
curl_cffiwith matching impersonation profile) - curl for posix bash
- curl for powershell
- curl for windows cmd
- python (
- curl importer: paste any raw
curlsnippet from devtools or terminal to instantly parse method, headers, auth, params, and body into the ui.
- tabbed navigation allows you to work on multiple requests simultaneously without losing state.
- dirty indicator keeps track of unsaved changes.
- frontend:
- electron
- react 19
- vite
- tailwindcss v4
- framer-motion (smooth micro-animations)
- zustand (state management)
- monaco editor (syntax highlighting & code editing)
- lucide-react (icons)
- backend:
- python (fastapi & uvicorn)
- curl_cffi (tls impersonation)
- requests (standard transport)
- sqlite3 (local database)
- pydantic v2 (validation & models)
- packaging:
- embedded standalone python runtime (users don't need python installed)
- electron-builder (produces nsis installer and portable windows executable)
request-zero/
├── backend/
│ ├── main.py # backend bootstrap script
│ ├── pyproject.toml # python dependencies
│ ├── requirements.txt # backend packages
│ ├── setup_embed_python.py # pulls standalone embeddable python runtime
│ └── request_zero/
│ ├── api/ # fastapi server routes & token auth
│ ├── collections/ # collection management logic
│ ├── environments/ # environment variable interpolation
│ ├── models/ # pydantic data schemas
│ ├── parsers/ # curl parser and code generator
│ ├── services/ # request execution engine
│ ├── storage/ # sqlite database layer
│ └── transports/ # curl_cffi & requests transport handlers
├── frontend/
│ ├── electron/ # electron main process & ipc bridge
│ ├── src/
│ │ ├── components/ # url bar, editor, response inspector, lanyard badge, etc.
│ │ ├── services/ # backend api client
│ │ ├── stores/ # zustand state stores
│ │ └── types/ # typescript interfaces
│ ├── package.json # frontend dependencies & build scripts
│ └── vite.config.ts # vite configuration
├── build.bat # automated one-click release bundler
└── start.bat # development mode launcher
clone the repo and launch the dev environment:
# option 1: double click start.bat
.\start.bat
# option 2: manual start
cd frontend
npm install
npm run devthis will spin up vite on localhost:5173, initialize the backend, and launch electron in development mode with hot-reloading.
to produce a standalone installer and a portable windows executable:
# run the release script
.\build.batwhat this does under the hood:
- clears previous build artifacts.
- verifies or automatically downloads the isolated embedded python runtime to
backend/runtime/. - installs frontend dependencies via
npm. - compiles the vite client bundle and electron typescript files.
- packages everything into
build/usingelectron-builder(both nsis installer and portable exe).
- discord server: https://discord.gg/cse
- developer: ryze (
snipe1337) - discord user id:
1420036436505268244 - feel free to open issues, request features, or drop by the discord to say hi.
mit license. do whatever you want with it, just keep it chill.