crustdata CLI puts the full API in your terminal: every endpoint is a typed command with real flags. It renders markdown tables when you’re looking and raw JSON when you’re piping, so the same commands serve you, your scripts, and your agents.
Quick start
1
Install
~/.crustdata/bin, and adds that directory to your PATH (set CRUSTDATA_NO_MODIFY_PATH=1 to skip). Open a new terminal, then upgrade later with crustdata upgrade.2
Authenticate
--no-browser prints the sign-in URL and asks you to paste the redirect back. For CI and scripts, pipe a key in with crustdata auth login --with-token < key.txt, or set CRUSTDATA_API_KEY.3
Run a command
Commands
Add
--live to search or enrich to query the professional network in real time instead of the indexed dataset.
Filters
Search commands take repeatable--filter 'field op value' expressions that AND together:
= != < > =< => in not_in (.) [.]. For or logic and nested groups, pass a full JSON body with --input query.json (or --input - for stdin). Flags override matching body fields.
Output
- On a terminal: markdown tables. Piped: raw response JSON. Force either with
--format json|md. - Filter JSON inline with the built-in
--jq(no jq install needed):crustdata account credits --jq .account.credits - stdout carries data only; progress and hints go to stderr. Exit codes:
0success,1API error,2usage error,4auth error. - Nothing auto-paginates, because pages cost credits. Follow
next_cursorexplicitly.
Examples
Every example below runs as written (tested against v0.1.3).Companies
People
Jobs, posts, and the web
Account and housekeeping
Dry runs, spec examples, and completion
Nothing in this group spends credits or needs auth, except live value completion.Named examples need the
= form (--example=name); bare --example lists what’s available. Value completion makes a free autocomplete API call; offline or logged out it completes nothing, without an error.Bulk jobs
crustdata batch status <id> and crustdata batch download <id>.
Search the docs
The CLI reads these docs over their public MCP server, so answers arrive where you’re already working. No authentication needed:Set up the Crustdata MCP
crustdata mcp install wires the hosted Crustdata MCP server into your agent clients:
claude-code (plugin by default, --mcp-only for the bare server), cursor, vscode, windsurf, claude-desktop (via the mcp-remote bridge), and claude-web (printed manual steps, since connectors are account-level). Config edits are merge-preserving — only the crustdata entry is ever touched, and --dry-run prints the exact change without writing anything.
Auth defaults to OAuth on first connect inside each client. For headless setups, --with-key bakes your stored API key into the client config (plaintext, with a loud warning), and --with-key=env writes a ${env:CRUSTDATA_API_KEY} reference instead.
For scripts and agents
Piped output is always raw JSON, with no TTY-detection surprises.--jq runs everywhere without dependencies, and --help on any command includes runnable examples. Agents can explore safely: --dry-run composes any request without spending credits.
Non-interactive authentication
The browser flow only triggers on a real terminal — when stdin is a pipe, the CLI never opens a browser, and the paste prompt only appears when you give it nothing else, so agents never hang on a hidden prompt. Pick one of three paths:auth login validates the key against the API before saving and exits with code 4 on a bad key, so a broken credential fails at setup instead of mid-task. Check state anytime with crustdata auth status.
