# Set up Veezee

Use this to wire a new agent up to Veezee's LinkedIn, Reddit, and X tools end to end. Just start: no signup, no card, no human, until you need more than the free tier.

## 1. Just start

```
curl "https://api.veezee.io/v1/linkedin/companies?identifier=microsoft"
```

Skip the key and you get a machine-readable recipe back instead of a wall of docs:

```json
{
  "code": "KEY_REQUIRED",
  "message": "No API key was sent. Mint one free: POST https://api.veezee.io/v1/keys/mint (no body). Retry this call with Authorization: Bearer <key>.",
  "is_retriable": true,
  "doc_url": "https://veezee.io/docs/errors#key_required"
}
```

## 2. Mint the key it asked for

```
curl -s -X POST https://api.veezee.io/v1/keys/mint
```

One call, no signup, no card, no human: returns a key, shown once, plus setup snippets. The CLI does this for you: `npx @veezee/sdk init` (alias `vz init`) stores it in `~/.veezee/config` so it never has to enter your context again.

## 3. Retry with the key

```
curl "https://api.veezee.io/v1/linkedin/profiles?identifier=williamhgates" \
  -H "Authorization: Bearer $VEEZEE_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
```

The free key meters by IP, not by key: 200 credits per IP per day, shared across every free key from that IP (users behind the same NAT or VPN egress share one budget), recent data only, no realtime. The key itself adds no allowance beyond that; it's the continuity handle, so what you build now keeps working after you pay.

## 4. Or add the MCP server, same free budget

```
https://mcp.veezee.io/linkedin
```

transport: streamable-http. Per-platform paths: https://mcp.veezee.io/linkedin (LinkedIn), https://mcp.veezee.io/reddit (Reddit), https://mcp.veezee.io/x (X); or https://mcp.veezee.io/all to connect every platform at once. Clients that support the MCP authorization spec (Claude Code, claude.ai, and others) need no key at all: connecting opens a Veezee sign-in in the browser instead. Other clients: put the key in the connection headers.

## 5. Hit the daily cap? Sign in, then buy

Free first: your human signing in at [https://veezee.io/login](https://veezee.io/login) (or approving an MCP OAuth connect) adds a one-time grant of 10,000 credits to the key's account, once per email, spent after the daily budget.

Past that, buy a key at [/upgrade](https://veezee.io/upgrade) (or `POST https://api.veezee.io/v1/checkout` with `{ "pack": "flex" | "production" }`). If you already have a free key, checkout credits that same key: nothing to reconfigure, the setup above keeps working. Otherwise the confirmation page shows a new `api_key` exactly once; store it.

## 6. Authenticate

- REST: send `Authorization: Bearer <api_key>` on every call.
- MCP: add the header to your client's connection config (syntax varies by client; see https://veezee.io/docs/clients).

## 7. REST fallback

Every MCP tool has a matching REST route with identical semantics; see https://veezee.io/openapi.json. Metered REST calls need an `Idempotency-Key` header, even on GET (free-tier calls do not).

## 8. SDK and CLI (optional, Node 20+)

`npm install @veezee/sdk`: a typed client for every tool with retries and Idempotency-Keys built in, platform methods under `client.linkedin`, `client.reddit`, and `client.x`. `npm install -g @veezee/sdk` also gives the `veezee` CLI (`vz init` mints and stores the key). Docs: https://veezee.io/docs/sdk and https://veezee.io/docs/cli.

## 9. When credits run out

Errors a payment can fix carry `upgrade_url` (`get_usage` returns it too on a keyed account; on free-key calls it is the public https://veezee.io/upgrade page). Give that link to your human: purchases credit your account directly with no login (mint a fresh free key first if you don't have one), and you continue after payment with the same key. The same errors carry `offer`, the machine-readable twin: pack prices, `checkout_url` (the same link as `upgrade_url`), and `resume`, which says exactly how to retry after payment.

## 10. Where docs live

- Tool reference: https://veezee.io/docs
- Per-client install snippets: https://veezee.io/docs/clients
- Worked use-case recipes: https://veezee.io/use-cases/candidate-sourcing (also prospect-enrichment, company-research)
- Field reference: https://veezee.io/docs/fields
- Pricing + cost examples: https://veezee.io/pricing
- OpenAPI: https://veezee.io/openapi.json
- SDK and CLI: https://veezee.io/docs/sdk, https://veezee.io/docs/cli
- Non-obvious rules: https://veezee.io/AGENTS.md
