SYNOPSIS
my $chart = WebService::OurWorldInData::Chart->new({
chart => 'sea-surface-temperature-anomaly', # dataset name
});
my $result = $chart->data(); # get the csv data
my $rows = $chart->parse_data($result);
DESCRIPTION
Queries the Our World in Data Chart api which provides data and metadata in CSV format. The Chart object can be created with the following attributes:
short_names - a boolean flag to affect the results csv_type - either full (default) or filtered time/country - filter the results you request
as described by the OWiD API.
my $chile = WebService::OurWorldInData::Chart->new(
chart => 'life-expectancy',
csv_type => 'filtered',
country => '~CHL',
time => '1998..2023' );
Methods
find
Our World in Data holds the data on 14,368 charts across 123 topics as of July 2025. Because they haven't opened up their Catalog API yet, I've had to scrape their web page for results. This means that the find
method is not dynamic, up-to-date or anywhere near complete.
There are currently 1822 charts known by this module.
get_topics
This will return a list of topics that I've scraped so far. It is not the complete 123 as of July 2025, but it should give you a start.