Your GTM belongs in gitRegister
Blog

Find Every Portfolio Company of an Investor, Then the People Inside

16 Oct
5min read

To find every portfolio company of an investor, run Cargo’s theirStack.searchCompanies with the investor’s name in company_investors_partial_match_or: each company comes back with its domain, stage and full investor list, at 0.5 credits a company. Then pass the domains to aiArk.searchPeople to list the decision-makers inside them, at 0.05 credits a person.

This is a go-to-market list built around a relationship rather than a firmographic filter: an investor who already backs a customer of yours, an accelerator batch, a fund whose companies share a stack. The list is also what you take to the investor when you ask for introductions. The find-portfolio-companies skill runs the same job.

What it costs, from the code #

StepActionCredits
1. The portfoliotheirStack.searchCompanies0.5 per company returned
2. The people insideaiArk.searchPeople0.05 per person returned

Both bill per record returned, so limit is the bill. A 140-company portfolio is 70 credits; five decision-makers at each is another 35.

Run it #

1. Install and sign in

shellscript
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

No browser step, so a coding agent can run this itself. A new account starts with 100 free credits and no card.

2. Pull the portfolio

shellscript
cargo-ai orchestration action execute \
  --action '{"kind":"connector","integrationSlug":"theirStack","actionSlug":"searchCompanies"}' \
  --data '{"fields":{"company_investors_partial_match_or":["Sequoia"]},"limit":20}' \
  --wait-until-finished

company_investors_partial_match_or keeps companies where any investor name contains the text, so Sequoia also catches Sequoia Capital India. Use company_investors_or for an exact name. For Y Combinator, "only_yc_companies": true filters on the batch directly, and each company comes back with its yc_batch. Narrow further in the same fields object: funding_stage_or, min_employee_count, company_country_code_or.

Pull 20 first, read them, then raise limit (up to 500 per call) once the list looks right.

3. Find the people inside

shellscript
cargo-ai orchestration action execute \
  --action '{"kind":"connector","integrationSlug":"aiArk","actionSlug":"searchPeople"}' \
  --data '{
    "companyInfo": {"domain_or": ["northwind.example", "tailspin.example"]},
    "jobRole": {"seniority_or": ["c_suite", "vp", "director"], "department_or": ["sales", "sales_operations"]},
    "limit": 50
  }' \
  --wait-until-finished

seniority_or and department_or take fixed values (founder, c_suite, vp, director, head, manager, and departments such as sales, marketing, finance, operations). Titles in plain text go in jobRole.title_or. limit goes up to 2,000.

What comes back #

ActionFields
theirStack.searchCompaniesname, domain, linkedin_url, investors, funding_stage, last_funding_round_date, employee_count
aiArk.searchPeoplefull_name, title, linkedin_url, company_name, company_domain, country

The people search returns no email. To reach them, the next step is finding and verifying their work emails.

Frequently asked questions #

Related: Track funding rounds and find the companies that just raised, Build a TAM list by industry, headcount and geography.

AurelienOct 16, 2026

Give your agents a runtime

Bring the agents you have.Start free, deploy in one command.