Developer
Step 1 of 7

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.

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 pff commands.