API requests as plain files.

A small, fast desktop API client. Collections are folders of JSON files you can diff and keep in git.

beeline with a GET request open and a colour-highlighted JSON response

A collection is a folder.

Each request is one JSON file, and its name is the file name. Read it, hand-edit it, and review it in a pull request like any other code.

my-api/
  environments/
    dev.json
  users/
    list users.json
    create user.json
  health.json
Subfolders group requests in the sidebar.
{
  "method": "POST",
  "url": "{{base}}/users?notify=true",
  "headers": [{ "key": "Accept", "value": "application/json" }],
  "body": { "type": "json", "text": "{\"name\": \"bee\"}" },
  "auth": { "type": "bearer", "token": "{{token}}" }
}
users/create user.json. Every field is optional.

Everything a request needs.

Nothing it does not: no scripting, no plugins, no cloud.

Tabs, editor and environments

Method, URL, params kept in sync with the URL, headers, JSON, text or form bodies, and bearer or basic auth. Keep several requests open in tabs. Put variables in environments/<name>.json and use them anywhere.

{{base}}{{token}}{{postId}}

Import what you have

Bring requests in from other tools.

cURLOpenAPI 3Postman v2.1Bruno

Readable responses

Status, time, size and headers. JSON is pretty-printed in server key order, with colours. Each tab keeps its last 20 sends.

Copy as cURL

See the exact command for a request.

curl -X POST 'https://api.example.com/users'

Yours, on your disk

No account, no cloud sync and no telemetry.

Hands on the keyboard.

On Linux and Windows, use Ctrl instead of ⌘.

⌘Enter

Send the request

⌘S

Save

⌘T

New tab

⌘W

Close tab

⌘N

New request

Install on macOS.

  1. Download the .dmg from the latest release.
  2. Open it and drag beeline into Applications.
  3. The app is not signed yet. On first launch, open System Settings → Privacy & Security and click Open Anyway, or run:
xattr -dr com.apple.quarantine /Applications/beeline.app

Linux, Windows, or from source

The release has a Linux .tar.gz and a Windows .zip. To build it yourself, you need Rust from rustup.

git clone https://github.com/zpeters/beeline
cd beeline
cargo run --release