# CLI - Veezee docs

The `veezee` CLI ships inside [@veezee/sdk](https://www.npmjs.com/package/@veezee/sdk): the same tools as REST and MCP, as `vz <platform> <verb>` subcommands across LinkedIn, Reddit, and X, with JSON output via `--json`. `vz` is the same binary, three keystrokes shorter. `vz init` creates a free key in one call (no account needed) and saves it to `~/.veezee/config`; every command then runs under the free budget of 200 credits per IP per day on all three platforms. Need more? Buy credits at [/upgrade](/upgrade): checkout credits the same key.

## Install

```
npm install -g @veezee/sdk
```

## Commands

```
vz init                               mint a free key (no signup) and save it to ~/.veezee/config
vz linkedin profile get <identifier>  fetch a person's LinkedIn profile
vz linkedin search [flags]            search people on LinkedIn
vz linkedin company get <identifier>  fetch a company's LinkedIn page
vz linkedin posts get <identifier>    fetch recent posts by a person or company
vz reddit search <query> [flags]      search Reddit posts, comments, subreddits, or users
vz reddit subreddit <name> [flags]    fetch subreddit details
vz reddit subreddit-posts <name>      fetch a subreddit's posts
vz reddit user <username> [flags]     fetch a Reddit user
vz reddit post <ids> [flags]          fetch Reddit posts by id, with optional discussion thread
vz reddit resolve-url <url>           identify a Reddit URL
vz x search <query> [flags]           search X (formerly Twitter)
vz x profile <identifier> [flags]     fetch an X profile
vz x tweets <identifier> [flags]      fetch an account's tweets
vz x tweet <tweet_id>                 fetch one tweet with full metrics
vz x resolve-url <url>                identify an X URL
vz resolve-url <url>                  identify a LinkedIn URL (person/company/post)
vz usage                              check credits, plan, and recent charges (requires a key)
```

## Examples

```
vz linkedin profile get williamhgates --sections experience,education
vz linkedin search --keywords "CTO" --company anthropic --limit 20
vz linkedin company get microsoft --json
vz reddit search "notion alternative" --type comments
vz reddit subreddit selfhosted --include-settings
vz reddit post t3_1tbups6,t3_1tbuneg
vz x search "claude code"
vz x profile nasa
vz x tweets nasa --mode posts_and_replies --no-retweets
vz usage --key vz_live_... --json
```

## Flags

`--json` prints the raw response envelope. `--key <apiKey>` sets the API key (else reads `VEEZEE_API_KEY`, or the key `vz init` saved to `~/.veezee/config`; omit entirely to run under the free per-IP budget). `--base-url <url>` overrides the API base URL.

Per command: `linkedin profile get` takes `--sections a,b` and `--realtime`; `linkedin search` takes `--keywords`, `--title`, `--company`, `--past-company`, `--school`, `--first-name`, `--last-name`, `--limit`, `--cursor`, `--freshness`; `reddit search` takes `--type posts|comments|subreddits|users`, `--sort`, `--range`, `--cursor`; `reddit post` takes `--detail concise|full`, `--comment-id`; `x search` takes `--type recent|popular|people`; `x tweets` takes `--mode posts|posts_and_replies|highlights` and `--no-retweets`.

Every data command takes `--max-credits <n>` (per-call spend cap; an over-quote call fails with nothing charged).

Unknown flags are a hard usage error (exit 2), never silently ignored. `--json` applies to errors too: the machine-readable error shape prints to stdout. Run `vz --help` for the full list.

Exit codes: 0 success, 1 failure, 2 usage error (bad command, unknown flag, or INVALID_INPUT from the API), 4 auth required (no key, or UNAUTHORIZED/NOT_ENTITLED from the API).
