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.
GET
https://api-bdc.net/data/phone-number-validate-by-ipParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
number | string | Optional | Phone number to validate |
ip | string | Optional | IPv4 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 |
localityLanguage | string | Optional | Preferred 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 |
key | string | Optional | Your 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