B2B Leads Finder — Prospects by Title, Industry & Location API
Pricing
from $30.00 / 1,000 b2b lead records
B2B Leads Finder — Prospects by Title, Industry & Location API
B2B leads by job title, industry & location: name, title, seniority, LinkedIn username and search link, company and domain. When the company is identified, each lead carries a business email labelled pattern-confirmed (found on the company's own site) or domain-only (a pattern guess).
Pricing
from $30.00 / 1,000 b2b lead records
Rating
0.0
(0)
Developer
NexGenData
Maintained by CommunityActor stats
0
Bookmarked
187
Total users
4
Monthly active users
21 hours ago
Last modified
Categories
Share
B2B Leads Finder — by Job Title, Industry & Location
Don't have a prospect list yet? Describe your ideal buyer — job title, industry, company size, and location — and get back a ready-to-export list of named B2B leads: name, job title, seniority, industry, LinkedIn username and search link, with a confidence score. When the person's company can be identified (about 1 in 5 rows in recent runs) the row also carries company, domain and a business email when the company is identified, labelled pattern-confirmed or domain-only (a pattern guess). No phone numbers. Unlike a URL scraper, this discovers net-new contacts you didn't know existed; you start from a search, not from a list of domains you already have.
This is a lead-discovery tool. If you already have a list of websites or domains and just want the contact details off each one, use the Website Contact Scraper instead — this actor is for finding people from scratch by who they are and where they work.
📊 Sample Output

fullName | linkedinUrl | linkedinUsername | jobTitle | company | companyDomain |
|---|---|---|---|---|---|
| Li Zhang | https://www.linkedin.com/in/li-zhang-a36aba3a2 | li-zhang-a36aba3a2 | Marketing Manager | Technology Leader Companies | technologyleadercompanies.com |
| Farhang Raissi | https://www.linkedin.com/in/farhang-raissi-b06b29193 | farhang-raissi-b06b29193 | Marketing manager | Sirf technology | sirftechnology.com |
| Lily Chen | https://www.linkedin.com/in/lily-chen-a36aba3a2 | lily-chen-a36aba3a2 | Marketing Manager | Technology Leader Companies | technologyleadercompanies.com |
Real rows from run BL9QNQawgKhzeHTe1 on build 0.0.88 (2026-09-25), unedited apart from masked emails/phones and shortened long text; fields the source does not publish are empty.
🔧 Input reference
| Field | Type | Default | What it does |
|---|---|---|---|
searchQuery | string | "" | Custom search query (overrides other fields if provided). Example: 'Marketing Manager at tech companies in San Francisco' |
jobTitle | string | "Marketing Manager" | Job title to search for. Example: 'Marketing Manager', 'Sales Engineer' |
company | string | "" | Specific company to search within (leave empty to search broadly). Example: 'Acme Corp' |
industry | string | "Technology" | Industry to filter by. Example: 'Technology', 'Finance', 'Healthcare' |
location | string | "San Francisco" | Geographic location to search in. Example: 'San Francisco', 'New York', 'United States' |
maxResults | integer | 50 | Maximum number of leads to find (1-500) |
notionConnector | string | Optional. Connect your Notion workspace and the leads are also written as a Notion page in the same run — the Actor never sees your Notion credentials. Authorize a Notion MCP conn… | |
notionParentId | string | Optional. The Notion page ID to create the page under. If blank, Notion creates a private page in your workspace. | |
supabaseConnector | string | Optional. Connect your own Supabase project and the results are also inserted into a table in the same run — the Actor never sees your Supabase credentials. Authorize a write-scop… | |
supabaseTable | string | "nexgendata_leads" | Target table in the public schema (created if missing, with id, a jsonb data column, and a scraped_at timestamp). Default: nexgendata_leads. |
supabaseProjectId | string | Your Supabase project reference (e.g. abcdefghijklmnop). Required unless your connector URL is already project-scoped. Find it in your project URL: supabase.com/dashboard/project/… | |
deliveryDedup | boolean | true | When on (default), records already delivered in a previous run are not delivered again to the same destination — so scheduled runs only push new items. Turn off to deliver every r… |
addonVerifyEmail | boolean | false | Also ask the company's mail server whether the exact mailbox exists (SMTP, port 25); a clear yes makes the lead mailbox-confirmed. Opt-in add-on, charged only when the mail server actually answers. Note: the Apify platform currently blocks outbound port 25, so this check can't run there and is not charged. |
🧾 JSON sample record
One real record from run BL9QNQawgKhzeHTe1 (emails/phones masked, long text shortened):
{"fullName": "Li Zhang","firstName": "Li","lastName": "Zhang","linkedinUrl": "https://www.linkedin.com/in/li-zhang-a36aba3a2","linkedinUsername": "li-zhang-a36aba3a2","jobTitle": "Marketing Manager","company": "Technology Leader Companies","snippet": "Marketing Manager at Technology Leader Companies - LinkedIn","match_confidence": "high","confidence": "pattern-confirmed","emailPattern": "first.last","patternEvidenceUrl": "https://example-company.com/team","domainAcceptsMail": true,"companyDomain": "technologyleadercompanies.com","possibleEmails": ["[email on record]","[email on record]","[email on record]","[email on record]","[email on record]","[email on record]","[email on record]","[email on record]","…"],"primaryEmail": "[email on record]","source": "duckduckgo_linkedin","seniority": "manager","industry": "Technology","email_status": "pattern-confirmed"}
💰 Pricing
| Event | Price (USD) | When it is charged |
|---|---|---|
Actor Start (apify-actor-start) | $0.00005 | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
B2B lead record (apify-default-dataset-item) | $0.03 | Single result in the default dataset. |
Add-on: LinkedIn enrichment (addon-linkedin-enrich) | $0.05 | For each lead, fetch LinkedIn profile data including title, company, tenure and education when matchable. Charge fires per lead successfull… |
Add-on: Email verification (addon-email-verify) | $0.02 | SMTP-validate each lead email and return deliverability score. Only valid (non-bounced) emails are charged. |
Pay-per-event: you pay only for what the run delivers. A run that delivers nothing bills no result events (only the actor-start event, when the actor defines one). Example: a run that delivers 100 results costs 100 × $0.03 = $3.00 plus the start fee.
What you get per lead
fullName,firstName,lastName,jobTitle,seniority,industrylinkedinUsername,linkedinSearchUrl(a LinkedIn people-search link);linkedinUrlonly when the profile URL was foundconfidence(pattern-confirmed / domain-only / mailbox-confirmed — empty when there is no email),email_status(same value, or "no email found"),emailNote(on pattern guesses),match_confidence(how well the profile matched your title: high / medium),source,snippetemailPattern,patternEvidenceUrl(the company page the pattern was found on),domainAcceptsMail,mailboxCheck(with the add-on)company,companyDomain,primaryEmail,possibleEmails— present when the person's company could be identified; checkconfidencebefore you send (domain-only = pattern guess)- No phone numbers and no company size or HQ fields
Use cases
- SDR / BDR teams — build a monthly ABM list by ICP filters (title + industry + size + geo).
- Agencies — run cold outreach for multiple clients without per-client seats.
- Founders — bootstrap an outbound pipeline before committing to a seat-based database.
- Recruiters / executive search — find decision-makers across a vertical.
- Investors / corp-dev — map a niche (e.g. "EU Series A fintech founders").
Sample input
{"jobTitle": "VP Marketing","industry": "SaaS","location": "United States","maxResults": 200}
Sample output
One real row from run 7IefvAkqfkilFKrix (email masked, long text shortened); company, companyDomain, possibleEmails, primaryEmail appear only when the company could be identified:
{"fullName": "Howard Tran","firstName": "Howard","lastName": "Tran","linkedinUrl": null,"linkedinSearchUrl": "https://www.linkedin.com/search/results/people/?keywords=Howard+Tran","linkedinUsername": "howard-tran","company": "Meta","jobTitle": "Sr. Growth Marketing Manager","snippet": "LinkedIn · Howard Tran 1.6K+ followers LinkedIn · Howard Tran 1.6K+ followers San Francisc…","match_confidence": "high","confidence": "pattern-confirmed","emailPattern": "first.last","patternEvidenceUrl": "https://example-company.com/team","domainAcceptsMail": true,"companyDomain": "meta.com","possibleEmails": ["[email on record]","[email on record]","[email on record]","…"],"primaryEmail": "[email on record]","source": "google_linkedin","seniority": "manager","industry": "Technology","email_status": "pattern-confirmed"}
How to use
- Click Try for free to open the Actor in the Apify Console.
- Fill in Job Title, Industry, and Location (or a free-text Search Query).
- Set Maximum Results and click Start.
- Download leads as JSON, CSV, or Excel, or pull them via the REST API.
Run it on a schedule
A weekly or monthly run is the realistic cadence for prospecting, because the pool of people matching a job title, industry and location grows slowly. Re-running the same search mostly returns the same people, with some new names each time. When you deliver to Notion or Supabase, deliveryDedup (on by default) skips records already delivered to that destination in an earlier run, so a scheduled run only pushes new leads. Send each run's results onward with a webhook, Google Sheets, Zapier, Make or the Apify API.
Video guides from Apify: Schedule your Actor · Integrations
FAQ
Why use this instead of the official LinkedIn search?
This actor builds the list from public web search results for LinkedIn profiles (the source field shows this), so you do not need a seat on a contact database. Each lead comes back as one row with name, job title, seniority, company, company domain, LinkedIn URL and candidate business emails, ready to export as JSON, CSV or Excel. It is not made by or linked to LinkedIn.
What does a typical run cost?
You pay per result, not for run time: $0.03 for each lead delivered (every lead is charged the same, whatever its email confidence), plus $0.00005 per run start (charged per GB of run memory, minimum one). A run that returns 25 leads costs about $0.75. Optional extras are charged only when you turn them on: LinkedIn enrichment add-on per lead $0.05; email-verify add-on per lead $0.02. Live prices are always shown in the Pricing tab.
How do I find marketing managers at tech companies in a specific city?
Set jobTitle (for example "Marketing Manager"), industry (for example "Technology") and location (for example "San Francisco"), or write it as one sentence in searchQuery. Set maxResults between 1 and 500. Use the company field to search inside one organization.
How sure are the emails?
What you get and what you pay. Every lead found is delivered and charged at the normal row price ($0.03) — the lead (name, title, seniority, company, domain, LinkedIn link) is the product. When the company is identified, the lead also carries an email, and confidence says exactly how sure it is: pattern-confirmed — the company's address pattern (for example first.last) was found from a real address on the company's own website, next to that person's name, and the domain accepts mail; domain-only — the domain accepts mail but the address is a pattern guess, not a confirmed address (emailNote says so on the row); mailbox-confirmed — the company's mail server accepted that exact mailbox (needs addonVerifyEmail and outbound port 25, which the Apify platform currently blocks, so you won't see this on Apify today). Leads whose company couldn't be identified have no email (email_status: "no email found"). The old title-match level is match_confidence (high / medium).
Do I need a list of companies to start?
No. This is a discovery tool: you describe who you want and it finds matching people. If you already have a list of domains and want the contacts on each site, a contact scraper is the better fit.
Related actors
- Company Enrichment API — Domain to Firmographics & Tech — add industry, size and tech stack for the companies you found.
- Email Verification API — Bulk Syntax, MX & Disposable Checks — check a whole list of addresses before outreach.
- Business Email Lookup — Email Finder by Name and Domain — find an email for a specific person at a known company.
- B2B Lead List Cleaner — Dedupe, Normalize & MX check — dedupe and tidy lead lists from several runs.
- Leads to Notion CRM — push your leads into a Notion CRM.