Finding Companies
Outcome: a saved company search that returns a countable, filtered list, imported into your table with the identifier populated.
- Surface
- Sync GTM app and MCP server
- Level
- Beginner
- Uses
find_companies- Credits
- ~3 for a 25-row import
- Prerequisite
- Lesson 04's table, and an ICP in words
From description to filters
“Mid-market SaaS companies in Europe” is not a search. Break it into filters that can be evaluated.
| Your words | The filter |
|---|---|
| Mid-market | employee_count 50–500 |
| SaaS | Industry, plus a tech-stack check later — industry tags alone are noisy |
| Europe | Country list, not a region string. Name the countries you actually sell to. |
| Growing | headcount_growth above 0 over 6 months, or a hiring signal |
| Funded | Last funding round within 24 months, minimum amount |
Anything left over that cannot become a filter is a research question, not a search criterion — lesson 09 handles those.
Reference: find_companies and Company enrichments.
Which filters carry weight
Not all filters are equally reliable, and it matters which you lean on.
Strong — use these to define the set
Employee count, country, founded date, funding stage and amount. These are well-covered and rarely wrong.
Medium — use, but verify later
Industry classification and revenue estimates. Industry tags are assigned by heuristic and misclassify plenty of companies; revenue is modelled rather than reported for private companies.
Weak on their own — better as a research step
“Sells to enterprise”, “has a partner programme”, “is remote-first”. These come out of reading the site, not from a directory field.
Size it before you buy it
Run the search and read the count before importing anything. The count itself tells you whether the definition is any good.
| Count | Diagnosis | Action |
|---|---|---|
| Under 50 | Over-filtered, or a genuinely tiny niche | Drop the weakest filter and re-count |
| 200–5,000 | A workable ICP | Import a sample, then the rest |
| Over 20,000 | Under-filtered — this is not an ICP, it is a directory | Add a real qualifier, usually size or stack |
Widen first, then narrow. Start with two or three strong filters, look at 25 rows, and add filters based on what you see is wrong. Starting with eight filters gives you nine companies and no information about which filter was the mistake.
Read 25 rows before you import 2,500
Import a sample and actually read it. Three checks:
- Would you sell to this company? If more than a fifth of the sample is wrong, the filters are wrong.
- Is the domain right? Watch for parent companies, regional subsidiaries and holding entities. These break enrichment later.
- Is anything obviously missing? Companies you know should qualify and are absent point to a filter that is too tight or a coverage gap.
Only after those three does a full import make sense.
Do this now
Write your filters
Take your ICP sentence and convert each clause into a named filter with a value. Anything that will not convert goes on a research list.
Run the search with strong filters only
Employee count, country, and one more. Note the count.
Add filters one at a time
Re-count after each. Note which filter removes the most rows — that is the one doing the work, and the one to sanity-check first.
Import 25 rows
Into the lesson 04 table, mapped to the identifier column.
Read all 25
Apply the three checks. Fix the filters if the sample disappoints.
Import the rest, capped
Set a limit rather than importing everything. A few hundred rows is plenty for a first working pipeline.
Check your work
- Every filter has a value, not a description
- You know the total count the search returns
- You read 25 rows and can say what percentage were wrong
- The identifier column is populated on every imported row
Where this breaks
Relying on the industry filter alone is the most common way to get a list that looks right and converts badly. Industry tags come from classification models, not from a self-reported field, and a company selling developer tooling can be tagged “Information Technology”, “Software”, or “Internet” depending on the source. Use industry as one input among several, and confirm what a company actually does with a research column in lesson 09.
Further automation
Save the search. Re-running it monthly returns companies that newly match — newly funded, newly grown into your size band, newly founded — and appending only those turns a static list into a refreshing one. With the dedupe key from lesson 05 set, the re-run is safe by default.
Next lesson
07 — Finding people, pulling the right contacts at the companies that survive your filters.
Reference for this lesson: find_companies, Company, Import, TAM Sourcing.