countrypppdata
Version:
A script to fetch the Purchasing Power Parity (PPP) data from the World Bank API.
43 lines (37 loc) • 1 kB
JavaScript
const axios = require("axios");
const { getCodes, getCodeList } = require("country-list");
async function fetchCountryData() {
let countries = getCodes();
const countriesList = getCodeList();
let countryName, pf;
const result = [];
const miss = [];
for (country of countries) {
try {
let pfRes = await axios.get(
"https://api.worldbank.org/v2/country/" +
country +
"/indicator/pa.nus.pppc.rf?format=json"
);
let pfDataset = pfRes.data[1];
for (pfData of pfDataset) {
countryName = pfData["country"]["value"];
pf = pfData["value"];
if (pf != null) {
break;
}
}
pf = pf || 0.7;
result.push({ country, countryName, pf });
} catch (err) {
miss.push(country);
}
}
for (code of miss) {
countryName = countriesList[code.toLowerCase()];
pf = 0.7;
result.push({ country, countryName, pf });
}
return result;
}
module.exports = fetchCountryData;