Command line
Everything from the terminal with npx argorant. JSON output for scripts and agents, pages with a cursor, safe retries and exit codes you can act on.
npx argorant login # paste a key from app.argorant.com/profile once
npx argorant account # plan, credits, request limit, campaign emailsnpx runs it without installing. To install it for good, run npm install -g argorant. The tool reads the key from argorant login or from the ARGORANT_API_KEY variable.
Commands
| Command | What it does |
|---|---|
account | Plan, credits, request limit and campaign emails |
count "<words>" [filters] | Count matching people, free |
search "<words>" -n 10 | A masked preview, free |
company <domain> | How many people at one company, free |
companies count / search / people | Companies that match your filters, free |
lookup industries / countries / keywords / technologies / titles [text] | The exact names to filter with, free |
filters | Every search filter with its flags and values, and which are ready now, free |
reveal "<words>" -n 25 | Full details with checked emails, uses credits |
enrich --email a@b.com / --name "..." --domain d / --domain d | Fill in one record |
find "Jane Doe" --domain acme.com / find --file people.csv -o found.csv --max-credits 100 | Find work emails: 1 credit when found, 0.25 when nothing is found |
find status / download / resume / cancel <job_id>, find pricing | Email finder lists and prices |
lists ls / create / show / people / rename / rm / export | Saved lists |
lists remove-people <id> --title Intern --preview / --ids a,b | Take people out of a saved list. It counts first and asks; --preview only counts. Adding the same search again leaves them out |
export "<words>" -n 1000 -o leads.csv | A CSV of checked contacts, uses credits |
exports ls / status / download | Your exports |
verify <email> / verify --file emails.csv -o checked.csv | Check emails you already have |
campaigns list / create / update / status / delete | Campaigns and their settings |
campaigns update <c> --no-skip-shared-bounces / --skip-shared-bounces | Keep addresses that bounced for other Argorant users, or leave them out (the default) |
campaigns emails set <c> --step 1 --subject ... --body-file f | The emails |
campaigns leads add <c> --list <id> / leads list / leads remove | The people in a campaign |
campaigns leads add <c> --list <id> --grades valid | The answer when an add asks which addresses to add. valid (recommended) adds valid addresses only, valid,catch_all also catch-all ones |
campaigns leads remove <c> --not-replied --status queued --preview / leads jobs <c> | Take many people out at once, preview first; follow large adds and removals |
campaigns leads tag <c> <tag> --file ids.csv / leads remove <c> --tag <tag> | Tag people, then take out, bring back, move or list them by tag |
campaigns leads restore <c> --tag <tag> / --all-removed | Bring back people taken out who were never emailed, preview first |
campaigns leads move <c> --to <c2> --tag <tag> | Move people into another campaign with their own fields, preview first |
campaigns personalize import <c> lines.csv | Personal lines for many people from one file |
campaigns test <c> --step 1 | One test email to you, adds nobody |
campaigns folders / folders create --name / move <c> --folder <f> | Folders for campaigns |
campaigns list --folder <f> / --no-folder | The campaigns of one folder, or the ones in no folder |
campaigns senders set <c> --all / senders list / senders remove | The sending mailboxes |
campaigns launch / pause / stop <c> | Start or stop sending; launch asks first, -y skips the question |
campaigns analytics <c> --days 30 / campaigns replies <c> | Results and replies of one campaign |
inbox list / read / reply / forward / classify | Every reply in one place |
inbox stages / stages add / set / rm | Your pipeline stages for replies |
inboxes list --status needs_attention --tag t / set / disconnect / connect-google | Your mailboxes |
inboxes update --domains a.com --daily-limit 30 | Change many mailboxes at once, preview first |
inboxes set <mailbox> --name "Elena Vaughn" | The sender name people see, one mailbox at a time |
inboxes tags / inboxes tag --order <id> --add "Q4 push" / inboxes order-tags <id> --add "Q4 push" | Mailbox tags with their counts, tags for many mailboxes at once (preview first), and an order's tags, which also reach the mailboxes it sets up later (guide) |
inboxes test-smtp / connect-smtp / connect-smtp --csv / presets | Mailboxes from any provider (guide); the password is asked for or read from an environment variable, never from the command line |
inboxes quote / order / status / renewal | New mailboxes on new domains |
blocklist list / add / remove / job | Addresses and domains never contacted. list shows 50 at a time (--all, --search, --campaign); add and remove take many values or --file list.csv (calls of 5,000), --campaign for single campaigns and --dry-run |
credits packs / quote / buy / purchases | Buy credit packs; asks first, then the saved card or a payment link |
webhooks ls / add / set / test / deliveries / rm | Events sent to your server, from the Pro plan |
Filters
Every search command (count, search, reveal, export, lists create, adding to a list, companies) takes the same filters as the app, the API and the Claude connector. A comma means any of them. Each list filter has a leave-out twin that removes everyone the include filter would find for the same values, and both can be used together.
| Include | Leave out | What it matches |
|---|---|---|
--title | --exclude-title | Job titles; short forms work both ways (CFO, Chief Financial Officer) |
--keywords | --exclude-keywords | Words that describe what the company does, such as fintech (--keyword-scope people for people's own skills) |
--industry | --exclude-industry | Industries in plain words |
--country | --exclude-country | Countries or regions such as DACH, Nordics, APAC |
--state | --exclude-state | States or provinces, by name or code |
--city | --exclude-city | Cities |
--seniority | --exclude-seniority | C-Level, VP, Director, Manager, Senior, Entry, Intern |
--department | --exclude-department | Sales, Marketing, Engineering, Finance and the other departments |
--domain | --exclude-domain | Company websites, such as stripe.com |
How words match:
--title-match words(default) needs every word as a whole word, so Data does not match Database.exactneeds the whole job title, so CEO does not match Founder & CEO.containsfinds the text anywhere, also inside a word.- Keywords look at what the company does by default (its name, tags, industry and description).
--keyword-scope peoplelooks at people's own skills and profiles, andanyat both plus job titles. --industry-match primarymatches only the company's main industry, so Software leaves out a retailer or a bank that also carries a software tag.any(the default) matches any of its industries.--country-match person(the default) counts where the person is based and leaves out people whose own place is not known.person_or_companyuses the company's country for them.
There are more filters too, such as --employees 51-200, --employees-min and --employees-max, --revenue 10m-50m, --revenue-min and --revenue-max, --company (several companies: join the names with |), --has-phone and --has-linkedin. npx argorant filters lists every filter you can use.
npx argorant count --title "VP Sales" --title-match exact --country DACH --exclude-country Switzerland
npx argorant export --keywords fintech --exclude-keywords "venture capital, private equity" -n 500 -o fintech.csvA saved list fills in the background. lists show <id> says whether it is still filling; adding to a list that is still filling waits for its turn.
Built for scripts and agents
--jsonon any command prints the API's answer as it is.- Lists print a cursor under each page. Pass it with
--cursor, or add--allto read every page. - Every write gets a fresh
Idempotency-Key. Pass--idempotency-key <key>to choose your own, so running the same command again returns the first answer instead of doing the work twice. - Exit codes are
0for success,1for an error (and forfindwithout a result),2for a missing or wrong key,3for a missing scope,4for a rate or daily limit,5when a plan or more credits are needed, and6when a choice is needed first and nothing was changed (campaigns leads addasks which kinds of addresses to add). - Commands that change many people or mailboxes (
leads remove,leads restore,leads move,lists remove-people,inboxes tag,inboxes update) count first and then ask.--previewonly counts, and--yesskips the question. - Errors print the code, the plain message and the request id.
- Commands that spend credits ask first at a terminal. They do not ask when the output is not a terminal or with
--yesor--json, so check your-nin scripts. - A campaign can be named by its id or by the start of its name.
From a search to a running campaign
npx argorant lists create --name "UK finance leaders" --title "CFO, Finance Director" --country "United Kingdom"
npx argorant campaigns create --name "UK finance Q4" --daily-limit 40 --timezone Europe/London
npx argorant campaigns emails set "UK finance" --step 1 --subject "Quick question, {{first_name}}" --body-file step1.txt
npx argorant campaigns leads add "UK finance" --list 1240
# when the list also holds catch-all or unchecked addresses, it asks first and adds nothing (exit code 6):
npx argorant campaigns leads add "UK finance" --list 1240 --grades valid
# business emails only: add --exclude-private-emails (free mail and home internet addresses are left out)
npx argorant campaigns senders set "UK finance" --all
npx argorant campaigns launch "UK finance"