Phone Number Validation API

Validate phone numbers and assess risk factors including fraud detection, carrier information, and location data

The Beltic Phone Number Validation API offers rapid analysis to determine the risk score, country of origin, carrier, validity, owner information, and connection status of phone numbers. By using this API, you can authenticate users, improve chargeback defense, and detect fraudulent activities in real-time. It can investigate landline and cellular numbers in over 150 countries, identifying invalid numbers and potential fraudsters.

Perform carrier lookups by API in any region to detect disconnected phone numbers and retrieve important carrier info, including line types, to determine if a number is a VOIP, landline, mobile/wireless, or prepaid line. Cell phone lookups typically have better identity enrichment hit rates. Reverse phone number lookups can also provide a personal or company name associated with a phone number to help validate identity and prevent abusive behavior.

Accurately verify phone numbers worldwide and retrieve a combination of carrier and line type details with risk analysis data to assess the reputation of phone numbers. Our system collects phone validation and verification data from various telecom carriers, with support in over 150 countries for international phone number validation. Detect inactive and disconnected phone numbers for easy user validation similar to HLR & LRN lookups. Identify if the line is active, the phone is turned off, or the subscriber is absent or disconnected. Customizable settings allow you to tailor scoring to your audience.

What is Phone Number Validation?

Phone number validation is available through real-time, on-demand phone validation API lookups, with full coverage for international phone numbers. Our system provides comprehensive analysis including carrier information, line type detection, fraud scoring, and identity verification capabilities.

How Does Phone Number Validation Work?

Our phone validation technology performs comprehensive checks that analyze phone numbers from multiple angles. It features advanced carrier verification checks for issues like disconnected numbers, invalid formats, high-risk carriers, and other types of problematic phone numbers.

Phone Number Validation API Use Cases

Reverse Phone Number Lookup: Search for the owner's name with worldwide coverage rates using reverse phone lookups. Easily verify user identity to limit bad actors.

Phone Number Fraud Prevention: Phone Number Risk Scoring prevents abusive behavior from fraudulent users and high-risk accounts. Prevent fraud and abuse simply by checking the phone number against our global blocklists.

Low-Quality Users: Identify duplicate user accounts, stolen user data, and fake registrations. Automatically block low-quality accounts.

Chargebacks & Payment Fraud: Mitigate chargebacks, high-risk transactions, and all types of e-commerce fraud by detecting phone numbers associated with recent malicious behavior.

Instant Validation: Identify disconnected or inactive phone numbers to quickly validate user data to screen applications, registrations, and payments.

Bot Detection: Filter nonexistent and invalid phone numbers to stop bots, risky users, and bad leads.

Geo Filtering: Filter users by validating their phone number matches their location. Pair with IP Reputation scoring for comprehensive geo-filtering.

High-Risk Behavior: Analyze user phone numbers to prevent fraudulent numbers by detecting disposable SMS, temporary phone numbers, Google Voice, and VOIPs.

Lead Generation & User Data Verification: Validate phone numbers to ensure the data you collect is valid, accurate, and fresh to prevent fake leads.

SMS Pumping Protection: Block artificially inflated SMS traffic by identifying high-cost premium-rate numbers, risky carriers, and suspicious usage patterns before attackers can exploit your verification system.

Reverse Phone Number Lookup API

Lookup the owner of the phone number including first and last name or the company's name with real-time API responses. Reverse phone lookups have excellent coverage in the US and Canada and limited support internationally, including Europe and Asia. Reverse name lookups for phone numbers can help verify identity, limit abusive behavior, prevent unwanted callers, and enrich lead and contact details directly through our reverse phone lookup API.

Phone Number Carrier and Line Type Detection API

Look up carrier details and phone number line types, such as landline, VOIP, wireless, and prepaid, with precision and accuracy worldwide. Beltic maintains current data directly from carriers on a global level. Riskier carriers and phone ranges associated with malicious behavior will display elevated Fraud Scores to enable your business logic to identify threats effectively.

SMS Pumping Protection

Protect your business from SMS Pumping attacks. These types of fraud target SMS verification endpoints by generating fake traffic to premium-rate numbers, driving up costs for your business. By validating line types, detecting high-risk carriers, and identifying suspicious traffic patterns, the API helps block these fraudulent attempts before they result in revenue loss or inflated SMS fees.

Endpoint

POST https://api.beltic.com/v1/phones/risk

Parameters

ParameterTypeRequiredDescription
phone_numberstringYesThe phone number to validate, including country code (e.g., "14157159501")

Authentication

Include your API key in the request header:

X-Api-Key: your_api_key_here

Example Request

curl --location 'https://api.beltic.com/v1/phones/risk' \
--header 'X-Api-Key: ApiKey' \
--header 'Content-Type: application/json' \
--data '{
    "phone_number": "14157333565"
}'

Example Response

{
    "profile": {
        "names": []
    },
    "phone": {
        "formatted": "+14157333565",
        "local_format": "(415) 733-3565",
        "valid": true,
        "dialing_code": "1",
        "timezone": "America/Los_Angeles"
    },
    "status": {
        "active": true,
        "active_status": null,
        "do_not_call": false
    },
    "risk": {
        "fraud_score": 85,
        "risky": true,
        "recent_abuse": false,
        "leaked": false,
        "spammer": false,
        "prepaid": null,
        "voip": true
    },
    "carrier": {
        "name": "Bandwidth.com",
        "line_type": "VOIP",
        "mcc": null,
        "mnc": null
    },
    "address": {
        "formatted_address": "SAN FRANCISCO, CA, US",
        "country": "US",
        "city": "SAN FRANCISCO",
        "state_or_province": "CA",
        "postal_code": "94134"
    }
}

Response Field Definitions

The Beltic Phone Validation API returns comprehensive data with each lookup to help your development team make informed decisions in your business logic. The "Fraud Score" provides valuable insights to identify high-risk phone numbers and carriers. The API results directly indicate risky phone numbers and those with recent abusive behavior.

Fraud Score Risk Assessment

Fraud ScoreRisk LevelDescription
≥80SuspiciousHas had previous reputation issues or is using a low risk proxy/VPN
≥85High RiskHas suspicious behavior signals
≥90Frequent Abusive BehaviorHas demonstrated frequent abusive behavior over the past 24-72 hours

Consider results as high risk when:

  • valid is false
  • active is false
  • fraud_score is at least 90

Fraud Scores >= 80 are suspicious and are likely to be involved in suspicious or dangerous activities but are not necessarily fraudulent users. Fraud Scores >=85 are risky users likely to engage in malicious behavior. Fraud Scores >=90 are very high-risk users that have already engaged in abuse.

We recommend blocking or flagging a phone number or transaction as high-risk using a combination of the fraud_score, recent_abuse, voip, prepaid, active, and risky variables. As every user has a unique audience, you may find better results validating phone numbers by only blocking "invalid" and "recent_abuse" phone numbers or Fraud Scores greater than 85-90+.

Complete Field Reference

The API response is organized into the following main objects:

Profile Object

FieldData TypesExplanation
namesarrayAssociated names or business names (when available)

Phone Object

FieldData TypesExplanation
formattedstringThe phone number in international format with country code - E.164 standard format for global compatibility
local_formatstringThe phone number formatted for local display - User-friendly format for the region
validbooleanIs the phone number properly formatted and considered valid based on assigned phone numbers available to carriers in that country?
dialing_codestringThe country dialing code (e.g., "1" for US/Canada) - International calling code for the country
timezonestringTimezone identifier for the phone number's location - Geographic timezone for the number's region

Status Object

FieldData TypesExplanation
activeboolean, nullIs this phone number a live, usable phone number that is currently active? This feature requires a separate data set that provides subscriber status details shared directly from the Telecom provider. Contact your account manager or support to enable this add-on feature, which determines if a phone number is reachable or disconnected using our HLR lookup service and carrier signals.
active_status"Active Line", "Active Line - High Confidence", "Active Line - Medium Confidence", "Active Line - Low Confidence", "Disconnected Line", "Phone Turned Off", "Inconclusive Status", or "null" if unknownAdditional details on the status of the subscriber connection will be provided when enhanced active line checks are enabled. Contact your account manager or support to enable this add-on feature, which determines if a phone number is reachable or disconnected using our HLR lookup service and carrier signals.
do_not_callbooleanIndicates if the phone number is listed on any Do Not Call (DNC) lists. This parameter is only supported in the USA and Canada. This data may not be 100% current with the latest DNC blocklists. Contact your account manager to enable better DNC data and removal of TCPA litigators.

Risk Object

FieldData TypesExplanation
fraud_scoreinteger, 0 - 100The Beltic risk score which estimates how likely a phone number is to be fraudulent. Scores 85+ are risky, while Fraud Scores 90+ are high risk.
riskybooleanIs this phone number associated with fraudulent activity, scams, robocalls, fake accounts, or other unfriendly behavior?
recent_abuseboolean, nullHas this phone number been associated with recent or ongoing fraud?
leakedbooleanHas this phone number recently been exposed in an online database breach or compromise?
spammerbooleanIndicates if the phone number has recently been reported for spam or harassing calls/texts.
prepaidboolean, nullIs this phone number associated with a prepaid service plan?
voipboolean, nullIs this phone number a Voice Over Internet Protocol (VOIP) or a digital phone number?

Carrier Object

FieldData TypesExplanation
namestringThe carrier (service provider) this phone number has been assigned to or "null" if unknown.
line_typestringThe type of line this phone number is associated with (Toll-Free, Wireless, Landline, Satellite, VOIP, Premium Rate, Pager) or "null" if unknown. Line Type can play an important role in understanding phone number reputation.
mccstring (typically 3 digit number) or "null"Mobile Country Codes (MCC) identify the country of a mobile phone number subscriber. This provides a corresponding number to a specific country to facilitate routing for wireless calls and SMS messages. The MCC value is "null" when unknown or unavailable, such as for landline and toll-free numbers.
mncstring (typically 3 digit number) or "null"Mobile Network Codes (MNC) identify the mobile carrier of a phone number subscriber. This data provides a corresponding number to a specific telecom provider, such as Orange, Vodafone, and more, to facilitate routing for wireless calls and SMS messages. The MNC value is "null" when unknown or unavailable, such as for landline and toll-free numbers.

Address Object

FieldData TypesExplanation
formatted_addressstringComplete formatted address string
countrystringThe two-character country code for this phone number
citystringCity of the phone number if available or "null" if unknown
state_or_provincestringRegion (state) of the phone number if available or "null" if unknown
postal_codestringZip or Postal code of the phone number if available or "null" if unknown

Error Responses

400 Bad Request

{
    "error": "Invalid phone number format",
    "message": "Phone number must include country code"
}

401 Unauthorized

{
    "error": "Unauthorized",
    "message": "Invalid or missing API key"
}

429 Too Many Requests

{
    "error": "Rate limit exceeded",
    "message": "Too many requests. Please try again later."
}