Leadmagic
Sales IntelligenceLeadMagic is a B2B data enrichment and lead intelligence platform that provides real-time email finding, validation, and profile enrichment via a developer-friendly API. It enables GTM teams, AI agent builders, and revenue engineers to identify, enrich, and activate leads across CRMs, outbound tools, ad platforms, and custom workflows. LeadMagic is designed for high-volume, programmatic data enrichment with a credit-based pricing model optimized for scale.
Overview
Capabilities
Work Email Finder
LeadMagic's email finder takes a person's name and company domain as inputs and returns a verified work email address. The underlying engine cross-references multiple data sources to maximize hit rate, making it particularly effective for finding emails at mid-market and enterprise companies where standard pattern-matching (firstname.lastname@company.com) fails due to naming conventions or subdomain structures. For GTM teams, this means prospect lists built from LinkedIn searches or event attendee data can be enriched with deliverable work emails without manual research. The email finder is accessible via the `/email-finder` API endpoint, making it callable from Clay tables, n8n workflows, Zapier automations, and custom scripts. In our experience working with outbound agencies, LeadMagic's work email hit rate is competitive with Findymail and often stronger for North American B2B contacts.
Email Validation
Beyond finding emails, LeadMagic validates whether an email address is deliverable, risky, or invalid — a critical step before any email campaign that protects sender reputation and reduces bounce rates. The validation engine checks MX records, SMTP handshakes, and pattern analysis to classify emails into actionable categories. For email marketing integration workflows, this means enriched lists can be automatically scrubbed before being pushed downstream to Smartlead, Instantly, or HubSpot sequences. The [Email Validation Playground](https://docs.leadmagic.io) in LeadMagic's API documentation allows teams to test validation logic interactively before building it into production pipelines. From our work with B2B teams, running validation as a gate before campaign activation typically reduces bounce rates by 15–30% and meaningfully improves domain health over time.
LinkedIn Profile Enrichment
LeadMagic can enrich contact records using a LinkedIn profile URL as the primary identifier, returning structured data including job title, seniority, department, company size, location, and more. This capability is foundational for teams building personalized outbound sequences, where message relevance depends on accurate role and seniority data. It also enables dynamic lead scoring — routing enterprise decision-makers to high-touch sequences while filtering out junior or non-relevant contacts. In AI agent workflows, LinkedIn URL enrichment can be triggered programmatically when a prospect engages with content, visits a pricing page, or submits a form, ensuring enrichment happens at the moment of intent rather than in a batch process hours later. The enrichment data returned is structured JSON, making it immediately usable in downstream tools without transformation.
Mobile Phone Lookup
LeadMagic appends mobile phone numbers to contact records, enabling multi-channel outbound sequences that combine email with direct dial or SMS. Mobile phone data is notoriously difficult to source reliably — most B2B databases have significantly lower mobile coverage than email coverage — which is why LeadMagic's phone lookup is typically used as a secondary enrichment step after email is confirmed. For sales teams running high-value, low-volume outbound (e.g., targeting VP and C-suite contacts at enterprise accounts), appending a direct mobile number can meaningfully increase connection rates compared to email-only outreach. In waterfall enrichment sequences, phone lookup is often run after email enrichment succeeds, maximizing credit efficiency by only querying phone data for contacts where the core email record is already validated.
Company and Firmographic Enrichment
LeadMagic's company enrichment endpoints return firmographic data — industry, headcount, revenue range, technology stack, location, and funding status — from a company domain or name. This data is essential for lead scoring models, ICP filtering, and account-based marketing workflows where contact-level data alone is insufficient for routing and prioritization decisions. RevOps teams use company enrichment to automatically tier inbound leads by company size, flag accounts that match target verticals, and suppress records from companies already in the CRM. For AI agent pipelines, company enrichment provides the account-level context needed for LLMs to generate relevant, personalized outreach — replacing the generic messaging that results from contact-only data. Maestro leverages LeadMagic's company enrichment API to power its account scoring and lead routing logic without requiring manual data entry.
Waterfall Enrichment Sequencing
LeadMagic is designed to operate inside waterfall enrichment sequences — a strategy where multiple data providers are queried in order, with each subsequent provider only called if the previous one fails to return a result. This approach dramatically improves coverage rates compared to relying on a single provider. A typical waterfall might query LeadMagic first for work email, fall back to Findymail if no result is returned, then try Prospeo or Icypeas as a third layer. The sequencing logic is implemented in the orchestration layer (Clay, n8n, or custom code) rather than within LeadMagic itself, but LeadMagic's credit model — where credits are only consumed on successful matches — makes it cost-efficient to use as the primary layer in a waterfall. From our work with outbound agencies running 10,000+ contact enrichment workflows monthly, waterfall sequencing with LeadMagic as the first provider typically achieves 70–85% email coverage on well-defined ICP lists.
Native Integrations (Clay, Smartlead, HubSpot, and More)
Beyond the raw API, LeadMagic offers native integrations with key tools in the modern GTM stack. The [Clay integration](https://docs.clay.com/integrations/leadmagic) is the most fully featured, offering both a Clay-managed account option (where users access LeadMagic through Clay's shared credits) and a bring-your-own-API-key option for teams that want direct credit control and higher rate limits. The [Smartlead integration](https://www.leadmagic.io/integrations/smartlead) allows enriched contacts to be pushed directly into Smartlead campaigns via API key authentication, creating a one-step workflow from enrichment to sequence enrollment. HubSpot and Salesforce connections enable enriched data to be written back to CRM records automatically, keeping contact and company fields current without manual updates. LeadMagic also supports AI and MCP (Model Context Protocol) integrations for teams building LLM-native GTM workflows.
Setup Guide
Create Your LeadMagic Account and Generate an API Key
Navigate to app.leadmagic.io and sign up for a LeadMagic account. After email verification, go to your account settings and locate the API Keys section. Click 'Generate New API Key' and assign it a descriptive label (e.g., 'Clay Production', 'n8n Enrichment', 'HubSpot Integration'). Copy the key immediately — it will not be shown again in full after initial generation. Store it securely in a secrets manager (AWS Secrets Manager, HashiCorp Vault, or at minimum an encrypted environment variable). Avoid hardcoding API keys in source code or sharing them across multiple integrations without separate scoped keys, as this makes it difficult to rotate credentials if a key is compromised. For team environments, create one API key per integration so you can monitor credit consumption per workflow and rotate keys independently.
# Store your API key as an environment variable
export LEADMAGIC_API_KEY="your_api_key_here"
# Verify the key works with a simple test call
curl -X GET "https://api.leadmagic.io/v1/credits" \
-H "X-API-Key: $LEADMAGIC_API_KEY" \
-H "Content-Type: application/json"Connect LeadMagic to Clay (Managed Account or Own API Key)
In Clay, open any table and add a new enrichment column. Search for 'LeadMagic' in the integration library. You will see two connection options: the Clay-managed LeadMagic account (where enrichment credits are drawn from Clay's shared pool at Clay's per-credit rate) or your own LeadMagic API key (where credits are drawn from your LeadMagic account directly). For low-volume or exploratory use, the Clay-managed option is faster to set up. For production workflows processing thousands of records monthly, connecting your own API key gives you better credit economics, higher rate limits, and direct visibility into consumption via LeadMagic's dashboard. To connect your own key, select 'Use my own API key', paste the key generated in Step 1, and click 'Authenticate'. Clay will validate the key and display your available credit balance.
// Clay table formula example: Find work email from LinkedIn URL
// In Clay, reference this as a LeadMagic enrichment column
{
"linkedin_url": "{{row.linkedin_profile_url}}",
"provider": "leadmagic"
}Connect LeadMagic to Smartlead for End-to-End Enrichment to Outbound
In LeadMagic's native Smartlead integration, navigate to Integrations in your LeadMagic dashboard and select Smartlead. You will be prompted to enter your Smartlead API key, which you can find in Smartlead under Settings > API. Once authenticated, you can configure LeadMagic to automatically push enriched and validated contacts into a specified Smartlead campaign. The workflow is: upload or import a raw contact list to LeadMagic → run email finder and validation enrichment → filter to verified emails only → push to Smartlead campaign via the native connector. This eliminates the need for CSV exports and re-imports, reducing the enrichment-to-activation time from hours to minutes. Ensure you map the correct field names between LeadMagic's output schema and Smartlead's contact fields to avoid null values in your campaign records.
# Example: Push enriched contact to Smartlead via LeadMagic integration
# This is handled natively in the UI, but the underlying API call looks like:
curl -X POST "https://api.leadmagic.io/v1/integrations/smartlead/push" \
-H "X-API-Key: $LEADMAGIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "your_smartlead_campaign_id",
"contacts": [
{
"email": "john.doe@company.com",
"first_name": "John",
"last_name": "Doe",
"company": "Acme Corp"
}
]
}'Set Up API-Based Enrichment for Custom Workflows (n8n, Zapier, or Custom Code)
For teams not using Clay or a native connector, LeadMagic's REST API can be called from any HTTP-capable automation tool. In n8n, add an HTTP Request node, set the method to POST, enter the appropriate LeadMagic endpoint URL (e.g., `https://api.leadmagic.io/v1/email-finder`), and add the `X-API-Key` header with your API key value. In the body, pass the required parameters (e.g., `first_name`, `last_name`, `domain`). The response will be a JSON object containing the found email, confidence score, and validation status. In Zapier, use the Webhooks by Zapier action to make the same POST request. For custom code, use any HTTP library in your language of choice. Implement retry logic with exponential backoff for rate limit errors (HTTP 429) and always log the credit cost per call to track consumption against your monthly budget.
import requests
import os
LEADMAGIC_API_KEY = os.environ.get("LEADMAGIC_API_KEY")
def find_work_email(first_name: str, last_name: str, domain: str) -> dict:
response = requests.post(
"https://api.leadmagic.io/v1/email-finder",
headers={
"X-API-Key": LEADMAGIC_API_KEY,
"Content-Type": "application/json"
},
json={
"first_name": first_name,
"last_name": last_name,
"domain": domain
}
)
response.raise_for_status()
return response.json()
# Example usage
result = find_work_email("Jane", "Smith", "acme.com")
print(result)
# Output: {"email": "jane.smith@acme.com", "status": "valid", "confidence": 0.95}Configure Credit Monitoring and Alerts
Before running large enrichment jobs, set up credit monitoring to avoid unexpected depletion mid-workflow. In your LeadMagic dashboard, navigate to Account > Credits to view your current balance and consumption history broken down by endpoint. For automated pipelines, use the `/credits` API endpoint to programmatically check your balance before initiating batch enrichment jobs — this allows you to pause or alert when credits fall below a defined threshold. From our experience working with B2B teams running high-volume enrichment, the most common integration failure mode is credit exhaustion mid-batch, which results in partial enrichment and inconsistent data quality in downstream tools. Implement a pre-flight credit check in any script that processes more than 500 records, and set up a webhook or cron job to alert your team when balance drops below 20% of your monthly allocation.
def check_credits_before_batch(min_required: int) -> bool:
response = requests.get(
"https://api.leadmagic.io/v1/credits",
headers={"X-API-Key": LEADMAGIC_API_KEY}
)
data = response.json()
available = data.get("credits_remaining", 0)
if available < min_required:
raise RuntimeError(f"Insufficient credits: {available} available, {min_required} required")
return True
# Run before any large batch job
check_credits_before_batch(min_required=1000)Push Enriched Leads Back to Ad Platforms via Server-Side Conversion APIs
One of the most powerful but underdocumented LeadMagic integration patterns is pushing enriched contact data back to LinkedIn and Meta for audience matching and server-side conversion tracking. After enrichment, hash the validated email addresses using SHA-256 and submit them to LinkedIn's Conversion API or Meta's Conversions API. This creates a closed loop: LeadMagic finds and validates the email, your outbound sequence engages the prospect, and the enriched email is used to match the contact back to your ad audiences for retargeting or to attribute the conversion server-side. In our experience, this approach — inspired by the same server-side architecture used in tools like MagnetLab's direct LinkedIn Conversion API integration — significantly improves LinkedIn matched audience sizes compared to pixel-only tracking, because work emails match LinkedIn profiles at a much higher rate than cookie-based identifiers.
import hashlib
import requests
def hash_email(email: str) -> str:
return hashlib.sha256(email.strip().lower().encode()).hexdigest()
def push_to_linkedin_conversions_api(
access_token: str,
conversion_id: str,
email: str,
event_time: int
):
hashed_email = hash_email(email)
payload = {
"conversion": conversion_id,
"conversionHappenedAt": event_time,
"user": {
"userIds": [{"idType": "SHA256_EMAIL", "idValue": hashed_email}]
}
}
response = requests.post(
"https://api.linkedin.com/rest/conversionEvents",
headers={
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json",
"LinkedIn-Version": "202306"
},
json=payload
)
return response.json()API Highlights
/v1/email-finderFinds a work email address given a person's first name, last name, and company domain. Returns the email address, a confidence score, and a validation status. Credits are only consumed when a result is successfully returned. This is the core endpoint for list enrichment workflows and is the most frequently called endpoint in Clay-based LeadMagic integrations.
POST https://api.leadmagic.io/v1/email-finder
Headers: { "X-API-Key": "your_key", "Content-Type": "application/json" }
Body: { "first_name": "Jane", "last_name": "Smith", "domain": "acme.com" }
Response: { "email": "jane.smith@acme.com", "status": "valid", "confidence": 0.95 }/v1/email-validateValidates whether an existing email address is deliverable, risky, or invalid. Performs MX record checks, SMTP verification, and pattern analysis. Use this endpoint as a gate before pushing contacts into email sequences to protect sender reputation. Can be used independently of the email finder — for example, to validate a list of emails collected from form submissions or purchased from a third-party vendor.
POST https://api.leadmagic.io/v1/email-validate
Body: { "email": "jane.smith@acme.com" }
Response: { "status": "valid", "is_disposable": false, "is_role_based": false, "mx_found": true }/v1/profile-enrichEnriches a contact record using a LinkedIn profile URL as the primary identifier. Returns structured profile data including job title, seniority level, department, company name, company size, location, and industry. Ideal for enriching inbound leads that include a LinkedIn URL from form submissions, event registrations, or LinkedIn Lead Gen Forms. Used extensively in AI agent workflows where enrichment is triggered by behavioral signals.
POST https://api.leadmagic.io/v1/profile-enrich
Body: { "linkedin_url": "https://linkedin.com/in/janesmith" }
Response: { "full_name": "Jane Smith", "title": "VP of Marketing", "seniority": "vp", "company": "Acme Corp", "company_size": "201-500", "location": "New York, NY" }/v1/company-enrichReturns firmographic data for a company given its domain name. Data includes industry classification, employee headcount range, estimated revenue, technology stack signals, headquarters location, and funding information. Used by RevOps teams to automatically score and tier inbound leads based on company fit, and by AI agents to provide account-level context for personalized outreach generation. Maestro uses this endpoint to power its account scoring and lead routing logic.
POST https://api.leadmagic.io/v1/company-enrich
Body: { "domain": "acme.com" }
Response: { "company_name": "Acme Corp", "industry": "Software", "headcount": "201-500", "location": "San Francisco, CA", "technologies": ["Salesforce", "HubSpot", "Slack"] }/v1/mobile-finderAppends a mobile phone number to a contact record given a LinkedIn profile URL or verified email address. Mobile data is sourced from multiple providers and cross-referenced for accuracy. Credits are consumed only on successful matches. Typically used as a secondary enrichment step after email is validated — particularly valuable for high-value outbound sequences targeting VP and C-suite contacts where direct dial access meaningfully increases connection rates.
POST https://api.leadmagic.io/v1/mobile-finder
Body: { "linkedin_url": "https://linkedin.com/in/janesmith" }
Response: { "mobile": "+1-555-867-5309", "country": "US", "confidence": "high" }/v1/creditsReturns the current credit balance and consumption statistics for the authenticated API key. Use this endpoint in pre-flight checks before large batch enrichment jobs to prevent mid-workflow credit exhaustion. Can also be polled periodically by monitoring systems to trigger alerts when balance falls below a defined threshold. Essential for teams managing multiple API keys across different integration workflows who need programmatic visibility into credit consumption by workflow.
GET https://api.leadmagic.io/v1/credits
Headers: { "X-API-Key": "your_key" }
Response: { "credits_remaining": 4250, "credits_used_this_month": 5750, "plan": "Growth" }Use Cases
Waterfall Enrichment for Outbound Agencies: Maximizing Email Coverage Across Multiple Providers
Outbound agencies managing enrichment for multiple clients face a fundamental coverage problem: no single data provider finds work emails for 100% of a target list. The industry best practice — and the one used by the highest-performing Clay power users — is waterfall enrichment, where multiple providers are queried in sequence until a valid result is returned. A typical waterfall sequence looks like this: LeadMagic is queried first as the primary email finder. If LeadMagic returns a valid, high-confidence email, the workflow stops and credits from subsequent providers are preserved. If LeadMagic returns no result or a low-confidence result, the workflow falls through to Findymail as the second layer. If Findymail also fails, Prospeo or Icypeas is queried as the third layer. This sequencing logic is implemented in Clay using conditional enrichment columns — where each provider's column is only activated if the previous column returns empty. In n8n or custom code, it is implemented as a cascading conditional with early exit logic. From our work with B2B outbound agencies processing 10,000+ contacts monthly, waterfall enrichment with LeadMagic as the primary provider typically achieves 70–85% email coverage on well-defined ICP lists — compared to 45–60% using any single provider alone. The credit economics work out favorably because LeadMagic only charges for successful finds, and fallback providers are only queried for the subset of records LeadMagic couldn't resolve. The [Clay integration](https://docs.clay.com/integrations/leadmagic) is the recommended implementation environment for this workflow because Clay's native LeadMagic connector handles authentication, retry logic, and field mapping automatically, reducing setup time from days to hours.
Real-Time Enrichment in Interactive Lead Magnets (Calculators, GPT Tools, and Quiz Funnels)
A growing GTM tactic that no competitor currently documents is using LeadMagic API enrichment inside interactive lead magnet flows — calculators, GPT-powered tools, ROI estimators, and quiz funnels — to enrich leads at the exact moment of capture, before they enter any CRM or sequence. The pattern works as follows: a prospect submits their work email and company name in a calculator or GPT tool interface to receive their personalized result. The moment the form is submitted, a server-side function calls LeadMagic's profile enrichment and company enrichment APIs with the submitted email domain. Within 1–2 seconds, LeadMagic returns the prospect's likely job title, seniority, company size, industry, and technology stack. This enriched data is used in two ways: first, to personalize the tool's output (e.g., the calculator result is tailored to the prospect's company size and industry), and second, to route and score the lead before it ever reaches the CRM. In our experience working with lead magnet agencies, this approach dramatically increases lead quality scores because the enrichment gate happens at capture rather than in a batch process hours later. Leads that fail enrichment checks (e.g., personal emails, company size outside ICP) can be filtered or routed to a lower-touch nurture sequence automatically. MagnetLab, which supports building interactive calculators and GPT tools as lead magnets based on direct beta tester feedback, is an example of a platform where this enrichment-at-capture pattern is natively supported. By combining LeadMagic's API with interactive tool builders like MagnetLab, GTM teams can create lead magnet experiences that are both engaging and self-qualifying.
Server-Side Conversion Tracking: Pushing LeadMagic-Enriched Leads Back to LinkedIn and Meta
One of the most sophisticated and underdocumented LeadMagic integration patterns is using enriched contact data to power server-side conversion APIs on LinkedIn and Meta — closing the loop between outbound enrichment and paid retargeting. The workflow operates as follows: LeadMagic finds and validates a work email address for a target prospect. That email is used in an outbound sequence via Smartlead or Instantly. When the prospect converts (books a meeting, fills a form, or replies), the validated work email is hashed using SHA-256 and submitted to LinkedIn's Conversion API or Meta's Conversions API as a server-side conversion event. This matters because LinkedIn matched audiences built from hashed work emails have dramatically higher match rates than audiences built from browser cookies or pixel-based tracking. Work emails are the canonical identifier on LinkedIn — they are what users signed up with — which means LeadMagic-validated work emails produce better audience matches than behavioral signals alone. In our experience, this is the same server-side architecture used in platforms like MagnetLab, which implements a direct LinkedIn Conversion API integration (not just the standard Insight Tag pixel). The process in MagnetLab involves generating an access token in LinkedIn Campaign Manager, authenticating it, and pasting it into the platform's LinkedIn Insight Tag connection field — enabling server-side push rather than pixel-only tracking. For LeadMagic users, the implementation requires: (1) enriching and validating contact emails with LeadMagic, (2) storing validated emails in your CRM with conversion events, (3) hashing emails server-side at the point of conversion, and (4) submitting to LinkedIn or Meta's API. Maestro's integration with LeadMagic automates steps 1–3, leaving only the API submission to configure.
AI Agent Workflows: Triggering LeadMagic Enrichment Based on Behavioral Signals
The most forward-looking use case for LeadMagic integration is wiring it into autonomous AI agent workflows where enrichment is triggered dynamically by behavioral signals rather than initiated by a human uploading a list. The core architecture: an event source (website visit, email reply, LinkedIn engagement, G2 review, job posting trigger, funding news) fires a webhook to an orchestration layer (n8n, Clay agents, or a custom LLM pipeline). The orchestration layer extracts identifiers from the event (LinkedIn URL, email domain, company name) and calls LeadMagic's enrichment APIs to build a full contact and account record. The enriched record is then passed to an LLM to generate a personalized outreach message, scored against ICP criteria, and routed to the appropriate sequence or sales rep — all without human intervention. This pattern is increasingly common among GTM engineering teams building intent-driven outbound systems. For example: a prospect from a target account visits your pricing page (detected via IP enrichment or reverse IP lookup), triggering a LeadMagic enrichment call on their company domain. Within seconds, the system has their likely decision-maker's name, email, title, and tech stack, and has enrolled them in a personalized sequence. In n8n, this is implemented using an HTTP Request node calling LeadMagic's API, feeding into an OpenAI or Anthropic node for message generation, and outputting to Smartlead or HubSpot. In Clay agents, the same logic is configured through Clay's visual workflow builder with LeadMagic as the enrichment step. Maestro's LeadMagic integration supports this behavioral trigger pattern, allowing GTM teams to define signal-based enrichment rules without custom engineering.
Frequently Asked Questions
How does LeadMagic work?
How does LeadMagic email integration work?
What is the LeadMagic API and how do I get access?
How does LeadMagic pricing work, and how does it compare to Findymail, Prospeo, and Icypeas?
How do I fix LeadMagic authentication errors and API key issues?
Can LeadMagic be used in AI agent workflows?
What is waterfall enrichment and how do I set it up with LeadMagic?
Start using Leadmagic with Maestro
Automate your GTM workflows with the Leadmagic integration. Connect in minutes and start seeing results.
Get Started