Phone Number Validation by IP Address API

This API performs the same phone number validation as the Phone Number Validation API, but determines the expected country from the user's IP address rather than requiring an explicit country code input.

It's useful in signup and checkout flows where you want to validate a phone number without adding a country selector to the form — the user's location is inferred automatically from their IP, and the number is validated against the likely local format.

GEThttps://api-bdc.net/data/phone-number-validate-by-ip

Parameters

ParameterTypeRequiredDescription
numberstringOptionalPhone number to validate
ipstringOptionalIPv4 IP address in a string or numeric format or IPv6 IP address in a string format. If omitted, the caller’s IP address is assumed
localityLanguagestringOptionalPreferred language for locality names in ISO 639-1 format, such as 'en' for English, 'es' for Spanish etc. If the requested language is not available for a requested location, it will default to English. If no English variant is known, will provide the native, local names
keystringOptionalYour API key

Responses

200OK

Sample Request

https://api-bdc.net/data/phone-number-validate-by-ip?number=884633490&ip=193.114.112.1&localityLanguage=en&key=[YOUR API KEY]

Sample Response

JSON View

Response Schema

isValidbooleanIndicates whether the phone number is valid and dialable in the detected country.
e164FormatstringThe phone number in E.164 international format (e.g. "+61412345678"). This is the canonical format for storage and API calls.
internationalFormatstringThe phone number in international dialling format with spaces (e.g. "+61 412 345 678").
nationalFormatstringThe phone number formatted for local dialling within its country (e.g. "0412 345 678" in Australia).
locationstringEstimated location localised to the language as defined by 'localityLanguage' request parameter
lineTypestringLine type detected. Possible values are: 'FIXED_LINE', 'MOBILE', 'FIXED_LINE_OR_MOBILE', 'TOLL_FREE', 'PREMIUM_RATE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL', 'UNKNOWN'
countryobjectcountry object
isoAlpha2stringISO 3166-1 Alpha-2 code
isoAlpha3stringISO 3166-1 Alpha-3 code
m49CodeintegerUnited Nations M.49 code
namestringCountry name localised to the language as defined by 'localityLanguage' request parameter
isoNamestringThe short English country name as defined by ISO 3166-1 (e.g. "Australia").
isoNameFullstringThe full official English country name as defined by ISO 3166-1 (e.g. "Commonwealth of Australia").
isoAdminLanguagesarrayAdministrative languages as defined by ISO 3166-1 standard
isoAlpha3stringISO 3166-1 Alpha-3 code
isoAlpha2stringISO 3166-1 Alpha-2 code
isoNamestringISO 3166-1 Language name
nativeNamestringA native name
unRegionstringRegion name as defined by the United Nations
currencyobjectcurrency object
numericCodeintegerISO 4217 standard numeric code
codestringISO 4217 standard code
namestringISO 4217 English name
minorUnitsintegerISO 4217 minor units as the currency exponent (e.g. 2 = 1/100)
wbRegionobjectwbRegion object
idstringworld bank identification number. the expected values are: 'LCN','NA','SAS','SSF','ECS','MEA','EAS','NAC'
iso2Codestringiso 2 letters code. the expected values are: 'ZJ','NA','8S','ZG','Z7','ZQ','Z4','XU'
valuestringregion name. the expected values are: 'Latin America & Caribbean','Aggregates','South Asia', 'Sub-Saharan Africa','Europe & Central Asia','Middle East & North Africa','East Asia & Pacific','North America'
wbIncomeLevelobjectwbIncomeLevel object
idstringworld bank identification number. the expected values are: 'HIC','NA','LIC','LMC','UMC','INX'
iso2Codestringiso 2 letters code. the expected values are: 'XD','NA','XM','XN','XT','XY'
valuestringincome level name. the expected values are: 'High income','Aggregates','Low income','Lower middle income','Upper middle income','Not classified'
callingCodestringThe international dialling (calling) code for the country, without the leading "+" (e.g. "1" for the US, "61" for Australia).
countryFlagEmojistringThe country flag as a Unicode emoji (e.g. "🇦🇺" for Australia), composed from the ISO 3166-1 Alpha-2 regional indicator symbols.
wikidataIdstringWikidata item identifier, if available
geonameIdintegerA unique identifier as is given by GeoNames.org
isIndependentbooleanDetermines if the country/territory is independent according to ISO 3166 records
403Access denied, or your quota limit has exceeded

Sample Response

JSON View
404Found no valid entry for the request

Sample Response

JSON View
405The requested IP address is not valid

Sample Response

JSON View
500An error has occurred and did not complete your request. Please try again

Sample Response

JSON View