B2B Buyer Lead Extractor avatar

B2B Buyer Lead Extractor

Pricing

from $8.00 / 1,000 leads

Go to Apify Store
B2B Buyer Lead Extractor

B2B Buyer Lead Extractor

Find B2B buyer leads from SaaS review sites. Extract decision-maker contacts, company data, and tech stack signals for sales outreach.

Pricing

from $8.00 / 1,000 leads

Rating

0.0

(0)

Developer

George Kioko

George Kioko

Maintained by Community

Actor stats

1

Bookmarked

15

Total users

1

Monthly active users

17 days ago

Last modified

Security

Limited permissions

Share

No login. No seat license. No guessing who buys. Lead databases tell you who might buy software like yours. A competitor's customer page tells you who already did. You pay $0.01 per company row and only the start fee for a page that yields no companies.

B2B Buyer Lead Extractor is an Apify Actor that reads competitor customer pages, case study pages and testimonial pages, pulls out the companies named on them, infers each company's website domain and returns a deduplicated lead list as a dataset and a CSV file. It is built for SaaS founders, SDR teams and growth agencies doing competitor customer scraping and account based prospecting, who want proof that a company already pays for a tool like theirs before they write the first email.

Pricing

EventPriceYou pay when
Lead$0.01one company row is written to the dataset
AI analysis$0.00005one lead is enriched with AI, only when aiEnabled is true
Actor start$0.00005a run starts, once per GB of memory, minimum one

$10.00 per 1,000 leads. A run over two customer pages that returns 150 companies costs $1.50 plus the start fee. A page that yields no companies costs only the start fee. AI enrichment calls OpenAI with your own key, so OpenAI bills that usage, not this Actor.

What you get

FieldMeaning
companyNameCompany name read from a logo alt text, a link or a case study card
domainWebsite domain when a link gives it away, or inferred from the name when domainResolutionEnabled is on
domainConfidenceexact, inferred or missing
extractionConfidence0 to 1 score for how clearly the page named the company
extractionContextWhere the name came from, such as img_alt or case_study_link
sourceUrlThe page the company was found on
techStackHintsStripe, HubSpot, Intercom and similar tools seen on the company homepage when enrichmentLevel is full
summary, priority_score, icp_fit, decision_maker_personas, pain_hypothesis, outreach_angleFilled only when aiEnabled is true
processedAtTimestamp of the run

Start here

  1. Put one or more customer, case study or testimonial pages in urls.
  2. Run the Actor.
  3. Download the dataset as JSON or CSV. When outputFormat includes CSV the Actor also saves OUTPUT.csv to the key value store.
{
"urls": ["https://www.notion.com/customers", "https://vercel.com/customers"],
"maxLeadsPerUrl": 100,
"deduplication": true,
"domainResolutionEnabled": true,
"enrichmentLevel": "basic",
"outputFormat": "both"
}

Input

FieldTypeDefaultWhat it does
urlsarrayrequiredCustomer, case study or testimonial pages to read
maxLeadsPerUrlinteger100Cap on companies taken from one page
deduplicationbooleantrueCollapse duplicates by domain, then by company name
followCaseStudyLinksbooleanfalseAlso open internal case study detail pages one level down
maxCaseStudyLinksPerUrlinteger30Cap on case study links followed per page
domainResolutionEnabledbooleantrueInfer missing domains from the company name and page context
domainResolutionConcurrencyinteger6Parallel domain checks
maxDomainCandidatesPerLeadinteger6Candidate domains tested per company with no link
enrichmentLevelstringbasicbasic extracts only, full also fetches each homepage for tech stack hints
complianceModestringstrict_public_onlystrict_public_only stays on public pages, lenient may follow external links
targetRegionstringUSRegion used for the AI tone
aiEnabledbooleanfalseAdd AI summary, score and outreach fields
openaiApiKeystringnoneRequired when aiEnabled is true
openaiModelstringgpt-4o-miniOpenAI model for the AI fields
outputFormatstringbothjson, csv or both
proxyConfigurationobjectApify ProxyProxy settings

Output

One dataset item per company. This row came from a run over the Notion customers page on 2026-10-17 with AI off.

{
"companyName": "Clay",
"domain": "clay.com",
"industry": "",
"companySizeEstimate": "",
"hqLocation": "",
"hqCountry": "",
"regionBlock": "US",
"techStackHints": [],
"linkedinUrl": null,
"summary": "",
"saas_buyer_reason": "",
"priority_score": null,
"icp_fit": "",
"decision_maker_personas": [],
"pain_hypothesis": "",
"outreach_angle": "",
"sourceUrl": "https://www.notion.com/customers",
"processedAt": "2026-10-17T06:27:54.294Z",
"extractionContext": "case_study_link+domain_inferred",
"extractionConfidence": 0.72,
"domainConfidence": "inferred"
}

What is NOT returned

  • No contact names, emails or phone numbers. Pair the domains with the Company Enrichment API or the LinkedIn Company Employees Scraper for people.
  • Inferred domains are best effort. A row marked inferred was matched from the company name and should be checked before outreach, and a row marked missing had no usable link on the page.
  • Logo grids with no links and pages drawn only by JavaScript yield fewer companies. Turn on followCaseStudyLinks to read the detail pages too.
  • Revenue, headcount and funding are not collected. The AI fields are estimates written by the model you pay for.

Use from Claude, ChatGPT and any MCP agent

Add the Actor as an MCP tool and ask your agent for the customers of any competitor.

https://mcp.apify.com/?tools=george.the.developer/saas-buyer-extractor

From Node with the Apify client.

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('george.the.developer/saas-buyer-extractor').call({
urls: ['https://www.notion.com/customers'],
outputFormat: 'json',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((lead) => [lead.companyName, lead.domain, lead.domainConfidence]));

Use cases

  • SaaS founders list every company on three competitors' customer pages and get a warm target account list in minutes.
  • SDR teams feed the CSV into Clay or Apollo and enrich the domains with decision makers.
  • Agencies prove category demand to a client with a deduplicated buyer list across the whole competitive set.
  • Investors map who buys from a portfolio company's rivals.

FAQ

How much does a run cost?

$0.01 per company row plus a start fee of $0.00005 per GB of memory. A run that returns 150 companies costs $1.50. AI analysis adds $0.00005 per lead on top of the OpenAI usage on your own key.

Does it need my OpenAI key?

Only when aiEnabled is true. Without AI the Actor still extracts names, domains and confidence scores.

Why does a row have domainConfidence set to inferred?

The page named the company without linking to its site, so the domain was matched from the name. Treat it as a strong guess and verify it before outreach.

Can it read any customer page?

It reads the HTML the page serves. Pages that draw their logo wall with JavaScript after load may yield fewer rows. Case study detail pages usually name the customer in plain HTML, so followCaseStudyLinks helps there.

Is this compliant?

The Actor reads public marketing pages and collects company names and domains only. It does not collect personal data.