Skip to main content
The up2data CLI puts the entire Gateway API in your shell. Every command maps 1:1 onto a /v1/* REST route and prints JSON on stdout, so it composes naturally with jq, pipes, and scripts.
The same package also runs the MCP server for agents — one install covers both.

Install

Requires Node 18+.

Log in

This opens your browser to approve the device, then saves an API key to ~/.config/up2data/credentials.json (mode 0600). No browser available? login also accepts pasting a key from API keys.
For CI or servers, skip login and set the environment variable instead:
UP2DATA_API_KEY always takes precedence over saved credentials.

Usage

Commands follow up2data <group> <action> [--flags]:

Flags

Repeated flags become arrays: --title CTO --title CEO"title": ["CTO", "CEO"].

Exit codes & errors

Success exits 0 with JSON on stdout. API errors print the structured error to stderr and exit 1 — same error shapes as REST.

Commands

Same surface, same credit costs, and same pay-on-success rules as the REST API.

Enrich

Search accepts structured filters or a LinkedIn / Sales Nav URL — not both.

Batch

Signals

Account

Run up2data --help for the always-current list straight from the binary.

Scripting recipes

Pipe with jq--data-only strips the meta envelope:
Enrich a file of profile URLs, one JSON line per profile:
Check your balance before a large run:
Body from stdin (works with any generator):
Commands are billable — same credits as REST. Enrich and search charge on success; signal check-now bills the underlying scrape. account get, batch get, and Signal management are free.

Configuration

Credentials file: ~/.config/up2data/credentials.json.

CLI vs MCP vs REST

All three share the same keys, credits, rate limits, and pay-on-success semantics.