Install the CLI
The PFF Developer API doesn’t ship its own binary. It publishes an OpenAPI document, and the open-source Restish CLI turns that document into commands — restish pff passing, restish pff players, and so on — each with its own --help. You install Restish once; the commands come from the API.
Before you start
- A PFF Pro subscription. The docs are public, but every data command checks for Pro — Log in explains what you’ll see without it.
- A terminal on macOS, Linux, or Windows. Nothing else for the Homebrew, mise, or release-archive installs — no runtime, no SDK, no code. (Only the Go option below needs a Go toolchain.)
Install Restish
Homebrew (macOS or Linux)
brew install restish
mise
mise use -g restish@latest
Go (builds the latest tagged v2 release from source)
go install github.com/rest-sh/restish/v2/cmd/restish@latest
Windows, or any machine without a package manager — download a release archive
Every release publishes archives for macOS, Linux and Windows (amd64 and arm64) on the Restish releases page, alongside a checksums.txt of SHA-256 sums. Each archive holds a single binary — restish.exe on Windows, restish elsewhere — plus the licence and README.
# Windows (PowerShell): download restish-2.3.0-windows-amd64.zip (or -arm64), then
Expand-Archive restish-2.3.0-windows-amd64.zip -DestinationPath $HOME\restish
# add $HOME\restish to your PATH so `restish` resolves in any terminal
# Linux without Homebrew: download restish-2.3.0-linux-amd64.tar.gz (or -arm64), then
tar -xzf restish-2.3.0-linux-amd64.tar.gz restish
sudo mv restish /usr/local/bin/
The macOS archives (restish-2.3.0-darwin-arm64.tar.gz for Apple silicon, -darwin-amd64 for Intel) unpack the same way, though Homebrew is the easier path there.
Restish is also published as a container image (ghcr.io/rest-sh/restish); the Restish install guide covers it, along with shell notes for every platform.
Check the version
restish --version
restish version 2.3.0
You need Restish 2.x — the API is developed and tested against 2.3.0. Restish 1.x uses different commands (api configure instead of api connect, for example), so if you see a 1.x version, upgrade before continuing.
Set up your shell (recommended)
restish shell setup zsh
Use bash or fish if that’s your shell. This installs tab completion and stops the shell from expanding the [] in filters like body.players[].id before Restish sees them. If you skip it, quote any filter that contains brackets — every example in this guide does.
Next: Configure & connect points Restish at the PFF API and generates the
restish pffcommands.