v0.1.0 — now in beta

API workflows,
straight from your terminal.

NetShift is a terminal-first CLI for API requests and reusable workflows — a cleaner alternative to repetitive curl commands.

MIT licensed·Local-first·Config-as-code·Single binary
netshift demo
ns get https://httpbin.org/json
200 OK91 ms·1.2 KB
{
  "slideshow": {
    "title": "Sample response",
    "author": "NetShift"
  }
}
saved as demo-request

Features

Everything you need. Nothing you don't.

A focused toolkit for the way developers work with APIs — from the terminal, with config in git.

01

Fast HTTP requests

GET, POST, PUT, PATCH, DELETE with headers, retries, and timeouts — from a single command.

shift POST /api/login --retry 3
02

Readable responses

Syntax-highlighted JSON, clear error output, and rich response metadata.

200118ms · 2.4KB · json
03

Saved requests

Persist any request as a reusable workflow. Run it again by name — no copy-paste.

shift run get-users
04

Collections & projects

Organize APIs into clean collections. Scale from one endpoint to a full service map.

05

Environment variables

Switch between dev, staging, and prod. Use template variables anywhere.

Authorization: Bearer {{token}}
06

Config-as-code

YAML configs that live in your repo. Diff, review, and ship through git.

07

Auth helpers

First-class support for Bearer, Basic, and custom auth flows.

08

Import & export

Bring requests from Postman or share a NetShift project with your team.

09

Composable & scriptable

Pipe outputs, chain commands, integrate into CI. Plays nicely with your shell.

Developer experience

Designed for the terminal.

No bloated GUI. No login walls. A local-first tool that respects your workflow.

No bloated GUI

Pure CLI. No Electron. No 400MB install.

Local-first

Your requests live in your repo, not a vendor's cloud.

Built for speed

Sub-100ms cold start. Designed to feel instant.

Version-control friendly

Plain YAML. Reviewable diffs. No binary blobs.

api/users.yml — netshift
shift GET /users -H "Authorization: Bearer $TOKEN"
200 OK87 ms · GET · prod
[
  { "id": 1, "email": "ada@netshift.dev" },
  { "id": 2, "email": "linus@netshift.dev" }
]
─ saved as get-users in ./netshift.yml

Workflow

From request to reusable workflow.

Five primitives. Compose APIs the way you compose code.

Request
Fire HTTP
01
Save
Name it
02
Collection
Group it
03
Environment
Scope it
04
Run
Replay
05

Install

Up and running in 10 seconds.

One install. One init. Ready to ship requests.

npm install -g netshift
shift init
shift GET https://api.example.com/health

Stop fighting curl.

Build cleaner API workflows with a terminal experience designed for developers.