# Lead Finder PRO — Public B2B Business Leads (`khadinakbar/lead-finder-pro`) Actor

Find scored public-business leads from Google organic results, with transparent source links and website-found contact routes.

- **URL**: https://apify.com/khadinakbar/lead-finder-pro.md
- **Developed by:** [Khadin Akbar](https://apify.com/khadinakbar) (community)
- **Categories:** Lead generation, Jobs, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 public b2b lead founds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Lead Finder PRO — Public B2B Business Leads

Lead Finder PRO returns CRM-ready public-business lead records for sales teams, agencies, and AI agents. Give it a business category and location, and it delivers a deduplicated company domain, website, public homepage contact routes, source URL, organic-search rank, and explainable lead score.

### Best fit and next workflow

Choose Lead Finder PRO for focused B2B prospect discovery from public company websites. It works well for turning a category-plus-location brief into a reviewable company list with clear provenance.

For a map-first local-business workflow, pair this actor with [Google Maps Leads Scraper](https://apify.com/khadinakbar/google-maps-leads-scraper), then pass the highest-scoring company domains into your CRM review queue. This actor is a focused standalone workflow when organic website discovery is the primary source.

### Workflow: from search brief to CRM review

A growth agency starts with `web design agencies` and `B2B SaaS consultants` in Austin. Lead Finder PRO first searches Google organic results through an owner-managed provider, then filters common directories and duplicate domains. Next, it visits each selected company homepage, collects public contact routes, and writes a scored lead record. The agency then reviews the source URL and score reasons before assigning the company to a campaign or CRM owner.

### Quick start

```json
{
    "searchQueries": ["web design agencies", "B2B SaaS consultants"],
    "location": "Austin, TX",
    "maxResults": 20,
    "enrichContacts": true
}
```

`searchQueries` accepts up to ten focused business categories. `location` adds geographic context, and `maxResults` limits unique company domains across the run. Contact-route collection records public homepage emails and a likely contact link when present.

### Output fields

| Field                                        | Meaning                                                                                          |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `companyName`                                | Company name derived from the company website or organic-result title.                           |
| `websiteUrl` and `domain`                    | Resolved company website and normalized duplicate-prevention domain.                             |
| `publicEmails` and `primaryEmail`            | Public business email routes observed on the visited homepage.                                   |
| `contactPageUrl`                             | A likely contact, team, about, or company page linked from the homepage.                         |
| `leadScore` and `scoreReasons`               | Explainable score based on reachability, relevance, location signals, and public contact routes. |
| `sourceUrl`, `sourceRank`, and `searchQuery` | Provenance for reviewing how the company was discovered.                                         |

### Output example

```json
{
    "companyName": "Example Agency",
    "websiteUrl": "https://example.com/",
    "domain": "example.com",
    "publicEmails": ["hello@example.com"],
    "primaryEmail": "hello@example.com",
    "contactPageUrl": "https://example.com/contact",
    "leadScore": 90,
    "scoreReasons": [
        "Found in a Google organic business search",
        "Public business email found on the website",
        "Contact or company page identified"
    ],
    "searchQuery": "web design agencies in Austin, TX",
    "sourceUrl": "https://example.com",
    "sourceRank": 1,
    "location": "Austin, TX",
    "enrichmentStatus": "completed",
    "scrapedAt": "2026-07-21T12:00:00.000Z"
}
```

### Pricing and platform usage

Lead Finder PRO uses Pay per event pricing. A validated public-business lead is charged at **$0.01 per persisted record**, plus Apify platform usage. The `lead-found` event occurs only alongside a completed dataset write. The live Pricing tab is the current source of truth for effective pricing and platform-usage settings.

For example, a 20-record run creates twenty `lead-found` events at $0.01 each, plus the platform usage shown in the Pricing tab.

### API example

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/lead-finder-pro').call({
    searchQueries: ['cybersecurity consulting firms'],
    location: 'London, UK',
    maxResults: 10,
    enrichContacts: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

### AI agent prompt card

> Use Lead Finder PRO to collect 25 public business leads for fractional CFO firms in Chicago, IL. Return each company domain, source URL, public homepage email when observed, contact page URL, lead score, and score reasons. Exclude `example-competitor.com`, keep directory inclusion disabled, and use dataset readback for the CRM handoff.

The compact `OUTPUT` record provides the run outcome and totals, while `RUN_SUMMARY` provides provider, charge, and dataset diagnostics. Agents can use the source URL and collection time as provenance for a later review step.

### Best results and responsible use

- Provide specific business categories such as `cybersecurity consulting firms` or `fractional CFO services`.
- Start with a city, country, or region when geographic relevance matters.
- Keep homepage contact-route collection enabled when public routing information adds value to the review.
- Validate the source URL and score reasons before using a company in a campaign.
- Use this actor for public business information that you are authorized to collect and process under applicable laws and site terms.

### Builder's note

I designed Lead Finder PRO around a simple audit trail: every returned company has its organic-search provenance, and each score includes the reasons behind it. My goal is to give a human or agent enough source context to make an informed CRM decision while keeping the data surface focused on public business information.

# Actor input Schema

## `searchQueries` (type: `array`):

One to ten business categories or ICP phrases to discover, such as \["web design agencies", "B2B SaaS consultants"]. Each term is combined with Location when supplied. This is not a list of URLs or a person-name lookup.

## `location` (type: `string`):

Optional city, state, country, or region that narrows each business search, for example "Austin, TX". Leave blank for location-independent search terms. This is search context, not a precise map-radius filter.

## `maxResults` (type: `integer`):

Maximum number of unique company domains returned across the entire run. Choose an integer from 1 to 100; the default is 10. This cap applies after duplicate and directory filtering, not per search term.

## `enrichContacts` (type: `boolean`):

When enabled, visits each discovered business homepage and records public email addresses and a likely contact page link when present. It does not verify deliverability, guess emails, or enrich private personal data. Default is enabled.

## `includeDirectories` (type: `boolean`):

Include results from directories and social networks such as LinkedIn or Yelp. Default is disabled so the output favors the company’s own website. Enable only when directory pages are useful to your workflow.

## `excludeDomains` (type: `array`):

Optional domains to omit, for example \["competitor.com", "agency-directory.com"]. Subdomains are also excluded. Do not include URLs, paths, or wildcard syntax.

## Actor input object example

```json
{
  "searchQueries": [
    "web design agencies"
  ],
  "location": "Austin, TX",
  "maxResults": 10,
  "enrichContacts": true,
  "includeDirectories": false,
  "excludeDomains": []
}
```

# Actor output Schema

## `leads` (type: `string`):

CRM-ready lead records from the default dataset.

## `output` (type: `string`):

Compact outcome record with totals and warnings.

## `runSummary` (type: `string`):

Detailed provider and billing diagnostics.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "web design agencies"
    ],
    "location": "Austin, TX",
    "maxResults": 10,
    "enrichContacts": true,
    "includeDirectories": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("khadinakbar/lead-finder-pro").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": ["web design agencies"],
    "location": "Austin, TX",
    "maxResults": 10,
    "enrichContacts": True,
    "includeDirectories": False,
}

# Run the Actor and wait for it to finish
run = client.actor("khadinakbar/lead-finder-pro").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "web design agencies"
  ],
  "location": "Austin, TX",
  "maxResults": 10,
  "enrichContacts": true,
  "includeDirectories": false
}' |
apify call khadinakbar/lead-finder-pro --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=khadinakbar/lead-finder-pro",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/YXDqLHgkNFKNxyYpo/builds/GuJiqnf2pLw6fPvRQ/openapi.json
