B2B Leads Finder: Any Company, Searched Live avatar

B2B Leads Finder: Any Company, Searched Live

Pricing

$2.00 / 1,000 b2b leads

Go to Apify Store
B2B Leads Finder: Any Company, Searched Live

B2B Leads Finder: Any Company, Searched Live

Name any company and get its people: LinkedIn profiles, business emails and phones. Searched live at run time, not resold from a shared database, so it finds the small and regional companies Apollo-style lists never indexed. Every email labelled with how it was obtained.

Pricing

$2.00 / 1,000 b2b leads

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

1

Bookmarked

85

Total users

50

Monthly active users

5 days ago

Last modified

Share

๐Ÿ“ง B2B Leads Finder: Any Company, Searched Live (Not a Database)

Name any company. Get its people: LinkedIn profiles, business emails and phone numbers, searched live at run time rather than pulled from a shared database. No API key, no login, no subscription. You are charged only for leads actually delivered.

โœ… Works on companies no database indexes | โœ… No login or API key | โœ… Pay only for leads delivered | โœ… MCP-ready for AI agents

Most "B2B lead" tools sell you the same list

Search the Store for lead generation and you will find a dozen actors at $1-3 per 1,000 leads. Read their descriptions and you will notice they resell the same 250M-record database. That has three consequences:

  1. Everyone gets identical contacts. Your prospects are being emailed by every other buyer of every one of those tools. Your reply rates and domain reputation pay for it.
  2. They share one upstream, so they fail together. Chronic downtime is normal in this category, to the point where several competitors currently advertise outage recovery in their own product titles.
  3. You cannot target a company that isn't indexed. These tools filter a fixed dataset by industry, headcount and geography. If your target is a 20-person firm in Indore, it is probably not in there, and no filter will conjure it.

What this actor does instead

You give it company names or domains. It searches at run time:

  • Public LinkedIn profiles via Google, for the companies you actually named
  • The company's own site (/team, /about, /contact, /people) for published emails and phone numbers
  • Business email patterns, with the domain's MX records checked at request time

There is no fixed dataset, so there is no index gap. If the company has a web presence, it is a valid target. Coverage of small, regional, non-US and newly founded companies is the point, not an edge case.

We tell you where every address came from

Competitors advertise "verified" emails. Ask what that means and it usually means the domain accepted the address, which a catch-all domain does for any address, right up until it bounces.

We do not make that claim. Every record carries email_confidence and email_pattern so you can judge each address yourself:

email_confidencemeaning
foundpublished on the company's own website, and it exactly matches this person's name
pattern_matchedbuilt using the address format we confirmed from other published addresses on that same domain
guessedthe domain's format could not be determined, so the most common convention was used

email_pattern names the actual format used (first.last, flast, firstlast, and so on), so a pattern_matched address tells you why we believe it.

How the format inference works. While scraping the company's own site we collect any addresses published on its domain, then test those against the people we discovered. If the site publishes j.smith@acme.com and we found John Smith, the domain's format is f.last, and every other address we build for acme.com uses that format instead of a blind default.

Set your expectations honestly: many companies publish no staff addresses at all. Large tech firms in particular publish none. Those rows come back guessed and are labelled that way. Filter on email_confidence if you only want high-trust rows.

What this is not. An MX check confirms the domain accepts mail. It does not confirm the mailbox exists. Confirming a mailbox requires an SMTP probe on outbound port 25, which cloud platforms block and which risks the sender's IP reputation, so no actor running on this infrastructure can honestly promise it whatever its listing says. If you need mailbox-level verification, pipe this output into a dedicated verifier. We would rather tell you that than have you learn it from your bounce rate.

Phone numbers

Where a number is available it comes from the company's own website and is labelled phone_source: "company-website". It is a published company number, not a direct line for that individual, and we will not pretend otherwise.

Numbers are taken from tel: links and from properly formatted numbers in visible page text. Bare unformatted digit runs are rejected outright, because a digit run cannot be distinguished from an ID, a timestamp or a date. Expect fewer phone numbers than competitors quote, and expect the ones you get to be real.

Freshness

Every record carries retrieved_live: true and a scraped_at timestamp from the run that produced it. Nothing is served from a cached dump refreshed on someone else's schedule.

Billing

Charged per lead actually written to the dataset. Blocked runs, empty runs and failed lookups are never charged. There is no hidden actor-start fee.

How it works

LinkedIn has no public people-search API, and the big B2B databases gate their data behind per-seat subscriptions, credit caps and export limits. B2B Leads Finder works only from public data: it reads public LinkedIn profiles that Google has already indexed, using site:linkedin.com/in "company" "job title" search queries. It never authenticates with LinkedIn and never touches LinkedIn's own servers.

For each person found it generates the most common business-email patterns and confirms the domain can receive mail with a DNS MX lookup. It also visits the company's own /team, /about and /contact pages to pull emails and phone numbers that are publicly listed there. No account, no cookies, no credit ceiling, no ban risk.

๐Ÿงพ Input configuration

{
"companies": ["stripe.com", "notion.so"],
"jobTitles": ["CEO", "Head of Marketing"],
"maxLeadsPerCompany": 10,
"scrapeWebsite": true,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["GOOGLE_SERP"] }
}

๐Ÿ“ค Output format

{
"company": "Notion",
"domain": "notion.so",
"name": "Camille Ricketts",
"job_title": "Head of Marketing at Notion",
"linkedin_url": "https://www.linkedin.com/in/camille-ricketts-72a1a03",
"email": "camille.ricketts@notion.so",
"email_confidence": "guessed",
"email_pattern": "first.last",
"phone": null,
"source": "linkedin-serp",
"retrieved_live": true,
"scraped_at": "2026-07-19T09:42:11.204Z"
}

Every lead record contains these fields:

FieldDescription
๐Ÿข companyCompany name
๐ŸŒ domainCompany domain (e.g. stripe.com)
๐Ÿ™‹ nameFull name of the person
๐Ÿ’ผ job_titleJob title or LinkedIn headline
๐Ÿ”— linkedin_urlPublic LinkedIn profile URL
๐Ÿ“ง emailBusiness email
๐ŸŽฏ email_confidencefound, pattern_matched or guessed โ€” how the address was obtained
๐Ÿ”ค email_patternThe address format used (first.last, flast, โ€ฆ)
๐Ÿ“ž phonePhone number published on the company website
๐Ÿ“ phone_sourcecompany-website โ€” a company number, not a direct line
๐Ÿงญ sourcelinkedin-serp or website-scrape
๐Ÿ•’ retrieved_liveAlways true โ€” retrieved during this run, not from a cache
๐Ÿ•’ scraped_atISO timestamp of when the record was captured

๐Ÿ’ผ Common use cases

Sales & outbound prospecting Build a list of decision-makers at your target accounts and load it straight into your sequencer. Reach the small and regional accounts that database tools do not index.

Account-based marketing Enrich a named account list with the people and titles behind each domain. Map who holds which role across a set of competitors or partners.

Recruiting & talent sourcing Find the right department heads at companies you want to hire from. Build a direct-contact pipeline for passive candidates.

CRM enrichment Pass domains you already own and append fresh names, titles and emails. Keep contact records current without a subscription database.

๐Ÿš€ Getting started

  1. Open the actor and add your target companies. Bare domains (stripe.com) work best for email building; plain names work best for LinkedIn discovery.
  2. Add job titles to target (e.g. CEO, Head of Marketing), or leave empty to return every role found.
  3. Set max leads per company (default 10) to control volume and cost.
  4. Leave "scrape company website for emails" on to catch publicly listed addresses, and keep the recommended GOOGLE_SERP proxy group.
  5. Click Start, then download the dataset as JSON, CSV or Excel, or pull it via API/MCP.

FAQ

How does it find emails without an API? It derives the address format the company actually uses from addresses published on its own site, then applies that format to the people it finds. Where no published address is available it falls back to the most common convention and labels the row guessed. Every row tells you which case applies via email_confidence and email_pattern.

Are the emails verified? The domain is verified to accept mail via a DNS MX lookup. The individual mailbox is not, and we will not claim otherwise โ€” see the section above for why that is not possible on this infrastructure. Use email_confidence to decide what to trust, and a dedicated verifier if you need mailbox-level certainty.

Does it log in to or scrape LinkedIn directly? No. It only reads public LinkedIn profiles that Google has already indexed, using standard site:linkedin.com/in search queries through the GOOGLE_SERP proxy. It never authenticates, never uses cookies and never touches LinkedIn's own servers.

How is this different from Apollo or ZoomInfo? Those are subscription databases with per-seat pricing and export caps, and the Store actors that undercut them are mostly reselling the same database. This actor holds no dataset at all: it searches for the specific companies you name, at the moment you run it, which is why it can return people at companies those databases have never indexed.

Why would I pay more than the $1-3 actors? Because you are buying a different thing. They sell bulk slices of a shared list. This searches named targets live, including companies not in any list, and tells you the provenance of every address instead of stamping them all "verified". For a typical run of 20 companies at 10 leads each the difference is a couple of dollars.

Can I use it inside an AI agent? Yes. It is exposed as an MCP tool. See below.

Use in Claude, ChatGPT & any MCP agent

https://mcp.apify.com/?tools=themineworks/b2b-leads-finder

Or call it programmatically with the Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('themineworks/b2b-leads-finder').call({
companies: ['stripe.com', 'notion.so'],
jobTitles: ['CEO', 'Head of Marketing'],
maxLeadsPerCompany: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

B2B Leads Finder's core lead source is Google-SERP-indexed LinkedIn profiles, so it belongs alongside the rest of the LinkedIn wedge:

Typical flow: linkedin-employees or linkedin-candidate-finder finds the people at a target account, b2b-leads-finder adds business emails and phone numbers, linkedin-profile-scraper pulls full work history before outreach.

๐Ÿ› ๏ธ Complete your outbound pipeline

Found the leads. Now enrich and verify them with the rest of the suite:

Typical flow: maps-leads finds the businesses, website-contact-finder and B2B Leads Finder add the people, email-verifier-validator checks deliverability before you send.

Questions or need a custom field set? Reach out through the Apify profile.