> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intentleads.si/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI

> Export and pull leads from your terminal or a scheduled job.

The `intentleads` command does everything the API does, with a free quote before every export.

## Install

Works on macOS and Linux with Node.js 18 or newer.

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -fsSL https://intentleads.si/install.sh | sh
```

It installs to `~/.local/bin/intentleads`. Then sign in with an [API key](/authentication):

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
intentleads login --key il_live_...
intentleads whoami
```

`whoami` shows your organization and the CLI version. The key is saved in `~/.config/intentleads/config.json`; `INTENT_LEADS_KEY` and `INTENT_LEADS_URL` in the environment override it.

## Export new people

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
intentleads export --lane L1 --max 100 --format csv --out leads.csv
```

It prints the free quote, asks before buying, waits for the export to finish and saves the file.

| Flag | Meaning |
| - | - |
| `--lane` | `L1`, several like `L1,L3`, or `all`. |
| `--max` | Most people to export. Default 100. |
| `--strength` | `low`, `medium` or `high`. Default: each lane's own minimum. |
| `--dry-run` | Show the quote only. |
| `--yes` | Don't ask before buying. For scheduled jobs. |
| `--key` | Your own idempotency key, so a retried job never buys twice. Default: a new random key. |
| `--format` | `csv` or `json`. |
| `--out` | Save to a file instead of printing. |

<Tip>
  For a weekly job, `intentleads export --lane all --max 500 --yes --format csv --out "leads-$(date +%F).csv"`. Each person counts once per billing period, so you never pay for the same person twice.
</Tip>

## Commands

| Command | What it does |
| - | - |
| `intentleads lanes list` | Lanes with keywords and how many new people are available. |
| `intentleads lanes show L1` | One lane's keywords, counts and filters. |
| `intentleads lanes create --file lane.json` | Create a lane. See [Lanes](/guides/lanes) for the fields. |
| `intentleads lanes update L1 --file patch.json` | Change filters or settings; omitted fields keep their value. |
| `intentleads catalog [--search plastics]` | Valid industries and seniority values for filters. |
| `intentleads export …` | Quote and export new people (see above). |
| `intentleads exports list` | Past exports. |
| `intentleads exports get ID [--format csv] [--out FILE]` | Download an export again (always free). |
| `intentleads leads pull [--lane L1] [--since last\|YYYY-MM-DD] [--consumer NAME]` | Leads you haven't pulled yet, or everything since a date. See [Leads](/guides/leads). |
| `intentleads leads sample --lane L1` | Latest free sample (no contact details). |
| `intentleads keywords add --lane L1 "keyword"` | Add a keyword. |
| `intentleads keywords remove --lane L1 "keyword"` | Remove a keyword. |
| `intentleads suppressions [--since YYYY-MM-DD]` | People who asked to be removed. |
| `intentleads usage` | Plan, contacts used and left. |
| `intentleads whoami` | Your organization and the CLI version. |
| `intentleads --version` | The CLI version. |

Add `--json` to `lanes`, `leads sample` and `suppressions` for machine-readable output. `intentleads <command> --help` shows one command's help.

## Updating

Run the install command again. It replaces the CLI and keeps your saved key.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.