Plain-text HTTP requests
eshttp
Free and open-source HTTP workflows
Free, open-source HTTP client for plain-text .http workflows.
eshttp helps API teams write and run HTTP requests from .http files, layer environment variables, and keep desktop and CLI workflows aligned with git. It is free, open source, and built for developers who want API tooling that lives in the repo instead of a closed request database.
Free and open source
Terminal and desktop workflow

Global CLI
Install once. Run with eshttp.
GET https://{{API_HOST}}/users?limit=25&cursor={{CURSOR}}Authorization: Bearer {{TOKEN}}X-Trace-Mode: previewActive env
production
Resolved host
api.eshttp.dev
$eshttp run users/list.http --env production
Free and open-source tooling for API teams
A git-friendly HTTP client for developers who prefer readable requests over siloed tabs.
01
Free and Open Source
Use a free open-source HTTP client that keeps your API workflow visible in GitHub, code review, and normal repositories.
02
Plain-Text .http Requests
Store HTTP requests in .http files that stay readable, diff-friendly, and easy to maintain next to the services they exercise.
03
Layered Environment Variables
Merge workspace and collection env files without inventing a second configuration system for local, staging, and production APIs.
04
Desktop App and CLI
Run requests from the terminal or open the desktop app when you want a visual editor for the same git-backed source of truth.
Typical flow
Keep HTTP request definitions close to the code and environment files that own them.
eshttp fits teams that want source-controlled API requests, explicit environment files, and a lighter mental model than a giant shared request database.
Write
Write an HTTP request once in a plain-text .http file and keep it close to the code or service it belongs to.
Resolve
Resolve layered environment variables from workspace and collection files before you send a real API request.
Run
Run requests with the eshttp CLI or open the free desktop app when you want a visual editing and inspection loop.
.env.defaultAPI_HOST=api.eshttp.devTOKEN=replace-meCURSOR= users.httpGET https://{{API_HOST}}/usersAuthorization: Bearer {{TOKEN}}Why it works
Request files, env files, and collections all stay legible in code review. The app becomes a better editor for the same source of truth instead of a separate storage layer.
Install globally
npm install -g @eshttp/cliReady to switch?
Start with a free open-source HTTP client that keeps your requests in the repo.
Open the app, install the CLI, or review the source on GitHub. eshttp keeps HTTP requests, environment variables, and API workflow history in plain text.