ParseForge Scrapers

Lead Formatter - Clean & Enrich Leads

parseforge/lead-formatter

Lead generationAIAutomation

Upload a leads file and get back a cleaned, formatted, and optionally AI-enriched dataset. Perfect for cold email outreach.

Run this scraper See the API call
Total users
10
Monthly active
1
Total runs
304
Bookmarked
2
Rating
5.0 (2)
Last modified
8 days ago

Overview

ParseForge

Lead Formatter - Clean & Enrich Leads

Clean, format, and enrich your leads for cold email in one run. Upload a CSV, Excel, or JSON file and get back a standardized dataset with formatted names, job titles, company names, phone numbers, and optional AI-generated personalization. No code required.

Cold email outreach fails when your lead data is messy: inconsistent job titles, unformatted phone numbers, and missing company context. This tool takes your raw leads file and automatically cleans and standardizes it, so every row is ready for your email campaign. It also offers optional AI enrichment to generate personalized lines, company descriptions, and industry tags, helping you increase reply rates.

Who uses it What they scrape Lead Formatter for
Sales development reps Prepare a clean, deduplicated lead list for cold email outreach
Marketing teams Segment leads by country, job title, or industry for targeted campaigns
Recruiters Format candidate contact details and generate personalized outreach lines

What it does

This Actor uploads a leads file, cleans and formats the contact fields, optionally removes blanks and duplicates, and returns a structured dataset with each lead as a flat row.

  • ๐Ÿงน Data cleaning: remove blank leads, remove duplicates by email, and standardize phone numbers to E.164 format.
  • โœ๏ธ Formatting: capitalize job titles and company names, strip business suffixes like Inc. or LLC.
  • ๐Ÿค– AI enrichment: generate company descriptions, personalized opening lines, case studies, and industry tags.
  • ๐Ÿ” Web search: enable real-time web search to enrich leads with up-to-date company info.
  • ๐Ÿ“ Segmentation: group leads into separate datasets by any field, e.g., country or job title.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Lead Formatter data

๐Ÿ“ˆ Prepare a clean lead list for cold email.

A sales team uploads a messy CSV of prospects and gets back a formatted, deduplicated list ready for their email tool.

๐ŸŽฏ Segment leads for targeted outreach.

A marketer segments leads by country and job title to run region-specific campaigns with tailored messaging.

โœ‰๏ธ Generate personalized email openers.

A founder enables AI personalization to create unique opening lines for each lead, increasing response rates.

๐Ÿข Enrich company data for better context.

A researcher generates company descriptions and industry tags to understand each prospect's business before reaching out.

Why choose this scraper

What you get
Clean data Standardized names, job titles, company names, and phone numbers for professional outreach.
Deduplication Remove duplicate leads by email to avoid contacting the same person twice.
AI personalization Generate tailored opening lines and company descriptions to boost reply rates.
Segmentation Split leads into separate datasets by country, job title, or industry for targeted campaigns.

How it compares

Unlike Skool member scrapers that only pull raw profiles, this tool cleans and enriches your existing leads with formatting and AI personalization.

Feature ParseForge SKOOL | Members/Groups | Discovery Search | Scraper (PPE)
Upload your own leads file Yes Not listed
Remove duplicates by email Yes Not listed
Format job titles and company names Yes Not listed
AI-generated personalized lines Yes Not listed
Email verification Yes Not listed

Configure the run

Feed the Actor a leads file (CSV, Excel, or JSON) and configure cleaning options like removing blanks or duplicates, formatting fields, and enabling AI enrichment. Filters run as each lead is processed, so only the cleaned and enriched data reaches your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "leadsFile": "https://api.apify.com/v2/key-value-stores/rFlGez0FeHA0VgeU0/records/test-incomplete-leads.csv",
  "segmentBy": [],
  "fieldConfigurations": {},
  "temperature": "0.3"
}

Pricing

Pay-per-result: $0.0095 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.95
1,000 results $9.50
10,000 results $95.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect more results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Lead Formatter - Clean & Enrich Leads.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Lead Formatter through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/lead-formatter"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your file has an 'email' column and that the leads are not all blank. If you enabled 'Remove Blank Leads', empty rows are deleted.

Why are some phone numbers not formatted?

Phone formatting works best with US numbers. For international numbers, ensure they include the country code.

Why is AI enrichment slow?

AI features take longer to process. You can disable web search or reduce the number of AI fields to speed up the run.

FAQ

Question Answer
What file formats can I upload? You can upload CSV, Excel (XLSX), or JSON files. The tool automatically detects column names, so you can use variations like 'First Name' or 'first_name'.
How does email verification work? If you provide a Million Verifier API key, each email is checked and a 'verifiedEmail' field is added with statuses like 'valid', 'invalid', or 'disposable'.
Can I remove duplicate leads? Yes, enable the 'Remove Duplicates' option to keep only the first occurrence of each email address.
What does AI enrichment cost? AI features like generating company descriptions or personalized lines increase the run cost slightly. You can enable only the ones you need.
Can I customize the AI output? Yes, use the 'Field Configurations' option to set custom prompts and output column names for each field.
How do I segment leads? Use the 'Segment By' option to list fields like 'country' or 'jobTitle'. Each segment is saved to a separate dataset.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Lead Formatter. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
leadsFile required string Upload your leads file containing contact information to format and enrich. Supported formats: JSON (array of objects), XLSX/Excel (first sheet used), CSV. The tool automatically detects column names (case-insensitive) and supports variations like 'First Name', 'first_name', 'firstName', etc. Required fields: email. Optional fields: firstName, lastName, companyName, jobTitle, country, website, personalPhone, homePhone, domain. https://api.apify.com/v2/key-value-store
removeBlanks boolean Automatically remove leads that have no data in any field. This helps clean your dataset by filtering out completely empty records. Useful when processing large lists with incomplete data. Default: false (keeps all leads). false
removeDuplicates boolean Remove duplicate leads based on email address. If multiple leads have the same email, only the first occurrence is kept. This ensures each contact appears only once in your final dataset. Default: false (keeps all leads including duplicates). false
formatJobTitle boolean Format job titles with proper capitalization and professional standards. Examples: 'ceo' โ†’ 'CEO', 'vice president of sales' โ†’ 'Vice President of Sales', 'cto' โ†’ 'CTO'. Keeps abbreviations uppercase and applies title case formatting. Default: true (recommended for professional appearance). true
formatCompanyName boolean Format company names with proper capitalization and remove business suffixes (Inc., LLC, Corp., Ltd.) for cold email personalization. Examples: 'apple inc' โ†’ 'Apple', 'microsoft corporation' โ†’ 'Microsoft'. This makes company names more personal and natural for email outreach. Default: true (recommended for cold emails). true
formatPersonalPhone boolean Standardize personal phone numbers to a consistent format. Converts various formats (e.g., '123-456-7890', '(123) 456-7890', '1234567890') to E.164 international format (e.g., '+11234567890') or local format. Ensures phone numbers are properly formatted for CRM systems and international dialing. Default: true. true
formatHomePhone boolean Standardize home phone numbers to a consistent format. Converts various formats to E.164 international format or local format. Ensures phone numbers are properly formatted for CRM systems. Default: true. true
generateCompanyDescription boolean AI-generated brief company description based on available company information (name, website, domain). Useful for enriching your lead database with company context. The description helps you understand what each company does before reaching out. Default: false (enables AI content generation, increases cost slightly). false
generatePersonalizedLine boolean AI-generated personalized opening line for cold emails based on lead information (name, company, job title). These opening lines are tailored to each lead and can significantly improve email reply rates. Example: 'Hi John, I noticed you're the CEO at Apple - I'd love to discuss...' Default: false (enables AI content generation, increases cost slightly). false
pullCaseStudy boolean AI-generated brief case study or success story relevant to the company's industry. Useful for personalizing outreach with industry-specific examples and social proof. Helps establish credibility in your cold emails. Default: false (enables AI content generation, increases cost slightly). false
generateIndustry boolean Automatically identify and generate the primary industry for each company. Returns 1-3 words (e.g., 'Technology', 'Healthcare', 'Financial Services'). Useful for segmentation, targeting, and personalization. Helps organize leads by industry for targeted campaigns. Default: false (enables industry identification, increases cost slightly). false
segmentBy array Group leads into segments based on specified fields. Each segment is saved to a separate dataset for easy download and targeted campaigns. Example: ['country', 'jobTitle', 'industry'] creates segments like 'country:USA | jobTitle:CEO | industry:Technology'. Each segment gets its own dataset that you can download separately. Useful for organizing leads by location, role, or industry for targeted outreach. []
sortBy string Sort all leads by a specific field before output. Enter the field name (e.g., 'companyName', 'country', 'jobTitle', 'industry', 'email'). Leads will be ordered alphabetically or numerically based on this field. Use with 'Sort Order' to control ascending/descending. Useful for organizing output in a specific order. not set
sortOrder string (2 options) Control the sort direction when using 'Sort By'. 'asc' = ascending (A-Z, 0-9), 'desc' = descending (Z-A, 9-0). Default: 'asc' (alphabetical order). asc
fieldConfigurations object Advanced: Customize how specific fields are processed and named in output. Each field can have: 'enabled' (boolean - enable/disable field), 'customPrompt' (string - max 100 chars - custom AI instruction), 'outputColumn' (string - custom column name in output). Example: {"companyDescription": {"customPrompt": "Based on company information identify industry make it less than 3 word, do not include dashes, do not include parenthesis", "outputColumn": "Company Description"}}. Useful for customizing AI behavior and mapping fields to your CRM column names. {}
temperature string Control AI creativity and consistency (0-2). Lower values (0.1-0.3) = more consistent, deterministic results. Higher values (0.7-1.0) = more creative, varied results. Recommended: 0.3 for consistent formatting. Use higher values only if you want more creative AI-generated content. Enter as decimal (e.g., 0.3). Default: 0.3. 0.3
enableWebSearch boolean Enable web search to enrich lead data with real-time information from the internet. When enabled, the AI will automatically search the web for company information, industry details, case studies, and other relevant data to enhance your leads. Useful for getting up-to-date company descriptions, industry classifications, and personalized insights. Default: false (enables web search, increases processing time and cost). false
millionVerifierApiKey string Optional: Your Million Verifier API key for email verification. If provided, each email address is verified before output. Verification status is added as 'verifiedEmail' field with values: 'valid' (deliverable), 'invalid' (undeliverable), 'unknown' (cannot verify), 'disposable' (disposable email), 'catch_all' (catch-all domain). Helps improve email deliverability by identifying invalid emails. Get your API key from https://www.millionverifier.com/. Leave empty to skip email verification. not set

Pricing

from $3.50 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.0035
Formatted Lead Charged when a lead is processed $0.0095

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~lead-formatter/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

Rated 5.0 out of 5 across 2 reviews. Read them on Apify.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Lead Formatter - Clean & Enrich Leads on Apify All scrapers