To find B2B leads for a go-to-market list by job title, company and keyword, run Cargo’s salesNavigator.searchLeads action with your title keywords, seniority, company size, industry and location filters. It returns each lead’s name, current title, company and LinkedIn URL at 0.2 credits per lead, and you do not need your own Sales Navigator seat.
For the lowest price per lead, aiArk.searchPeople runs the same kind of search at 0.05 credits per person returned. Both are the find-b2b-leads job; this page is the full command reference.
Usage and prices #
Cargo platform data, 90 days to Oct 16 2026: salesNavigator.searchLeads ran about 908,000 times across 139 workspaces.
What each source costs, from each action’s credit definition:
| Action | Credits | Charged on | Account needed |
|---|---|---|---|
salesNavigator.searchLeads | 0.2 | each lead returned | none (optional: your own LinkedIn) |
aiArk.searchPeople | 0.05 | each person returned | none (optional: your AI Ark key) |
apolloio.searchPeople | 0, or 1 with shouldEnrich | each person, when enriching | none (optional: your Apollo key) |
A search that returns nobody costs 0 credits. A new account starts with 100 free credits and no card, which covers 500 Sales Navigator leads or 2,000 from AI Ark.
What the Sales Navigator search needs #
No Sales Navigator subscription and no LinkedIn login. By default the search runs on a shared pool of LinkedIn identities that Cargo operates, metered by a daily per-workspace quota on a rolling 24-hour window. If you want it to run on your own seat instead, sync your LinkedIn session with the Cargo Chrome extension and pass that user in identityIds; the run then spends that seat’s allowance and not the pool’s.
Run it #
1. Install and sign in
npm install -g @cargo-ai/cli
cargo-ai login --email you@company.com # sends a code
cargo-ai login --email you@company.com --code 123456 # creates the account on first use
There is no browser step, so a coding agent can run this itself.
2. Search
VPs and directors with “Sales” in their current title, at software companies of 51 to 500 people, located in the United States:
cargo-ai orchestration action execute \
--action '{"kind":"connector","integrationSlug":"salesNavigator","actionSlug":"searchLeads"}' \
--data '{
"role": {"titleKeywords": ["Sales"], "seniorityLevels": ["300", "220"]},
"company": {"companyHeadcounts": ["D", "E"]},
"personal": {"geoCodes": ["103644278"], "industryCodes": ["4"]},
"limit": 25
}' \
--wait-until-finished
keywords adds a free-text search across the whole profile, for a word that is not in the title (a tool, a market, a technology). limit defaults to 25 and goes up to 10,000. Start at 25: that is one page, 5 credits, and enough to check the filters do what you meant before paying for the rest.
3. Filters take LinkedIn IDs, not names
Seniority, headcount, location, industry and function are LinkedIn’s codes. A name in their place is not translated. The common ones:
| Filter | Value |
|---|---|
role.seniorityLevels | 310 CXO, 300 Vice President, 220 Director, 210 Experienced Manager |
company.companyHeadcounts | C 11-50, D 51-200, E 201-500, F 501-1,000, G 1,001-5,000 |
personal.geoCodes | 103644278 United States |
personal.industryCodes | 4 Software Development |
role.functions | 25 Sales |
For the full lists, run the connector’s autocomplete with the listGeoCodes, listIndustries, listSeniorityLevels, listCompanyHeadcounts or listFunctions slug. The connector UUID is in the connectors field of cargo-ai orchestration action list search leads --integration-slug salesNavigator:
cargo-ai connection connector autocomplete \
--connector-uuid <uuid> --slug listGeoCodes --params '{}'
Most filters also have an ...Exclude twin (titleKeywordsExclude, geoCodesExclude, currentCompanyIdsExclude) to remove matches, and recentUpdates.changedJobs keeps only people who recently changed jobs.
4. The same search on AI Ark
AI Ark filters take plain values instead of IDs:
cargo-ai orchestration action execute \
--action '{"kind":"connector","integrationSlug":"aiArk","actionSlug":"searchPeople"}' \
--data '{
"jobRole": {"title_or": ["VP Sales", "Director of Sales"], "seniority_or": ["vp", "director"]},
"industry": {"industry_or": ["software development"]},
"employeeSize": {"min_employee_count": 51, "max_employee_count": 500},
"personLocation": {"location_or": ["United States"]},
"limit": 25
}' \
--wait-until-finished
personKeywords.keyword_or is the free-text keyword filter, matched on headline and summary by default. Seniority and industry values must come from AI Ark’s lists (lowercase, such as c_suite, vp, director, head); a value outside them fails validation. limit defaults to 10 and goes up to 2,000.
What comes back #
| Action | Fields to read |
|---|---|
salesNavigator.searchLeads | full_name, job_title, company_name, location, linkedin_profile_url, sales_navigator_profile_url, tenure_start, recently_hired |
aiArk.searchPeople | full_name, title, headline, linkedin_url, company_name, company_domain, country, city |
apolloio.searchPeople | first_name, last_name_obfuscated, title, has_email, organization.name, unless shouldEnrich is on |
Apollo’s search is free but partial by design: the last name is obfuscated and there is no LinkedIn URL until you enrich, at 1 credit per person.
None of these return emails or phone numbers. Pass the LinkedIn URLs to enrich a LinkedIn profile, or names and domains to the work email waterfall.
Caveats #
- Over 2,500 results. LinkedIn caps a single Sales Navigator search at 2,500 results. Above that, Cargo splits the search into narrower sub-searches and walks them, so a large
limitstill returns distinct leads, but the count can come in under it. - No duplicates within a run. Leads already returned earlier in the same run are dropped from later pages.
- Profiles, not consent. A search result is a person who matches your filters. Whether you may contact them depends on your basis for doing so and your suppression list, not on the search.
Frequently asked questions #
No. By default Cargo’s Sales Navigator search runs on a shared pool of
LinkedIn identities with a daily per-workspace quota. You can pass your own
LinkedIn users, synced through the Cargo Chrome extension, in identityIds.
0.2 credits per lead with Sales Navigator, 0.05 per person with AI Ark, and nothing for a search that returns no one. A page of 25 Sales Navigator leads is 5 credits.
Sales Navigator filters take LinkedIn’s IDs: 103644278 for the United
States, not the name. List the valid IDs with the connector autocomplete
(listGeoCodes, listIndustries). AI Ark takes plain values instead.
No. It returns profiles with LinkedIn URLs. Find work emails in a second step, from the name and company domain or from the LinkedIn URL.