Start local-number discovery here. The list contains only countries that currently have numbers in stock. It does not reserve anything.
- Pass
isocodetogetareas, togetstates(US and CA only) or toother. next_functionalways points tov3/getareas/{isocode}. For the United States and Canada, you can callgetstatesfirst to narrow by state or province.is_mobileandsms_coverageare country-level flags, not guarantees for every number. For the United States,is_mobileis0unless your account is enabled for US mobile numbers.- Countries with only order-only coverage are not listed. You can still call
getareasorotherdirectly for a country that is not listed. - Sort the list yourself if you need a particular order.
If no country qualifies, response is null and status.code is 200.
Request
Required: HTTP Basic or Bearer token (see Authentication and API responses). Failed authentication is answered with HTTP 401 before the lookup runs.
GET with no body. The only parameter is the optional pid, sent in the query string.
curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/getcountries'| Name | Type | Required | Description |
|---|---|---|---|
pid | string | No | Advanced and optional. Narrows the list to countries flagged for one inventory source. Use only a value provided by MultiTEL, in numeric or 32-character hexadecimal form, and omit it for normal use. pid does not narrow the stock check described in the response. Unrecognised values, zero, and values this endpoint does not accept are ignored without an error; the list then covers all supported sources. |
Response
Standard envelope. On success, status.code is 200, status.msg is 'Results: N', status.results is N, and response is a list of countries in no guaranteed order. Fields: countrycode (country calling code without '+'); name (country name); description (same value as name); isocode (ISO 3166-1 alpha-2 code); is_mobile (0 or 1, a country-level catalog flag, always 0 for US unless your account is enabled for US mobile numbers); sms_coverage (0 or 1, a country-level catalog flag); latitude and longitude (country coordinates); next_function ('v3/getareas/{isocode}'). A country is listed only if it is visible and at least one of its prefixes currently has stock in any inventory source. Countries whose coverage is entirely order-only (no stock) are not listed. This stock check is broader than the filters getareas applies, so a listed country can occasionally return 'No areas found' there. If no country qualifies, status.code is 200, status.msg is 'Results: 0', there is no status.results field, and response is null.
Illustrative response shape; not live account data or a current quote.
{
"status": {
"code": 200,
"msg": "Results: 2",
"results": 2
},
"response": [
{
"countrycode": "1",
"name": "United States",
"description": "United States",
"isocode": "US",
"is_mobile": 0,
"sms_coverage": 1,
"latitude": "38.0000",
"longitude": "-97.0000",
"next_function": "v3/getareas/US"
},
{
"countrycode": "44",
"name": "United Kingdom",
"description": "United Kingdom",
"isocode": "GB",
"is_mobile": 1,
"sms_coverage": 0,
"latitude": "54.0000",
"longitude": "-2.0000",
"next_function": "v3/getareas/GB"
}
]
}Errors
- 401: Authentication missing or failed. Sent with HTTP status 401 (see Authentication and API responses).
Availability and side effects
- Lookup only. It does not reserve, order or change anything.
- Results reflect stock at the time of the request and can change between calls.