120+ LinkedIn actions.
One command line.
The curviate CLI is a scriptable terminal client for Curviate, the LinkedIn platform for AI agents. JSON output when piped, stable exit codes, cursor pagination, and a preview flag on every write. Built for shell scripts, cron jobs, and agent loops in Claude Code or Codex.
How do I install the Curviate CLI?
Install the CLI from npm, authenticate with your API key, and run your first command. Node.js 18 or later is required; the binary is curviate.
# Install globally from npm npm install -g @curviate/cli # Verify curviate --version
Authenticate with the API key from your Curviate dashboard. The interactive prompt masks the key; nothing is echoed or logged.
curviate loginConnect a LinkedIn account in the dashboard, then point the CLI at it once:
# List your connected accounts curviate account list # Set a default account so you never type --account again curviate config set-account acc_YOUR_ACCOUNT_ID # Your LinkedIn profile, from the terminal curviate profile me
That is the whole setup. Every command from here on works against the account you set. For the full authentication walkthrough, including cookie-based connect, read the docs: authentication and accounts.
No account yet? It takes about a minute and your 7-day trial starts the moment you sign up.
What can you do with it?
Everything Curviate ships is reachable from the terminal: the platform exposes 120+ LinkedIn actions, and the CLI organizes them into 16 command groups. Search people, companies, posts and jobs. Send and answer connection requests. Read and send messages. Publish and comment. Manage jobs, company pages, invitations and webhooks. Work Sales Navigator lead lists and Recruiter projects, with 30+ actions dedicated to those two premium surfaces alone.
Browse the full, honest inventory of every action on one page: the LinkedIn actions catalogue.
Why does a CLI matter for AI agents?
Because agents already live in the terminal. An agent running in Claude Code or Codex can call curviate the way it calls git or gh: read JSON from stdout, branch on exit codes, and page through results without a browser, a session cookie, or a scraping script. Humans get the same benefits in shell scripts and cron jobs.
The flags that make it scriptable, on every command:
| Flag | What it does |
|---|---|
--json | Full machine-readable output. Automatic whenever stdout is not a TTY, so pipes just work. |
--fields id,name | Project the response down to exactly the fields you name. |
--all | Stream every page as NDJSON; --max-pages bounds it. |
--preview | Print the exact request a write would send, without sending it. |
--account | Act as any of your connected accounts; set a default once with config set-account. |
# Find people, stream all pages as NDJSON, keep two fields per row curviate search people --keywords "platform engineer" --all --fields id,name
# See exactly what a connection request would send, without sending it curviate connect https://www.linkedin.com/in/example-profile \ --note "Enjoyed your write-up on typed infrastructure." --preview
When a write is rejected or a LinkedIn-side quota bites, the error comes back structured: a stable code, whether the problem is user-fixable, whether a retry is likely to succeed, and how long to wait. Your script branches on it; no HTML parsing, no guessing.
Where the CLI fits
If you occasionally need one profile looked up, a browser extension is fine. The CLI exists for the work between and beyond: repeatable, scripted, agent-driven LinkedIn operations that run in CI, cron, and Claude Code loops.
| Curviate CLI | Browser automation tools | |
|---|---|---|
| Getting access | npm install, per-seat pricing, no approval process | Install an extension |
| Sales Navigator and Recruiter | Available: 30+ dedicated actions | Fragile: breaks when the page changes |
| Scriptability | JSON output, stable exit codes, NDJSON paging | Limited; UI-bound |
| Fit for AI agents | Runs in Claude Code and Codex loops today | Agents cannot reliably drive a browser UI |
| Pipes & automation | Composes with jq, cron, CI and shell pipelines | Manual, click by click |
Underneath sits the REST API; the CLI is built on the typed SDK, and chat agents get the same surface through the MCP server.
Questions, answered
Run npm install -g @curviate/cli (Node.js 18 or later), then curviate login with the API key from your Curviate dashboard. The binary is curviate, and the source is on GitHub at github.com/curviate/curviate-cli. First useful command: curviate account list.
Yes, that is the design center. Output is JSON whenever stdout is piped, exit codes are stable enough to branch on, --fields trims responses to what the agent needs, and --preview lets an agent show you a write before it happens. Agents in Claude Code or Codex call it like any other CLI tool.
Yes. The sales-nav and recruiter command groups cover lead lists, saved searches, hiring projects, candidate pipelines and InMail, with 30+ actions dedicated to the two premium surfaces across the platform. A seat carries one premium, Sales Navigator or Recruiter; running both needs two seats.
Curviate uses native LinkedIn flows, not scraping or browser puppetry. Operations are paced to human rhythms and new accounts warm up gradually. Credentials are encrypted at rest with AES-256, never logged, and hard-deleted the moment you disconnect a seat. Read the full safety page for the specifics.