rest-sh/restish
rest-sh/restish has 1,395 GitHub stars and 108 forks. GitHot measured +2 stars in 24 hours. Last checked 2026-11-08 06:13 UTC. Last push 2026-09-29.
Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in
Measured star growth
- in 24h
- +2
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalRestish
Restish is a CLI for working with REST-ish HTTP APIs. It can make generic HTTP requests, discover OpenAPI descriptions, generate API-aware commands, manage profiles and auth, render structured output, follow pagination links, and run plugins.
Restish v2 is the active release line. Users who need the legacy v1 line can
install rest-sh/tap/restish@1; see the
v1 upgrade guide.
Try It
Make a direct request with no setup beyond installing the CLI:
restish api.rest.sh/types
Then format, filter, and page through real API responses:
restish api.rest.sh/images -o table --rsh-columns name,format,self
restish api.rest.sh/example -f 'body.basics.{name, label, profiles}'
Example table output:
name format self
Dragonfly macro jpeg /images/jpeg
Origami under blacklight webp /images/webp
Andy Warhol mural in Miami gif /images/gif
Sponsors
A big thank you to our sponsor!
SerpApi: Web Search API
Access Google Search, Maps, Shopping, and other search engine data with a simple API by SerpApi.
Learn moreInstall
Use Homebrew for the easiest managed install on macOS:
brew install restish
restish --version
Or use mise:
mise use -g restish@latest
restish --version
Install the latest tagged v2 release from source with Go:
go install github.com/rest-sh/restish/v2/cmd/restish@latest
restish --help
Check restish --version after installation. See the
install guide for shell setup,
upgrades, and platform notes.
Why Restish?
- Use one-off HTTP commands with good defaults for headers, content types, retries, caching, TLS, and output.
- Connect OpenAPI descriptions to get generated API commands, help, profiles, auth, and shell completion.
- Filter normalized responses with shorthand or jq, then render JSON, YAML, tables, CSV, NDJSON, lines, gron, images, and raw downloads.
- Follow pagination links and stream API data without writing boilerplate loops.
- Extend the CLI with plugins for bulk workflows, CSV, MCP, TLS signing, and custom API behavior.
Documentation
Plugins
Bundled plugins live in this repository and can be built alongside the main CLI:
go build ./cmd/restish-bulk
go build ./cmd/restish-csv
go build ./cmd/restish-mcp
go build ./cmd/restish-pkcs11
Start with Install and Use Plugins or Plugin Quickstart.
Development
Build from this repository when developing Restish itself:
go build ./cmd/restish
./restish --help
./restish api.rest.sh/types
Run the normal development loop with:
go test ./...
Build the CLI and bundled plugins with:
go build ./cmd/restish
go build ./cmd/restish-bulk
go build ./cmd/restish-csv
go build ./cmd/restish-mcp
go build ./cmd/restish-pkcs11
Run the full integration suite before releases or larger CLI/plugin changes:
go test -tags=integration ./...
Development docs:
License
Restish is released under the MIT License. See LICENSE.md.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,951 starspublic-apis/public-apis
A collective list of free APIs
497,211 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
442,709 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,183 stars