Summary
I would like to suggest a small set of additional no-private-key importers for bblocks-data-importers that seem well aligned with the package's development-data scope.
The current importer list already covers IMF WEO, IMF DSA, World Bank, World Bank IDS, WHO GHED, UNAIDS, UNDP HDR, and WFP food-security/inflation data, with CEPII BACI listed as upcoming. The docs also point to standalone unesco-reader and oda-reader packages. The sources below would complement those without duplicating the currently listed importers.
Suggested importers
| Source |
Why it seems useful |
Public API shape |
Suggested priority |
| UNICEF Data Warehouse / UNICEF SDMX |
Child health, nutrition, WASH, education, child poverty, and child-related SDG data. This is a strong development-data fit and only partially overlaps with WDI/UNData. |
SDMX 2.1 XML dataflows and observations. Example dataflow endpoint: https://sdmx.data.unicef.org/ws/public/sdmxapi/rest/dataflow/UNICEF/all/latest?detail=allstubs; example data endpoint: https://sdmx.data.unicef.org/ws/public/sdmxapi/rest/data/UNICEF,CME,1.0/all?startPeriod=2022&endPeriod=2022. |
High |
| UNHCR Refugee Statistics API |
Refugees, asylum seekers, IDPs, stateless persons, demographics, asylum applications, and solutions. Useful for humanitarian, migration, fragility, and displacement analysis. |
Paginated JSON under https://api.unhcr.org/population/v1/. Example: https://api.unhcr.org/population/v1/population/?yearFrom=2022&yearTo=2022&limit=5. |
High |
| World Bank Poverty and Inequality Platform (PIP) |
Dedicated poverty/inequality estimates and regional aggregates, distinct from generic WDI poverty indicators. Useful for poverty-line, survey-year, and regional/global aggregate workflows. |
JSON under https://api.worldbank.org/pip/v1/. Example: https://api.worldbank.org/pip/v1/pip-grp?country=all&year=2020&povline=2.15. |
High |
| ILOSTAT |
Labor-market indicators such as unemployment, employment, wages, informality, working poverty, and SDG labor indicators. |
Public ILOSTAT APIs/SDMX endpoints; no private key required. Example tested indicator: UNE_DEAP_SEX_AGE_RT for unemployment by sex and age. |
High |
| WHO Global Health Observatory (GHO) |
Broader WHO health data beyond GHED: mortality, life expectancy, disease, risk factors, UHC, and health-system indicators. |
OData JSON under https://ghoapi.azureedge.net/api/. Example: https://ghoapi.azureedge.net/api/WHOSIS_000001?$filter=SpatialDim%20eq%20%27USA%27%20and%20TimeDim%20ge%202020%20and%20TimeDim%20le%202020. |
Medium/high |
| UNSD Global SDG Indicators API |
Official SDG indicator series with disaggregation metadata. Some overlap exists with UNData-style access, but the official SDG API has useful series, attribute, and dimension metadata. |
JSON under https://unstats.un.org/SDGAPI/v1/sdg/. Example: https://unstats.un.org/SDGAPI/v1/sdg/Series/Data?seriesCode=SI_POV_DAY1&areaCode=840&page=1&pageSize=1000. |
Medium |
Validation
I prototyped small no-key search/download paths for each source in a local economics-data workflow and verified that the endpoints return usable rows:
- UNICEF
CME, 2022: 5 observation rows returned from SDMX XML.
- UNHCR
population, 2022: 1 aggregate row returned.
- PIP
pip-grp, 2020, poverty line 2.15: 5 aggregate rows returned.
- ILOSTAT
UNE_DEAP_SEX_AGE_RT, USA, 2023: 84 rows returned.
- WHO GHO
WHOSIS_000001, USA, 2020: 3 rows returned.
- UNSD SDG
SI_POV_DAY1, area code 840, 2020: 1 row returned.
All of these worked without private API keys.
Possible API design
The existing bblocks-data-importers interface could probably expose these as separate source classes/functions rather than hiding them behind broader aggregators:
UNICEF or UNICEFDataWarehouse
UNHCR
PIP or WorldBankPIP
ILOSTAT
WHOGHO
UNSDSDG
For consistency with existing importers, each would ideally provide:
- source metadata/search/list methods where the source exposes catalog metadata;
- a
get_data(...) style method returning tidy data frames;
- source URL and access-date metadata;
- documented parameter examples for common use cases;
- conservative pagination/row-limit defaults for large APIs.
Happy to share endpoint notes or prototype logic if useful.
Summary
I would like to suggest a small set of additional no-private-key importers for
bblocks-data-importersthat seem well aligned with the package's development-data scope.The current importer list already covers IMF WEO, IMF DSA, World Bank, World Bank IDS, WHO GHED, UNAIDS, UNDP HDR, and WFP food-security/inflation data, with CEPII BACI listed as upcoming. The docs also point to standalone
unesco-readerandoda-readerpackages. The sources below would complement those without duplicating the currently listed importers.Suggested importers
https://sdmx.data.unicef.org/ws/public/sdmxapi/rest/dataflow/UNICEF/all/latest?detail=allstubs; example data endpoint:https://sdmx.data.unicef.org/ws/public/sdmxapi/rest/data/UNICEF,CME,1.0/all?startPeriod=2022&endPeriod=2022.https://api.unhcr.org/population/v1/. Example:https://api.unhcr.org/population/v1/population/?yearFrom=2022&yearTo=2022&limit=5.https://api.worldbank.org/pip/v1/. Example:https://api.worldbank.org/pip/v1/pip-grp?country=all&year=2020&povline=2.15.UNE_DEAP_SEX_AGE_RTfor unemployment by sex and age.https://ghoapi.azureedge.net/api/. Example:https://ghoapi.azureedge.net/api/WHOSIS_000001?$filter=SpatialDim%20eq%20%27USA%27%20and%20TimeDim%20ge%202020%20and%20TimeDim%20le%202020.https://unstats.un.org/SDGAPI/v1/sdg/. Example:https://unstats.un.org/SDGAPI/v1/sdg/Series/Data?seriesCode=SI_POV_DAY1&areaCode=840&page=1&pageSize=1000.Validation
I prototyped small no-key search/download paths for each source in a local economics-data workflow and verified that the endpoints return usable rows:
CME, 2022: 5 observation rows returned from SDMX XML.population, 2022: 1 aggregate row returned.pip-grp, 2020, poverty line 2.15: 5 aggregate rows returned.UNE_DEAP_SEX_AGE_RT, USA, 2023: 84 rows returned.WHOSIS_000001, USA, 2020: 3 rows returned.SI_POV_DAY1, area code 840, 2020: 1 row returned.All of these worked without private API keys.
Possible API design
The existing
bblocks-data-importersinterface could probably expose these as separate source classes/functions rather than hiding them behind broader aggregators:UNICEForUNICEFDataWarehouseUNHCRPIPorWorldBankPIPILOSTATWHOGHOUNSDSDGFor consistency with existing importers, each would ideally provide:
get_data(...)style method returning tidy data frames;Happy to share endpoint notes or prototype logic if useful.