Lead Gen & GTM

Validate Phones,
Not Just Emails

Email checks have been standard on lead lists for years. Phone numbers went unchecked. ScoreMachine checks both in one pass: which numbers are in use, which channels they accept, and which addresses will deliver.

+44

Enter a number and run a live check.

For demonstration purposes and business use only. Terms · Data & opt-out

For GTM & RevOps Teams

Outbound GTM motion teams

01

Prospecting tools build lists around technographics and intent signals, and the lists still come back full of dead numbers.

02

Enrichment vendors return numbers they can't vouch for.

03

Dialers burn time on landlines, disconnected lines, and wrong carriers, and you pay for every call that should have been a conversation.

04

Check the list before it goes into a sequence, so reps only dial numbers that can ring.

Three Costs in One Stale List

01 · List decays

A list is accurate the day it is built. Numbers get disconnected, reassigned and ported. Mailboxes close when people change jobs. The CRM row stays exactly as it was.

02 · Signal arrives late

Most teams find a bad record only when it fails: a dial that never connects, an email that bounces, a lead that gets routed to sales and goes nowhere. By then the data vendor, the dialer seat, the email send and the rep's time are already paid for.

03 · Sender reputation

Bad contacts damage your sending channels. High bounce rates push email toward spam, and carriers throttle or block SMS senders with too many failed deliveries. Checking before the send keeps every channel open for the next campaign.

One Platform, Both Halves of the Record

score.phone.scoring returns the phone side. score.email.validation returns the email side. Same account, same token.

score.phone.scoring · response
{
"result": [
{
"phone": "+447911123456", "normalized_phone": "447911123456", "valid": true,
"phone_accessibility": 8,
"phone_validation_mnp": {
"line_type": "mobile",
"carrier": "Vodafone",
"ported": true,
"mcc": "235",
"mnc": "91",
"country": "United Kingdom",
"location": "London, England",
"iso_code": "GB",
"timezone": "UTC+1",
"e164_format": "+447911123456",
"international_format": "+44 7911 123456",
"local_format": "07911 123456"
},
"whatsapp": true,
"telegram": false,
"facebook": true,
"instagram": true
}
],
"jsonrpc": "2.0",
"id": 1
}
score.email.validation · response
{
"result": [
{
"email": "sofia.marin@acmecorp.com",
"normalized_email": "sofia.marin@acmecorp.com",
"validation": {
"status": "valid",
"sub_status": "business_mailbox",
"domain": "acmecorp.com",
"mx_record": "aspmx.l.google.com",
"smtp_provider": "Google Workspace",
"smtp_status_code": 250,
"deliverable": true
},
"validation_time": "2026-09-16 05:31:12"
}
],
"jsonrpc": "2.0",
"id": 1
}

Is it in use

accessibility returns valid, invalid or unknown. Formatting says a number could exist. accessibility says whether it does.

Where it routes

line_type and carrier, the serving network after porting.

What it carries

whatsapp, telegram, facebook, instagram as booleans about the number. OTT channels only; none of the four predicts SMS termination.

How it ranks

The reachability score, phone_accessibility, 0–10. Sort the file on it and work the top first. -100 means undetermined, not zero.

The email side returns the deliverability verdict, the SMTP status code behind it, the provider and the mailbox type.

Full reference at doc.scoremachine.ai.

Product tour

Getting Started

Five steps from an empty workspace to a scored, exportable list. Plays on its own. Click any step to jump.

Step 1 of 5
scoremachine.ai/projects

New project

Audiences are added inside the project after creation.

Cancel Create project

Contacts you submit should be ones you are entitled to contact. See Terms and Data & opt-out.

Start with a file in the workspace, or walk through your stack with our team.

Methods

Check lead phone numbers one at a time with sequential methods as they come in, or run a whole list through the batch methods before it goes into a sequence.

Sequential methods

score.phone.scoring
{
"result": [
{
"phone": "+447911123456", "normalized_phone": "447911123456", "valid": true,
"phone_accessibility": 8,
"phone_validation_mnp": {
"line_type": "mobile",
"carrier": "Vodafone",
"ported": true,
"mcc": "235",
"mnc": "91",
"country": "United Kingdom",
"location": "London, England",
"iso_code": "GB",
"timezone": "UTC+1",
"e164_format": "+447911123456",
"international_format": "+44 7911 123456",
"local_format": "07911 123456"
},
"whatsapp": true,
"telegram": false,
"facebook": true,
"instagram": true
}
],
"jsonrpc": "2.0",
"id": 1
}

Batch methods

06 · audiences.score.status
{
"jsonrpc": "2.0",
"method": "audiences.score.status",
"params": {
"id": "<int>",
"project_id": "<int>"
},
"id": 1
}

Upload

CSV or XLSX, up to 5 MB and 200,000 rows. Columns are detected on upload.

Start free →

API

JSON-RPC 2.0, up to 20 requests a second, up to 10,000 records in one request. Email validation takes 2,000 addresses at least.

Developers →

No code

Telegram and WhatsApp bots, Zapier, Make, n8n, and CRM connectors.

CRM integrations →

What Changes After Scoring

"Our SDRs used to work leads by cold call and LinkedIn. Now every list shows which numbers are on WhatsApp Business, so we can message a business on the channel it already uses with its customers."

Raunak Datt Raunak Datt CEO and founder, Superable

Frequently Asked Questions

Phone number validation confirms the format, the numbering range, and whether the number is in use. ScoreMachine also returns the line type and the serving network after porting. The four OTT channel booleans and a reachability score come back on the same request.

Try It on Your Own List

Run a file through it, or walk through your stack with our team.