# Lead Intelligence Scorer Pro (`leadops_lab/lead-intelligence-scorer-pro`) Actor

Clean, deduplicate, score, and prepare B2B leads from Apify datasets for CRM import and outreach workflows.

- **URL**: https://apify.com/leadops\_lab/lead-intelligence-scorer-pro.md
- **Developed by:** [jiaxun mao](https://apify.com/leadops_lab) (community)
- **Categories:** Lead generation, AI, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 scored leads

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Intelligence Scorer

Clean, deduplicate, score, and prepare raw B2B leads from Apify datasets for CRM import and outreach workflows.

This Actor is built for one specific job: take messy output from lead-generation scrapers and turn it into a ranked, explainable, CRM-ready list. It does not scrape websites. It works as a post-processing step after Google Maps, event, supplier, directory, or trade-data scrapers.

### What does Lead Intelligence Scorer do?

Lead generation workflows often produce noisy records:

- duplicate companies
- missing emails or phone numbers
- inconsistent company, website, and location fields
- mixed-fit leads in the same dataset
- raw exports that are not ready for a CRM or outreach sequence

This Actor cleans that data and adds a simple lead-prioritization layer.

It outputs:

- normalized company, domain, email, phone, location, and category fields
- deduplication by email, domain, or company + location
- `leadScore` from 0 to 100
- score band: `Excellent`, `Strong`, `Moderate`, or `Weak`
- plain-English scoring reasons
- missing fields to enrich next
- suggested next action
- outreach angle
- original source record for traceability

### Common use cases

- Clean results from Apify lead scrapers before importing them into a CRM.
- Prioritize a large raw lead list before outreach.
- Remove duplicate companies across multiple scraper runs.
- Find which leads need enrichment before a campaign.
- Chain scraper output into n8n, Make, Zapier, HubSpot, Airtable, or Google Sheets.
- Build a repeatable scrape -> clean -> score -> export lead pipeline.

### Input options

Use either:

- `records`: paste a JSON array of raw lead records.
- `sourceDatasetId`: select an existing Apify Dataset ID.

You can also describe your ICP in plain language:

```json
{
  "records": [
    {
      "company": "Northstar HVAC Supply",
      "website": "https://northstarhvacsupply.example",
      "email": "sales@northstarhvacsupply.example",
      "phone": "+1 555 010 2210",
      "city": "Dallas",
      "state": "TX",
      "category": "Industrial supplier",
      "description": "Commercial HVAC supplier serving contractors and property managers"
    }
  ],
  "icpDescription": "Industrial suppliers, HVAC distributors, manufacturers, logistics companies, and B2B service providers with a website and reachable sales contact.",
  "mode": "industrial_supplier",
  "dedupe": true,
  "minimumScore": 0
}
````

### Scoring modes

Choose the mode that best matches your dataset:

- `generic_b2b`: general B2B records
- `local_business`: local service businesses and appointment-driven companies
- `industrial_supplier`: manufacturers, distributors, suppliers, logistics, RFQ, wholesale
- `event_exhibitor`: events, conferences, expos, exhibitors, sponsors

### Output example

```json
{
  "leadScore": 100,
  "band": "Excellent",
  "companyName": "Acme Industrial Supply",
  "domain": "acme-industrial.example",
  "email": "sales@acme-industrial.example",
  "phone": "+1 555 012 1000",
  "location": "Houston, TX",
  "category": "Industrial supplier",
  "reasons": [
    "Lead has enough contact and firmographic data for prioritization.",
    "Matches ICP terms: industrial, hvac, wholesale, sales.",
    "Matches industrial supplier signals: supplier, industrial, wholesale, distributor.",
    "Has a direct contact channel."
  ],
  "missingFields": [],
  "suggestedNextAction": "Import to CRM and start priority outreach.",
  "outreachAngle": "Industrial/supplier lead. Open with sourcing, RFQ, distribution, or trade-intelligence relevance for Acme Industrial Supply.",
  "dedupeKey": "9ff66ab7b2f7ad170115596449e2daa2ff4f4293"
}
```

### What this Actor is not

- It is not a scraper.
- It does not find emails by itself.
- It does not send outreach.
- It does not use paid AI APIs by default.

This makes it cheaper and more stable as a workflow step. Use it after a scraper and before CRM import, enrichment, or outreach.

### Recommended workflow

1. Run your preferred lead scraper.
2. Copy the output Dataset ID.
3. Run this Actor with your ICP description.
4. Export the scored dataset as CSV, JSON, or Excel.
5. Import only `Excellent` and `Strong` leads into your CRM or outreach workflow.

### Why use this Actor?

Many lead scrapers focus on collecting data. This Actor focuses on making collected data usable.

It is useful when you already have leads, but you do not yet know which records are complete, duplicated, relevant, or worth contacting first.

# Actor input Schema

## `records` (type: `array`):

Paste raw leads as JSON objects. Use this or sourceDatasetId.

## `sourceDatasetId` (type: `string`):

Optional Apify Dataset ID to read records from instead of inline records.

## `icpDescription` (type: `string`):

Describe the ideal lead. The Actor extracts keywords and scores records against this.

## `mode` (type: `string`):

Choose a scoring lens for the records.

## `maxRecords` (type: `integer`):

Maximum records to read and score.

## `dedupe` (type: `boolean`):

Merge duplicate leads by email, domain, or company + location.

## `minimumScore` (type: `integer`):

Only output records at or above this score.

## Actor input object example

```json
{
  "records": [
    {
      "company": "Northstar HVAC Supply",
      "website": "https://northstarhvacsupply.example",
      "email": "sales@northstarhvacsupply.example",
      "phone": "+1 555 010 2210",
      "city": "Dallas",
      "state": "TX",
      "description": "Commercial HVAC supplier serving contractors and property managers"
    },
    {
      "company": "Metro Build Expo",
      "url": "https://events.example/metro-build-expo",
      "category": "Building & Construction",
      "city": "Chicago",
      "country": "US",
      "estimatedVisitors": 8500
    }
  ],
  "icpDescription": "B2B companies in construction, HVAC, industrial supply, manufacturing, trade shows, logistics, or services with a website and reachable sales/contact channel.",
  "mode": "generic_b2b",
  "maxRecords": 1000,
  "dedupe": true,
  "minimumScore": 0
}
```

# 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 = {
    "records": [
        {
            "company": "Northstar HVAC Supply",
            "website": "https://northstarhvacsupply.example",
            "email": "sales@northstarhvacsupply.example",
            "phone": "+1 555 010 2210",
            "city": "Dallas",
            "state": "TX",
            "description": "Commercial HVAC supplier serving contractors and property managers"
        },
        {
            "company": "Metro Build Expo",
            "url": "https://events.example/metro-build-expo",
            "category": "Building & Construction",
            "city": "Chicago",
            "country": "US",
            "estimatedVisitors": 8500
        }
    ],
    "icpDescription": "B2B companies in construction, HVAC, industrial supply, manufacturing, trade shows, logistics, or services with a website and reachable sales/contact channel."
};

// Run the Actor and wait for it to finish
const run = await client.actor("leadops_lab/lead-intelligence-scorer-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 = {
    "records": [
        {
            "company": "Northstar HVAC Supply",
            "website": "https://northstarhvacsupply.example",
            "email": "sales@northstarhvacsupply.example",
            "phone": "+1 555 010 2210",
            "city": "Dallas",
            "state": "TX",
            "description": "Commercial HVAC supplier serving contractors and property managers",
        },
        {
            "company": "Metro Build Expo",
            "url": "https://events.example/metro-build-expo",
            "category": "Building & Construction",
            "city": "Chicago",
            "country": "US",
            "estimatedVisitors": 8500,
        },
    ],
    "icpDescription": "B2B companies in construction, HVAC, industrial supply, manufacturing, trade shows, logistics, or services with a website and reachable sales/contact channel.",
}

# Run the Actor and wait for it to finish
run = client.actor("leadops_lab/lead-intelligence-scorer-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 '{
  "records": [
    {
      "company": "Northstar HVAC Supply",
      "website": "https://northstarhvacsupply.example",
      "email": "sales@northstarhvacsupply.example",
      "phone": "+1 555 010 2210",
      "city": "Dallas",
      "state": "TX",
      "description": "Commercial HVAC supplier serving contractors and property managers"
    },
    {
      "company": "Metro Build Expo",
      "url": "https://events.example/metro-build-expo",
      "category": "Building & Construction",
      "city": "Chicago",
      "country": "US",
      "estimatedVisitors": 8500
    }
  ],
  "icpDescription": "B2B companies in construction, HVAC, industrial supply, manufacturing, trade shows, logistics, or services with a website and reachable sales/contact channel."
}' |
apify call leadops_lab/lead-intelligence-scorer-pro --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Lead Intelligence Scorer Pro",
        "description": "Clean, deduplicate, score, and prepare B2B leads from Apify datasets for CRM import and outreach workflows.",
        "version": "0.1",
        "x-build-id": "CWh9ZXyAMpAyJ3MbJ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/leadops_lab~lead-intelligence-scorer-pro/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-leadops_lab-lead-intelligence-scorer-pro",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/leadops_lab~lead-intelligence-scorer-pro/runs": {
            "post": {
                "operationId": "runs-sync-leadops_lab-lead-intelligence-scorer-pro",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/leadops_lab~lead-intelligence-scorer-pro/run-sync": {
            "post": {
                "operationId": "run-sync-leadops_lab-lead-intelligence-scorer-pro",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "icpDescription"
                ],
                "properties": {
                    "records": {
                        "title": "Inline lead records",
                        "type": "array",
                        "description": "Paste raw leads as JSON objects. Use this or sourceDatasetId."
                    },
                    "sourceDatasetId": {
                        "title": "Source Apify dataset",
                        "type": "string",
                        "description": "Optional Apify Dataset ID to read records from instead of inline records."
                    },
                    "icpDescription": {
                        "title": "Ideal customer profile",
                        "type": "string",
                        "description": "Describe the ideal lead. The Actor extracts keywords and scores records against this."
                    },
                    "mode": {
                        "title": "Scoring mode",
                        "enum": [
                            "generic_b2b",
                            "local_business",
                            "industrial_supplier",
                            "event_exhibitor"
                        ],
                        "type": "string",
                        "description": "Choose a scoring lens for the records.",
                        "default": "generic_b2b"
                    },
                    "maxRecords": {
                        "title": "Maximum records",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum records to read and score.",
                        "default": 1000
                    },
                    "dedupe": {
                        "title": "Deduplicate records",
                        "type": "boolean",
                        "description": "Merge duplicate leads by email, domain, or company + location.",
                        "default": true
                    },
                    "minimumScore": {
                        "title": "Minimum output score",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Only output records at or above this score.",
                        "default": 0
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
