Countries.js is a simple and lightweight package for retrieving country details with flexibility. A whole bunch of data including name, demonym, capital, iso codes, dialling codes, geo data, currencies, flags, emoji, and other attributes for all 250 countries worldwide at your fingertips.
Currently Supported by awesome DPLYR
- DPLYR is a new generation of cloud platforms and aims to help developers in their road with open source contributions, and at the end we can say thanks.
Install via npm install countriesjs
or yarn add countriesjs
, then use onw of these ways:
const Country = require('countriesjs')
// Get single country
const egypt = Country('eg');
// Get country name // Get country native name
egypt.getName(); egypt.getNativeName();
// Get country official name // Get country ISO 3166-1 alpha2 code
egypt.getOfficialName(); egypt.getIsoAlpha2();
// Get country area // Get country borders
egypt.getArea(); egypt.getBorders();
// Get country currencies // Get country languages
egypt.getCurrencies(); egypt.getLanguages();
// Get country emoji // Get country flag
egypt.getEmoji(); egypt.getFlag();
const {getName, getNativeName, getOfficialName, getIsoAlpha2, getArea, getBorders, getCurrencies, getLanguages, getEmoji, getFlag} = require('countriesjs')
// Get country name // Get country native name
getName('eg'); getNativeName('eg');
// Get country official name // Get country ISO 3166-1 alpha2 code
getOfficialName('eg'); getIsoAlpha2('eg');
// Get country area // Get country borders
getArea('eg'); getBorders('eg');
// Get country currencies // Get country languages
getCurrencies('eg'); getLanguages('eg');
// Get country emoji // Get country flag
getEmoji('eg'); getFlag('eg');
- Countries.js by DPLYR
- Usage
- Table Of Contents
- Advanced Usage
- Features Explained
- Data Sources
- Changelog
- Support
- Contributing & Protocols
- Security Vulnerabilities
- About DPLYR
- Acknowledgement
- License
This example uses the first apporach of using countriesjs but the same functions are available with the second apporaches but with the () after the function name and the country name passed in
in the getDivision function inthe second apporach the name of the division is passed as the second parameter
Get country attributes (self-descriptive):
const Country = require('countriesjs')
var egypt = Country('eg');
// Egypt // مصر
egypt.getName; egypt.getNativeName;
// Arab Republic of Egypt // جمهورية مصر العربية
egypt.getOfficialName; egypt.getNativeOfficialName;
// Egyptian // Cairo
egypt.getDemonym; egypt.getCapital;
// EG // EGY
egypt.getIsoAlpha2; egypt.getIsoAlpha3;
// 818 // .eg
egypt.getIsoNumeric; egypt.getTld;
// [".eg",".مصر"] // ["EG","Arab Republic of Egypt"]
egypt.getTlds; egypt.getAltSpellings;
// Arabic // {"ara":"Arabic"}
egypt.getLanguage; egypt.getLanguages;
// Africa // true
egypt.getContinent; egypt.usesPostalCode;
// 27 00 N // 30 00 E
egypt.getLatitude; egypt.getLongitude;
// 26.756103515625 // 29.86229705810547
egypt.getLatitudeDesc; egypt.getLongitudeDesc;
// 31.916667 // 36.333333
egypt.getMaxLatitude; egypt.getMaxLongitude;
// 20.383333 // 24.7
egypt.getMinLatitude; egypt.getMinLongitude;
// 1002450 // Africa
egypt.getArea; egypt.getRegion;
// Northern Africa // EMEA
egypt.getSubregion; egypt.getWorldRegion;
// 002 // 015
egypt.getRegionCode; egypt.getSubregionCode;
// false // ["ISR","LBY","SDN"]
egypt.isLandlocked; egypt.getBorders;
// Yes // 20
egypt.isIndependent; egypt.getCallingCode;
// ["20"] // 0
egypt.getCallingCodes; egypt.getNationalPrefix;
// 9 // [9]
egypt.getNationalNumberLength; egypt.getNationalNumberLengths;
// 2 // [2]
egypt.getNationalDestinationCodeLength; egypt.getnationaldestinationcodelengths;
// "00" // {{recipient}}\n{{street}}\n{{postalcode}} {{city}}\n{{country}}
egypt.getInternationalPrefix; egypt.getAddressFormat;
// 357994 // H2
egypt.getGeonameid; egypt.getEdgar;
// EGY // ua
egypt.getItu; egypt.getMarc;
// EG // ET
egypt.getWmo; egypt.getDs;
// EGY // EG
egypt.getFifa; egypt.getFips;
// 40765 // EGY
egypt.getGaul; egypt.getIoc;
// EGY // 651
egypt.getCowc; egypt.getCown;
// 59 // 469
egypt.getFao; egypt.getImf;
// MAF // null
egypt.getAr5; egypt.isEuMember;
// null // 🇪🇬
egypt.getVatRates; egypt.getEmoji;
// GeoJson data returned as string // SVG data returned as string
egypt.getGeoJson; egypt.getFlag;
// Divisions returned as array
// {"iso_4217_code":"EGP","iso_4217_numeric":818,"iso_4217_name":"Egyptian Pound","iso_4217_minor_unit":2}
egypt.getCurrency;
// {"name":"Al Iskandariyah","alt_names":["El Iskandariya","al-Iskandariyah","al-Iskandarīyah","Alexandria","Alexandrie","Alexandria"],"geo":{"latitude":31.2000924,"longitude":29.9187387,"min_latitude":31.1173177,"min_longitude":29.8233701,"max_latitude":31.330904,"max_longitude":30.0864016}}
egypt.division = "WAD"
egypt.getDivision
- Country data are all stored here:
resources/data/countries.json
. name
common
- common name in englishofficial
- official name in englishnative
- list of all native names- key: three-letter ISO 639-3 language alpha code
- value: name object
- key:
official
- official name translation - key:
common
- common name translation
- key:
demonym
- name of residentscapital
- capital cityiso_3166_1_alpha2
- code ISO 3166-1 alpha-2iso_3166_1_alpha3
-code ISO 3166-1 alpha-3iso_3166_1_numeric
- code ISO 3166-1 numericcurrency
- ISO 4217 currency code(s)- key: three-letter ISO 4217 currency code
- value: currency object
- key:
iso_4217_code
- three-letter ISO 4217 currency alpha code - key:
iso_4217_numeric
- three-number ISO 4217 currency numeric code - key:
iso_4217_name
- official ISO 4217 currency name - key:
iso_4217_minor_unit
- minor currency unit
- key:
tld
- country code top-level domainalt_spellings
- alternative spellingslanguages
- list of official languages- key: three-letter ISO 639-3 language code
- value: name of the language in english
translations
- list of name translations- key: three-letter ISO 639-3 language code
- value: name object
- key:
official
- official name translation - key:
common
- common name translation
- key:
geo
continent
- continents that country lies in- key: two-letter continent code
- value: name of the continent in english
postal_code
- whether the country uses postal codeslatitude
- short form of latitude coordinate pointlatitude_desc
- described latitude coordinate pointlongitude
- short form of longitude coordinate pointlongitude_desc
- described longitude coordinate pointmax_latitude
- maximum latitude coordinate pointmax_longitude
- maximum longitude coordinate pointmin_latitude
- minimum latitude coordinate pointmin_longitude
- minimum longitude coordinate pointarea
- land area in km²region
- geographical regionsubregion
- geographical sub-regionworld_region
- geographical world regionregion_code
- geographical region numeric codesubregion_code
- geographical sub-region numeric codelandlocked
- landlock statusborders
- land bordersindependent
- independent status
dialling
calling_code
- calling code(s)national_prefix
- national prefixnational_number_lengths
- national number lengthsnational_destination_code_lengths
- national destination code lengthsinternational_prefix
- international prefix
extra
geonameid
- Geoname IDedgar
- Electronic Data Gathering, Analysis, and Retrieval systemitu
- Codes assigned by the International Telecommunications Unionmarc
- MAchine-Readable Cataloging codes from the Library of Congresswmo
- Country abbreviations by the World Meteorological Organizationds
- Distinguishing signs of vehicles in international trafficfifa
- Codes assigned by the Fédération Internationale de Football Associationfips
- Codes from the U.S. Federal Information Processing Standardgaul
- Global Administrative Unit Layers from the Food and Agriculture Organizationioc
- Codes assigned by the International Olympics Committeecowc
- Correlates of War charactercown
- Correlates of War numericfao
- Food and Agriculture Organizationimf
- International Monetary Fundar5
- Fifth Assessment Report (AR5)address_format
- Address formaeu_member
- European Union Membervat_rates
- Value-Added Taxemoji
- Emoji Flag
- Currency Data (27th Sep, 2016): http://www.currency-iso.org
- Emoji Flags (27th Sep, 2016): http://unicode.org/emoji/charts/full-emoji-list.html
- World Borders (27th Sep, 2016): http://thematicmapping.org/downloads/world_borders.php
- GeoJson & SVG Flags (27th Sep, 2016): https://github.com/mledoze/countries/tree/master/data
- Main Country Data, Regions, and Divisions (27th Sep, 2016): https://github.com/hexorx/countries
- Other Resources:
- https://en.wikipedia.org
- https://github.com/annexare/Countries
- https://github.com/umpirsky/country-list
- https://github.com/datasets/country-list
- https://github.com/datasets/country-codes
- https://github.com/sripaulgit/country-codes
- https://github.com/alexrabarts/iso_country_codes
- https://github.com/vincentarelbundock/countrycode
- https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes
Refer to the Changelog for a full history of the project.
The following support channels are available at your fingertips:
Thank you for considering contributing to this project! The contribution guide can be found in CONTRIBUTING.md.
Bug reports, feature requests, and pull requests are very welcome.
If you discover a security vulnerability within this project, please send an e-mail to [email protected]. All security vulnerabilities will be promptly addressed.
All Supported Projects by DPLYR
-
Splash Screen - Flutter
a flutter package created to show simple splashscreen -
In App Call Alert - Flutter
a flutter package created recently to show call alert with sound -
File Manager
a php project created to manage machines/servers through ftp servers -
Countries Js
a javascript project created for retrieving country details with flexibility. -
Block temp mails
a javascript api to prevent temporary emails from signing up on your website. Super easy to use -
Disposable Emails List
a python script to generate the temporary and spam doamins to prevent them and you can block them through this API Block temp mails -
Basic CRM
A crm that is developed with Node Js for entreprenurs who need a basic CRM with text replacment feature -
Basic Finance
A finance that is developed with Node Js
DPLYR is a SaaS tool that helps developers just like you to deploy their web apps more easily. It supports deploying Node.js apps with MongoDB, MySQL or PostgreSQL databases all for free. Go now to www.dplyr.dev and create a free account.
This package is a fork from Rinvex countries and modified to work with javascript. Thanks rinvex team for your contribution to the open source community😀
Created by Ahmed Gamal
This software is released under The MIT License (MIT).
(c) 2020 DPLYR LLC, Some rights reserved.