Lookalike Companies Finder - Similar Companies by Domain
DeprecatedPricing
from $0.70 / 1,000 lookalike companies
Lookalike Companies Finder - Similar Companies by Domain
DeprecatedMoved to https://apify.com/b2bdata/similar-companies-by-domain (new price, same job). This older copy is deprecated and kept for reference.
Pricing
from $0.70 / 1,000 lookalike companies
Rating
0.0
(0)
Developer
Open Enrich
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Lookalike Companies from Seed Domains
Pay per result: $0.963/1k on the Free plan down to $0.696/1k on Gold. Free Apify plan: up to 100 per run, as many runs as your credit covers. Misses and notices are free.Lookalike companies from seed domains: give the website domains of companies you already sell to, get back other companies with the same industry code, in the same country, within half to double the seed's headcount, closest size first. The rule is simple and printed on this page. It is a filter, not a similarity score, and we have not measured how well its output matches your own idea of a similar company. No login, no cookies, no start fee. You pay only for each lookalike row you receive.
No login | Seed domains in, similar companies out | Same industry code, same country, similar size | Up to 500 seeds per run | Seeds with no match are free | JSON/CSV export
Not a name or keyword search. This actor starts from a domain. It does not find companies by name, keyword, funding or technology. For a keyword search use linkedin-company-search.
Pricing and plans
One event, lookalike, charged once per lookalike row delivered. Prices per 1,000 lookalikes (draft, set on the Pricing tab):
| Event | When it is charged | Free plan | Gold plan |
|---|---|---|---|
lookalike | One lookalike company is delivered to your dataset | $0.963 | $0.696 |
Bronze and Silver prices are on the Pricing tab. Higher Apify plans only lower the price. Seeds with no usable company record, seeds with no lookalikes, empty runs, failed lookups, unreadable input lines and notices are free, and there is no start fee.
Plan-credit math. The free plan's $5 monthly credit covers about 5,190 lookalike rows at the Free price. With the default of 10 per seed that is about 519 seeds.
Success-only billing
You are charged only for a row you receive, one charge per row. A seed that cannot be used or has no lookalikes is listed in MISSES with a reason and costs nothing. Use limit to set how many rows each seed can cost, and maxChargeUsd (advanced input) to stop a run at a spend you choose.
The free plan
Free plan: 100 seed domains looked up per run, and as many runs as your Apify credit covers. Nothing is stored on our side. When a list is longer, the first 100 seeds are looked up and one free notice row (reason: "free_plan_limit") says how many were not looked up; they are not charged. Run again with the rest, or use a paid Apify plan for no per-run limit.
Keep a run small while you test
Use limit to cap the lookalikes per seed. The default is 10, the maximum is 50. Try 1 to 3 seeds with limit 5, read the rows, then scale up.
How a seed becomes lookalikes
- The seed. The domain is looked up in the company data. The company that owns the domain is the seed. If several companies own it, the largest is used only when it has at least three times the headcount of the next one; otherwise the seed is
ambiguous_seed. The seed needs an industry code, a country and a headcount on file; without them it isseed_incomplete. - The candidates. Companies with the same industry code, in the same country, with a headcount from 0.5 times to 2 times the seed's. The search reads the nearest-sized companies on both sides of the seed's headcount.
- The rules. A candidate is kept only if it owns the domain it declares, is not a placeholder employer (such as a self-employed entry), is not the seed, and is not listed twice under the same domain or the same name.
- The order. Closest headcount to the seed first. Companies with the same headcount are ordered by domain A to Z, so the same input gives the same rows.
What to know before you rely on it
- The industry code is coarse. Some codes are broad buckets, so companies with very different businesses can share one. A payments company and an insurer can sit in the same code. Check the first rows of a new seed before you scale.
- The industry code is known for about half of all companies. A company without one is never returned, and a seed without one returns no row.
- Headcounts repeat. Many companies share the exact same headcount, so among them the order is only alphabetical.
sizeRatioshows how close each row is. - Same country means the country on file for the company, usually where it is registered or headquartered.
- Similar here means these rules. We did not measure how well the rows match what you would call similar.
Why this lookalike companies actor?
- Rules you can read. Same industry code, same country, half to double the size. Nothing hidden behind a score.
- Seed context on every row.
seedDomain,seedName,rankandsizeRatiotell you why the row is there. - No guessing. A seed with no clear owner, no industry, no country or no headcount returns nothing and costs nothing.
- Success-only, no start fee. Misses and notices are free.
Use cases: find similar companies from a customer list
- Lookalike account lists. Take your best customers' domains and build a list of similar-sized companies in the same industry and country.
- Territory expansion. Seed with the accounts you won in one country and get peers to approach next.
- Competitor-adjacent lists. Seed with a company you track and see the same-size companies in its industry code.
- Agent workflows. An AI agent holds a seed domain and needs peer companies. One call, ranked rows.
Pipeline guide: from customers to contacts
[1] Seed domains (your best customers)|v[2] company-lookalikes -> similar companies and their domains|v[3] company-firmographics-by-domain -> company record for each domain|v[4] executive-email-finder-by-domain -> decision makers and emails
Quick start: find similar companies from a domain
1. One seed
{ "items": ["stripe.com"], "limit": 5 }
2. A customer list
{"items": ["stripe.com","https://www.notion.so/","plausible.io"],"limit": 10}
3. A capped run
{ "items": ["stripe.com", "plausible.io"], "limit": 20, "maxChargeUsd": 0.5 }
Inputs
| Key | Type | Default | What it does |
|---|---|---|---|
items | array | required | One seed per entry: a company domain or website URL. A company name or an email address is not a seed. Duplicates are collapsed. Maximum 500 per run; more stops the run with a message before any lookup. |
limit | integer | 10 | Lookalikes delivered per seed, closest headcount first. From 1 to 50. Each delivered row is one charge. |
maxChargeUsd | number | none | Advanced. Stops the run once it has charged this much. |
Any other field stops the run before a lookup with remove unsupported fields: .... Nothing is charged. An entry that is not a domain is listed in MISSES as invalid_domain.
Output
One row per lookalike company. Rows are grouped by seed in input order, then by rank. Empty values are left out of the row.
| Key | Type | Meaning, and when it is missing |
|---|---|---|
seedDomain | string | The seed domain the row belongs to |
seedName | string | The seed company's name |
rank | integer | 1 = closest headcount to the seed, within this seed |
name | string | Lookalike company name |
domain | string | Website domain of the lookalike, lower case, no www. |
website | string | Website address on file, when present |
linkedinUrl | string | The company's professional-network page, when on file |
country | string | 2-letter country code (same as the seed's) |
industry | string | Industry name (same code as the seed's) |
employeeCount | integer | Employee count on file |
sizeRatio | number | Lookalike headcount divided by the seed's, 0.5 to 2 |
founded | integer | Founding year, when on file |
hq | string | Headquarters locality, when on file |
scrapedAt | string | ISO time the run produced the row |
{"seedDomain": "seedco.example","seedName": "Seedco","rank": 1,"name": "Example Platforms","domain": "exampleplatforms.example","website": "https://exampleplatforms.example","country": "US","industry": "Software Development","employeeCount": 1180,"sizeRatio": 0.98,"founded": 2012,"hq": "Austin, Texas","scrapedAt": "2026-11-02T10:00:00.000Z"}
Illustrative row showing the shape. It is not a recorded run.
Other records in the run
MISSES(key-value store):[{index, input, reason}]for every entry that produced no row:invalid_domain,duplicate_input,domain_not_found,seed_not_owner,ambiguous_seed,seed_incomplete,no_lookalikes, orUpstream HTTP <code>.errors-company-lookalikes(key-value store): the seeds that failed for a technical reason, so you can re-run only those.RUN_SUMMARY: counts and stop reason.- Notice rows (
type: "notice") are free and never carry a company.no_lookalikesappears once at the end of a run that left seeds without rows.free_plan_limitappears when a free-plan list is longer than 100.charge_limit_reachedappears when your spend cap or the platform limit is reached; a capped run delivers the rows it already charged for.
What is NOT returned
- Companies found by name, keyword, funding or technology
- Contact details of people at the company
- A similarity score, or any claim that a row is a close match
Reliable results
Our data promise. We work to keep every record current, and we stand behind it. If a record is outdated or a company does not belong in a lookalike list, open the Issues tab with your run link. We review every report and sort it out with you, case by case.
- Misses are free and visible. Every seed without rows is in
MISSESwith a reason and is never charged. - One row, one charge. Each delivered lookalike is charged once, and a row is saved as it is delivered, so a run that stops keeps what it already produced.
- Duplicates are collapsed. The same company under one domain or one name is delivered once, and the seed itself is never returned.
- Bounded pace. Lookups run at 60 requests per minute, three per usable seed, so 100 seeds need roughly 5 minutes.
- Typos fail early. An unsupported input field, a limit outside 1 to 50 or more than 500 seeds stops the run before any charge. If the data source refuses a lookup, the run fails with
Upstream HTTP <code>instead of returning an empty successful run.
For AI agents (MCP)
This actor runs through the Apify MCP server. Prompt to copy:
"Use b2bdata/company-lookalikes with items=["stripe.com"] and limit=5. Return name, domain, employeeCount and sizeRatio for each row. If there are no rows, say the seed had no lookalikes and give the reason from MISSES."
When to use it. You hold the domain of a company and want other companies of the same industry code, country and similar size.
When not to. You hold a name or keyword (use linkedin-company-search), or you need the company record of a known domain (use company-firmographics-by-domain).
Input contract. items array of domains or website URLs; limit 1-50 lookalikes per seed.
Output contract. Rows with seedDomain, rank, name, domain, country, industry, employeeCount, sizeRatio. Output is deterministic: same input, same rows, closest headcount first. Seeds without lookalikes are absent from the dataset and listed in MISSES.
Smoke test. limit: 1 on a well-known company domain returns one row.
Error cases. No valid seed domains means no entry was a domain. remove unsupported fields means a misspelled input key. Both end the run SUCCEEDED with one free invalid-input notice row and nothing charged.
Integrations: send results anywhere
- API. Fetch rows from the run's default dataset:
GET /v2/datasets/{datasetId}/items?format=csv. - Webhook on run success to push rows to your own endpoint.
- n8n, Make, Zapier. Use the native Apify nodes: run the actor, then read the dataset.
- Google Sheets, Airtable, HubSpot, Salesforce. Map
domainto the website field andseedDomainto a source-account column.
Schedule examples
- Monthly lookalike refresh. A monthly schedule with a saved task that points at your latest customer domains.
- New-customer intake. A webhook from your CRM starts a run with the domain of each newly won account.
Related actors
b2bdata/company-firmographics-by-domain: you have a domain and need the company record. Openb2bdata/linkedin-company-search: find companies by keyword and country. Openb2bdata/executive-email-finder-by-domain: get decision makers and emails at a domain. Openb2bdata/email-finder: you have a person and a domain and need a work email. Open
FAQ
Data and matching
How do I find companies similar to my customer? Add the customer's website domain as a seed and run. You get companies with the same industry code and country and a headcount from half to double the seed's, closest size first.
Why did a seed return no rows?
The domain has no company on file, no clear owner of the domain, or no industry code, country or headcount. Or no other company passed the rules. The reason is in MISSES.
Is the similarity score reliable?
There is no similarity score. The rows come from three fixed rules, and sizeRatio shows how close the headcount is. We did not measure how well they match your idea of similar, so read the first rows of a new seed before you scale.
Can I use this as a lookalike companies API for AI agents?
Yes. Call it through the Apify API or MCP with limit: 1. The output is deterministic and ranked.
Do I need a LinkedIn account or cookies? No. It needs no login, cookies or account.
Pricing
What do I pay when a seed has no lookalikes? Nothing. There is no start fee, and seeds with no usable record, seeds with no lookalikes, invalid lines and notices are free.
Support
Use the Issues tab on this actor's Apify page for bugs, questions and feature requests. We answer within 48 hours on working days. Please include the run ID and the input you used.
Published on Apify by b2bdata as proprietary software. Not affiliated with, endorsed by, or sponsored by any company or person named in the examples above.