Skip to main content

Phonenumber to Country (ISO 3166-1) mapping

Project description

Small project to map an E.164 (international) phone number to the ISO-3166-1 alpha 2 (two letter) country code, associated with that number.

Also provides mapping for E.212 (mobile network codes, mcc+mnc) to the country.

The package has no dependencies, and works on Python 3.6+ and PyPy 3.6+.

Simple Usage

To simply get a country code from a phone number or mcc, mnc.

>>> from phone_iso3166.country import *
>>> phone_country(45)
'DK'
>>> phone_country('+1 202-456-1111')
'US'
>>> phone_country(14412921234)
'BM'
>>> network_country(238, 1)
'DK'

Network names and codes

If you want more detailed information about the networks, such as the operator name use the functions in phone_iso3166.network.

>>> from phone_iso3166.network import *
>>> network(238, 1)
('DK', 'TDC Mobil')
>>> country_networks('DK')
[(238, 1, 'TDC Mobil'), (238, 2, 'Telenor'), (238, 3, 'MIGway A/S'),
 (238, 4, 'NextGen Mobile Ltd T/A CardBoardFish'), (238, 6, 'Hi3G'),
 (238, 8, 'Nordisk Mobiltelefon Danmark A/S'), (238, 10, 'TDC Mobil'),
 (238, 43, 'MobiWeb Limited'), (238, 12, 'Lycamobile Denmark'),
 (238, 13, 'Compatel Limited'), (238, 77, 'Tele2'), (238, 20, 'Telia'),
 (238, 66, 'TT-Netvaerket P/S'), (238, 28, 'CoolTEL'),
 (238, 30, 'Interactive Digital Media GmbH')]

More information

If want more information, you can easily use the country code with other python packages such as pycountry.

>>> from phone_iso3166.country import phone_country
>>> import pycountry
>>> phone = '+55 21 3814-2121'
>>> c = pycountry.countries.get(alpha_2=phone_country(phone))
>>> c.name
'Brazil'
>>> c.official_name
'Federative Republic of Brazil'

This package makes no attempt to understand the various input options for phone numbers, and assumes an international phone number. If you deal in fuzzy inputs, try phonenumbers.

>>> from phone_iso3166.country import phone_country
>>> import phonenumbers
>>> import pycountry
>>> local = phonenumbers.parse("020 8366 1177", "GB")
>>> phonenumbers.format_number(local, phonenumbers.PhoneNumberFormat.E164)
'+442083661177'
>>> cc = phone_country(str(local.country_code)+str(local.national_number))
>>> uk = pycountry.countries.get(alpha_2=cc)
>>> uk.name
'United Kingdom'
>>> uk.official_name
'United Kingdom of Great Britain and Northern Ireland'
>>> wh = phonenumbers.parse("0012024561111", "GB")
>>> cc_wh = phone_country(str(wh.country_code)+str(wh.national_number))
>>> cc_wh
'US'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phone-iso3166-0.4.0.tar.gz (45.3 kB view details)

Uploaded Source

Built Distribution

phone_iso3166-0.4.0-py3-none-any.whl (45.6 kB view details)

Uploaded Python 3

File details

Details for the file phone-iso3166-0.4.0.tar.gz.

File metadata

  • Download URL: phone-iso3166-0.4.0.tar.gz
  • Upload date:
  • Size: 45.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.5

File hashes

Hashes for phone-iso3166-0.4.0.tar.gz
Algorithm Hash digest
SHA256 6bd8785ab52954951ee01fb9039b04c95dc433a7076635f363b41524f8fa8558
MD5 37dee58c7aa9d4cc3f26f3f96619959d
BLAKE2b-256 d710038a3bb289280d5c39f1bfa455cef81949fc7bc642e623bfb68b2dbe7616

See more details on using hashes here.

File details

Details for the file phone_iso3166-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: phone_iso3166-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 45.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.5

File hashes

Hashes for phone_iso3166-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0f530923613739bf56d792d55e2491f4f0e7cd5a892e0bd40a968f7ebbb0e22
MD5 8bbd1db7b92d12f2b46406814e8db0ed
BLAKE2b-256 4567b38f2a5224c362298b4162fde7f36b58cf232fa3525a7b1091a09b8da2a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page