Find Companies
Describe the company profile you want, get back a list of matching companies.
- Tool
find_companies- Cost
- 0.5 credits per company found
- Category
- Source Leads
- Required input
- None — pass at least one filter
- Returns
- Matching company profiles
What it does
- Finds companies based on the filters you pass and returns matching company profiles.
- No required parameter. You must pass at least one filter or there is nothing to search on.
- Filters cover identity, category, location, type, size, revenue, funding, social following, age, headcount growth, department mix, technographics and competitors — see the tables below.
- Cost scales with results — 0.5 credits per company returned. A default page of 25 costs 12.5 credits; a full page of 100 costs 50.
This is how you build an account list. Enrichment tools like enrich_organization work on domains you already have — this call produces them.
Use cases
- Build a TAM list from scratch. Industry, geography, size and type in one call is the fastest route from an ICP definition to a list of real accounts.
- Source funded accounts to work this quarter. Combine
last_funding_round_typeswithlast_fundraise_afterto get companies that have just raised and are spending. - Target on growth rather than size. Headcount-growth filters find the 80-person company scaling fast, which a static headcount range would rank alongside a flat one.
- Find lookalikes of your best customers. Feed competitor domains or a technographic filter and get accounts that resemble the ones already closing.
- Qualify on team shape. Department filters separate a 300-person company with 60 in sales from a 300-person company with six.
How to use it
Connect the MCP server
Follow the setup guide for your client. Browser sign-in, no API key.
Describe the account profile
Find privately held SaaS companies in the US with 51-200 employees.Add the timing signal
Narrow that to companies whose last funding round was series_a or series_b and
closed after 2025-06-01.Add the growth signal
Now only keep companies with min_headcount_growth_percent_6m above 20.Page through the results
Return 100 per page and keep paging with the cursor until I have 300 companies.
Report credits used.Example prompts
| Ask your client | What you get back |
|---|---|
| ”Privately held fintech in Germany, 201-500 employees” | Companies matching company_types, industries, countries, employee_count_ranges |
| ”Series A companies that raised after 2025-06-01” | last_funding_round_types plus last_fundraise_after |
| ”Companies that grew headcount 20%+ in the last 6 months” | min_headcount_growth_percent_6m |
| ”Founded after 2020, over $5M raised, not in retail” | min_year_founded, min_total_funding_usd, exclude_industries |
| ”NASDAQ-listed companies with over 100k LinkedIn followers” | markets plus min_followers |
| ”Companies running Salesforce with at least 25 people in sales” | technologies plus department: "sales" and min_department_headcount |
| ”Companies that compete with hubspot.com, 201-500 employees” | competitor_domains plus employee_count_ranges |
| ”Companies whose engineering team grew 30%+ year over year” | department: "engineering" plus min_department_growth_yoy |
Best prompting practices
- Always pass at least one filter. There is no required parameter, so an unfiltered ask returns whatever the search defaults to rather than what you meant.
- Use the range enums, not free text.
employee_count_rangesaccepts fixed buckets —"51-200","1001-5000". “Mid-market” is not a value. - Dates are
YYYY-MM-DD.last_fundraise_after: "2025-06-01". “Last six months” will not parse. - Stack growth windows deliberately.
min_headcount_growth_percent_1mcatches a sudden spike;_12mcatches sustained expansion. Percent filters favour small companies, absolute filters favour large ones. - Paste the docs URL into the prompt. “Parameter reference:
https://docs.syncgtm.com/mcp_server/tools/find_companies— read it first and use the exact parameter names and value formats.” With this many filters, a client left to guess inventscompany_sizeandlocationand silently drops half your criteria. - Exclude early.
exclude_industriescosts nothing and keeps agencies, recruiters and consultancies out of a list you would otherwise clean by hand. - Filter on the team, not the company.
departmentplusmin_department_headcountfinds accounts that actually staff the function you sell to. Headcount alone does not — a 300-person company with six people in sales is not a sales-tooling buyer. top_technologiesbeatstechnologiesfor qualification.technologiesmatches any detection, including a tag left on one page.top_technologiesmatches what the company actually runs.- One
departmentper call. The department filters all read the samedepartmentvalue, so run separate calls to compare sales-heavy and engineering-heavy accounts. - Set
limitexplicitly. Default is 25.limitis the cost dial at 0.5 credits per company, so ask for volume only when you will use it. - Ask for the raw columns. “Return company_name, primary_domain, employee count, country, last round and date — as CSV.” Left to itself your client writes a paragraph about the market and you lose the fields you paid 0.5 credits each for.
- Search before you enrich. 100 companies here is 50 credits; guessing 100 domains and enriching them at 2 credits each is 200.
Output
{
"companies": [
{
"company_name": "Example Inc",
"primary_domain": "example.com",
"employee_count_range": "51-200",
"countries": ["United States"]
}
],
"next_cursor": "eyJwYWdlIjoyfQ"
}Credits and limits
0.5 credits per company returned. limit is 1–100 with a default of 25, so a default call costs 12.5 credits and a full page costs 50. Run check_credits (free) before a long paging run.
The cost is per result, so paging is what drives spend. Three pages of 100 is 300 companies and 150 credits. Tell your client how many companies you want up front rather than letting it page until the cursor runs out.
Parameters
No parameter is required, but a call with no filters has nothing to match on. Combine filters from any of the families below.
Filters combine as AND across families and any-of within a single array filter. industries: ["Software Development", "Financial Services"] matches either industry; adding countries narrows that set rather than widening it.
Identity
| Parameter | Type | Notes |
|---|---|---|
company_names | array | Fuzzy, any-of |
primary_domains | array | Exact |
websites | array | Full website URL, when the domain alone is ambiguous |
linkedin_urls | array | Company LinkedIn page URL |
linkedin_ids | array | LinkedIn company id |
Category
| Parameter | Type | Notes |
|---|---|---|
industries | array | |
exclude_industries | array | None-of |
categories | array | Crunchbase categories — narrower than industries |
specialities | array | LinkedIn specialities |
linkedin_industries | array | LinkedIn’s own industry taxonomy — differently worded from industries |
Location
| Parameter | Type | Notes |
|---|---|---|
countries | array | Exact HQ country |
headquarters_locations | array | Fuzzy |
largest_headcount_countries | array | Where most employees sit |
street_addresses | array | Street address text |
office_locations | array | Matches any office, not just the HQ |
Type
| Parameter | Type | Notes |
|---|---|---|
company_types | array | e.g. "Public Company", "Privately Held" |
markets | array | e.g. "NYSE", "NASDAQ", or "PRIVATE" |
Size
| Parameter | Type | Notes |
|---|---|---|
employee_count_ranges | array | "1-10" | "11-50" | "51-200" | "201-500" | "501-1000" | "1001-5000" | "5001-10000" | "10001+" |
min_headcount | number | |
max_headcount | number |
Revenue
| Parameter | Type | Notes |
|---|---|---|
min_revenue_usd | number | Matches the estimate’s lower bound |
max_revenue_usd | number | Matches the estimate’s upper bound |
acquisition_statuses | array | e.g. acquired, not_acquired — drop companies already absorbed |
stock_symbols | array | Ticker, e.g. "CRM", "HUBS" |
ipo_after | string | YYYY-MM-DD |
ipo_before | string | YYYY-MM-DD |
fiscal_year_ends | array | Fiscal year end date — useful for budget-cycle timing |
Funding
| Parameter | Type | Notes |
|---|---|---|
min_total_funding_usd | number | |
max_total_funding_usd | number | |
last_funding_round_types | array | e.g. "seed", "series_a", "series_b" |
min_last_round_amount_usd | number | |
max_last_round_amount_usd | number | |
last_fundraise_after | string | YYYY-MM-DD |
last_fundraise_before | string | YYYY-MM-DD |
investors | array | |
tracxn_investors | array | Investors as recorded by Tracxn — catches rounds missing from the primary list |
Social
| Parameter | Type | Notes |
|---|---|---|
min_followers | number | LinkedIn follower count |
max_followers | number | LinkedIn follower count |
min_follower_growth_percent_1m | number | Month-over-month follower growth |
min_follower_growth_percent_3m | number | Quarter-over-quarter follower growth |
min_follower_growth_percent_6m | number | 6-month follower growth |
min_follower_growth_percent_12m | number | Year-over-year follower growth |
crunchbase_urls | array | Crunchbase profile URL |
twitter_urls | array | X / Twitter profile URL |
Age
| Parameter | Type | Notes |
|---|---|---|
min_year_founded | number | |
max_year_founded | number |
Growth
| Parameter | Type | Notes |
|---|---|---|
min_headcount_growth_percent_1m | number | Percent growth over 1 month |
min_headcount_growth_percent_3m | number | Percent growth over 3 months |
min_headcount_growth_percent_6m | number | Percent growth over 6 months |
min_headcount_growth_percent_12m | number | Percent growth over 12 months |
min_headcount_growth_absolute_1m | number | Headcount added over 1 month |
min_headcount_growth_absolute_3m | number | Headcount added over 3 months |
min_headcount_growth_absolute_6m | number | Headcount added over 6 months |
min_headcount_growth_absolute_12m | number | Headcount added over 12 months |
max_headcount_growth_percent_1m | _3m | _6m | _12m | number | Ceiling on percent growth — caps runaway outliers |
max_headcount_growth_absolute_1m | _3m | _6m | _12m | number | Ceiling on headcount added |
Department headcount
Filters on the company’s employee mix rather than its total size — a 300-person company with 60 in sales is a different account to a 300-person company with 6.
| Parameter | Type | Notes |
|---|---|---|
department | string | The department the filters below apply to — see the list under the table |
min_department_headcount | number | Employees in that department |
max_department_headcount | number | Employees in that department |
min_department_percent | number | Department as a percent of total headcount |
max_department_percent | number | Department as a percent of total headcount |
min_department_growth_6m | number | 6-month growth in that department |
min_department_growth_yoy | number | Year-over-year growth in that department |
Accepted department values: accounting, administrative, arts_and_design, business_development, community_and_social_services, consulting, customer_success_and_support, education, engineering, entrepreneurship, finance, healthcare_services, human_resources, information_technology, legal, marketing, media_and_communication, military_and_protective_services, operations, product_management, program_and_project_management, purchasing, quality_assurance, real_estate, research, sales, support.
Technographics
| Parameter | Type | Notes |
|---|---|---|
technologies | array | Technology names, e.g. "Salesforce", "Snowflake" |
technology_categories | array | e.g. "CRM", "Marketing Automation" |
technology_super_categories | array | Broader grouping above category |
top_technologies | array | Matches only the company’s most-used tools, not every trace detection |
min_technologies | number | Total technologies detected — a rough proxy for stack maturity |
max_technologies | number | Total technologies detected |
Competitors
| Parameter | Type | Notes |
|---|---|---|
competitor_domains | array | Companies that compete with these domains — lookalike sourcing from one known account |
Data freshness
| Parameter | Type | Notes |
|---|---|---|
updated_after | string | YYYY-MM-DD — only records refreshed since this date |
indexed_after | string | YYYY-MM-DD — only records first indexed since this date |
Paging
| Parameter | Type | Notes |
|---|---|---|
limit | number | 1–100, default 25 |
cursor | string | From next_cursor on the previous response |
Filter reference
Several filters only match values from a fixed list. A near-miss does not error — it silently matches nothing, which reads like “no companies found”. These are the full accepted value lists, hosted as JSON.
| Filter | Accepted values | Shape |
|---|---|---|
linkedin_industries | static-linkedin-industries.json | Array of strings (~15 KB) |
categories | crunchbase_categories.json | Array of strings (~17 KB) |
largest_headcount_countries | largest_headcount_country.json | Array of { iso_alpha3, name } (~13 KB) |
company_types | company_type.json | Array of strings |
employee_count_ranges | employee_count_range.json | Array of strings |
last_funding_round_types | last_funding_round_type.json | Array of strings |
Pass the name, not an id — largest_headcount_countries: ["United States"], not ["USA"].
Point your client at a list rather than guessing: “fetch https://dyyboia6z5eq9.cloudfront.net/mcp/filters/find_companies/crunchbase_categories.json and pick the categories that match B2B fintech.” It resolves the exact strings once, then reuses them for every call.
To search one locally:
curl -s https://dyyboia6z5eq9.cloudfront.net/mcp/filters/find_companies/static-linkedin-industries.json \
| jq -r '.[]' | grep -i softwareindustries and exclude_industries are a separate, differently-worded taxonomy from linkedin_industries — do not mix strings between the two.
Related tools
| Tool | Use it instead when |
|---|---|
find_people | You want people across many companies, not the companies themselves — 0.5 credits per result |
enrich_organization | You already have the domains and need firmographics — 2 credits |
enrich_linkedin_page | You already have LinkedIn pages and want the cheapest enrichment — 0.5 credits |
search_job_openings | You want the same firmographic filters, but only accounts with a matching open role — 0.5 credits per job found |
google_maps_listings | You are sourcing local businesses rather than firmographic B2B accounts — 0.3 credits per business |
Next steps
- All MCP tools — the full catalogue with credit costs
- TAM Sourcing — workflows that turn a company search into a working list
Keep learning
Two courses take these tools past the reference page — clustered by GTM job, then chained into workflows.