Leads Scraper $1.5/1000 Leads up to 50K Run avatar

Leads Scraper $1.5/1000 Leads up to 50K Run

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Leads Scraper $1.5/1000 Leads up to 50K Run

Leads Scraper $1.5/1000 Leads up to 50K Run

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Onion Labs

Onion Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

B2B Contacts Search

Search a curated database of 2.9 million B2B contacts by company, job title, seniority, industry, location and company size. Every result carries the person's professional profile and the firmographics of the company they work at.

Built for prospecting, list building, market research and CRM enrichment.

What you get

One dataset item per contact, with up to 43 fields. Fields are omitted when no value is known, so treat everything except id as optional.

{
"id": "linkedin.com/in/alex-saurbier",
"fullName": "Alex Saurbier",
"linkedinUrl": "https://www.linkedin.com/in/alex-saurbier",
"email": "alexsaurbier@commonroom.io",
"emailStatus": "VERIFIED",
"jobTitle": "Enterprise Account Executive",
"seniority": "Senior",
"department": "Sales",
"companyName": "Common Room",
"companyDomain": "commonroom.io",
"companyIndustry": "Software Development",
"companyEmployeeCount": 183,
"country": "United States",
"sourceCount": 2,
"lastSeenAt": "2026-07-22T10:04:11"
}

sourceCount is how many independent sources agreed on the contact. Higher means better corroborated.

Coverage

FieldShare of contacts
Job title100%
LinkedIn profile99.9%
Company domain94.9%
Email83.6%
Company industry72.3%
Country29.9%
Seniority28.4%
State or region26.6%
Verified email6.9%
Phone6.0%

Filtering on a field excludes every contact that has no value for it. Seniority and department are the sparsest, so pair them with a job title search rather than relying on them alone.

Every filter is optional. Filters combine with AND; multiple values inside one filter are alternatives.

Target companies

  • companyDomains and companyNames to focus on named accounts
  • excludeCompanyDomains to suppress existing customers

People

  • jobTitles and excludeJobTitles, matched against title and LinkedIn headline
  • seniorities and departments, picked from the values used in the data
  • keywords, matched across name, title, headline, bio, skills and company text

Company filters

  • industries, companyTechnologies
  • minCompanyEmployees / maxCompanyEmployees, which understand both exact counts and ranges such as 50-199
  • minCompanyFoundedYear / maxCompanyFoundedYear

Location

  • countries from a list, states and locations as free text

Data quality

  • requireEmail, requireVerifiedEmail, requirePhone, requireLinkedinUrl

Output

  • maxResults, from 1 to 50,000

Example: heads of growth at mid sized software companies

{
"jobTitles": ["head of growth", "vp growth"],
"industries": ["Software"],
"minCompanyEmployees": 50,
"maxCompanyEmployees": 500,
"countries": ["United States"],
"requireEmail": true,
"maxResults": 500
}

Example: everyone at a named account

{
"companyDomains": ["stripe.com", "figma.com"],
"maxResults": 200
}

Naming company domains is the fastest and cheapest query: the actor reads only the slice of the database holding those companies instead of scanning it.

Speed and cost

The run stops the moment maxResults is reached, so asking for 100 contacts costs a fraction of asking for 50,000. A typical filtered query for a few hundred results touches a small percentage of the database and finishes in seconds.

Pricing is pay per event: a small charge per run, plus a per contact charge that is higher for contacts with an email than for profile only contacts. Current prices are shown on the Actor page.

Data quality notes

  • Placeholders are treated as missing. Upstream sources sometimes write Not revealed, Unclassified or [""] where a value is absent. Those are stripped, so requirePhone never returns a row whose phone is a placeholder.
  • Taxonomy fields are normalized. Seniority, country and industry arrive under many spellings and casings. They are canonicalized so one filter value reaches every spelling: US and United States are one country, director and Director are one rank.
  • Free text is verbatim. Company descriptions, bios and headlines are passed through exactly as recorded.
  • The dataset is a point in time snapshot. Contact data decays a few percent a month. lastSeenAt on each record and the build date in the run log tell you how fresh a given record is.

Output schema

The full field list, with types and descriptions, is published as the Actor's output schema and visible on the Actor page. Three preview views are provided: Overview, Contact details and Company.

Support

Open an issue on the Actor page with the run id and the input you used.