Send API requests and serve local mocks from one terminal.
The demo is captured from the real CLI using synthetic data. Transcript · regenerate with python3 scripts/demo.py.
Keep an API request collection and its local mock routes in one JSON file. Send requests, replay a collection, or serve the same file locally without a project account or runtime dependencies.
| Start with | Good for | Where httpeek helps |
|---|---|---|
| One-off HTTP requests | Inspect a single response | httpeek also stores reusable JSON collections. |
| A separate mock server | Simulate an API locally | httpeek keeps request and mock definitions in one file. |
git clone https://github.com/LucasXlab/httpeek.git && cd httpeek
python3 -m pip install .
python3 scripts/demo.pyInstall from this checkout to use the reviewed source version. The installed tool has no third-party runtime dependencies; cloning and installation can require network access.
GET/POST and other methods, headers, query parameters, JSON bodies and multipart forms.
Save requests, import a subset of curl syntax, and run collections from a versionable JSON file.
Serve fixture responses on loopback. These are intentionally simulated API responses, not a live upstream service.
Replay local history, export curl commands and load/save JSON cookie jars.
httpeek init collection.json
httpeek mock collection.json --port 8080
# In another terminal:
httpeek get http://127.0.0.1:8080/hello --no-history
httpeek get https://example.com --to-curl
httpeek history
httpeek run collection.jsonflowchart LR
A[CLI / JSON collection] --> B[HTTP request client]
B --> C[Selected HTTP endpoint]
A --> D[Loopback mock server]
D --> E[Fixture responses]
B --> F[Local history / cookie files]
HTTP requests send data to the URL you choose. History stores URLs, headers and text bodies locally by default, including possible credentials; use --no-history for sensitive requests and httpeek history --clear to remove history. Cookie jars and collections can contain secrets: never commit them. The optional ai command sends your prompt to its configured Ollama endpoint. See PRIVACY.md for data boundaries.
python3 -m unittest discover -s tests -vThe demo uses a temporary fixture and does not inspect your personal repositories or agent homes.
- Improve curl-import coverage and validation.
- Add sensitive-field controls for request history.
Read CONTRIBUTING.md. Report reproducible problems in Issues. Follow SECURITY.md for sensitive reports.
MIT.

