CLI API testing for developers & AI agents

API requests in one file you can read.

Make agents run cURLs better without the JSON mess. autocurl discovers routes in your backend code, writes them to a readable .autocurl file, and runs any request from the terminal.

curl -fsSL https://autocurl.lol/install.sh | sh
autocurl featured on Product Huntautocurl project on Peerlist
workflow

From code to request.

01
index.js

Define

Routes declared in supported frameworks are extracted from source.

02
index.autocurl

Generate

Turn them into a portable, human-readable request file.

03
autocurl index.autocurl

Execute

Pick a request and execute it directly from your terminal.

Philosophy

Built to stay out of your way.

Requests are stored as plain text in your project. Local discovery stays on your machine; when AI analysis is enabled, bounded source context is sent to Gemini using your key.

Git-native

Version-controlled by default

The .autocurl file is plain text. Diffs and pull requests show exactly what changed — no JSON blobs, no binary formats.

Local-first

Local by default

Deterministic discovery stays local. Optional Gemini analysis sends bounded source context to Google when enabled.

Human-readable

Open the file, read the file

Every .autocurl file is plain-text HTTP requests separated by comments. Inspect, edit, or share them in any text editor.

Zero lock-in

Readable without autocurl installed

Files are readable in any editor. Request execution and variable prompts are provided by the autocurl CLI.

Lightweight

One small CLI, instant startup

A single prebuilt Go binary with no background process, no runtime to install, and no dependency on the system curl executable.

Audience

Who is autocurl for?

Built for developers who prefer the speed, precision, and transparency of terminal workflows.

01

Backend Developers

Fast local API iteration

Generate requests straight from your Express, FastAPI, Gin, or other supported framework routes, without opening a heavy GUI tool or digging through shell history for long curl flags.

02

DevOps & Infrastructure

Headless & SSH environments

Run requests seamlessly over SSH on remote dev servers and staging boxes where no graphical browser or Electron app can exist.

03

API & Engineering Teams

Version-controlled collections

Keep requests inside the repo right alongside the API code. When endpoints update, your .autocurl files are updated and reviewed in the same PR.

FAQ

Frequently asked questions

What is autocurl and how does it relate to curl?

autocurl is a command-line API testing tool. It discovers routes in supported backend projects, writes them to a readable .autocurl request file, and executes the request you pick with its own built-in Go HTTP client. It does not shell out to the system curl binary; the name refers to the job it automates.

What is an .autocurl file?

An .autocurl file is a plain-text collection of HTTP requests separated by readable comments. It can be checked into git, reviewed in pull requests, and inspected in any text editor.

Can I run .autocurl requests without autocurl installed?

The .autocurl file is readable text, but executing requests and resolving variables requires autocurl's CLI.

How does autocurl compare to Postman or Insomnia?

Postman and Insomnia are full GUI API platforms with features such as test scripts, collection runners, and team workspaces. autocurl is narrower: a terminal tool with no account, whose requests live in your repository as plain text and are generated from your route code. See the autocurl vs Postman comparison in the docs for details.

Can AI coding agents use autocurl?

Yes. Agents can read and edit .autocurl files as plain text, and request selection and variable values are read from standard input, so an agent can run a request non-interactively, for example: printf '2\n42\n' | autocurl index.autocurl. autocurl is a CLI, not an MCP server.

Which backend frameworks are supported?

Route extraction currently supports Express and NestJS (JavaScript/TypeScript), FastAPI, Flask, and Django (Python), and Gin, Echo, Fiber, and net/http (Go). Discovery is AST-first and works offline; optional Gemini analysis with your own API key can help with routes the AST pass cannot resolve.

How do I install autocurl?

On macOS and Linux, run curl -fsSL https://autocurl.lol/install.sh | sh to install the latest stable GitHub Release. Set AUTOCURL_VERSION=vX.Y.Z to pin a version. Windows users can download autocurl.exe from GitHub Releases.

Try it on your next API.

Install autocurl, point it at your backend, and run your first request in a couple of minutes.

curl -fsSL https://autocurl.lol/install.sh | sh