Desktop HTTP client
Simple HTTP client for builders.
RawRequest is an HTTP client with folding, linting, scripts, secrets, and portable history.
# Environments
@env.dev.baseUrl = http://localhost:3000
@env.prod.baseUrl https://api.example.com
# Globals (optional)
@contentType = application/json
### Login
@name login
@timeout 15000
POST {{baseUrl}}/auth/login
Content-Type: {{contentType}}
{
"email": "dev@rawrequest.dev",
"password": "{{secret:password}}"
}
> {
assert(response.status === 200, `Expected 200, got ${response.status}`);
setVar('token', response.json.token);
}
### Get Profile
@depends login
GET {{baseUrl}}/profile
Authorization: Bearer {{token}}
Accept: application/json
Built for builders
Focused features for day-to-day API work.
Code-first editor
CodeMirror 6 with search, folding, linting, and variable diagnostics that match your current file + env.
Secrets & envs
Use {{secret:key}} placeholders and environment variables without sprinkling secrets into request files.
Portable history
History and responses live beside your .http file (or working directory for unsaved files). Predictable, reviewable.
Scripts & chaining
Pre/post scripts (goja) with setVar/getVar, request patching, and simple assertions via assert(...).
A workflow that sticks
Keep requests and scripts in text, keep outputs nearby, and ship changes with confidence.
Author .http files
Organize requests with ### separators, env placeholders, and scripts. Run any request instantly.
Wire secrets + envs
Use the vault + per-environment vars; lint catches missing placeholders before you hit “send”.
Keep history nearby
Responses and history sit beside your file (or your run location for unsaved work).
Ready to send better requests?
Grab the latest release and stay in flow. macOS & Windows supported.