Now you can request additional data and/or customized columns!

Try It Now!

IMF World Economic Outlook Database

Certified

core

Files Size Format Created Updated License Source
3 5MB csv zip 1 year ago 9 months ago PDDL-1.0 IMF
IMF World Economic Outlook (WEO) database. The [IMF World Economic Outlook][weo] is a twice-yearly survey by IMF staff that presents IMF staff economists' analyses of global economic developments during the near and medium term. Associated with the report is the [World Economic read more
Download Developers

Data Files

Download files in this dataset

File Description Size Last changed Download
indicators 47kB csv (47kB) , json (49kB)
values 13MB csv (13MB) , json (27MB)
imf-weo_zip Compressed versions of dataset. Includes normalized CSV and JSON data with original data and datapackage.json. 5MB zip (5MB)

indicators  

Signup to Premium Service for additional or customised data - Get Started

This is a preview version. There might be more data in the original version.

Field information

Field Name Order Type (Format) Description
id 1 string
title 2 string
description 3 string
units 4 string
scale 5 string

values  

Signup to Premium Service for additional or customised data - Get Started

This is a preview version. There might be more data in the original version.

Field information

Field Name Order Type (Format) Description
Country 1 string
Indicator 2 string
Year 3 integer
Value 4 string

Integrate this dataset into your favourite tool

Use our data-cli tool designed for data wranglers:

data get https://datahub.io/core/imf-weo
data info core/imf-weo
tree core/imf-weo
# Get a list of dataset's resources
curl -L -s https://datahub.io/core/imf-weo/datapackage.json | grep path

# Get resources

curl -L https://datahub.io/core/imf-weo/r/0.csv

curl -L https://datahub.io/core/imf-weo/r/1.csv

curl -L https://datahub.io/core/imf-weo/r/2.zip

If you are using R here's how to get the data you want quickly loaded:

install.packages("jsonlite", repos="https://cran.rstudio.com/")
library("jsonlite")

json_file <- 'https://datahub.io/core/imf-weo/datapackage.json'
json_data <- fromJSON(paste(readLines(json_file), collapse=""))

# get list of all resources:
print(json_data$resources$name)

# print all tabular data(if exists any)
for(i in 1:length(json_data$resources$datahub$type)){
  if(json_data$resources$datahub$type[i]=='derived/csv'){
    path_to_file = json_data$resources$path[i]
    data <- read.csv(url(path_to_file))
    print(data)
  }
}

Note: You might need to run the script with root permissions if you are running on Linux machine

Install the Frictionless Data data package library and the pandas itself:

pip install datapackage
pip install pandas

Now you can use the datapackage in the Pandas:

import datapackage
import pandas as pd

data_url = 'https://datahub.io/core/imf-weo/datapackage.json'

# to load Data Package into storage
package = datapackage.Package(data_url)

# to load only tabular data
resources = package.resources
for resource in resources:
    if resource.tabular:
        data = pd.read_csv(resource.descriptor['path'])
        print (data)

For Python, first install the `datapackage` library (all the datasets on DataHub are Data Packages):

pip install datapackage

To get Data Package into your Python environment, run following code:

from datapackage import Package

package = Package('https://datahub.io/core/imf-weo/datapackage.json')

# print list of all resources:
print(package.resource_names)

# print processed tabular data (if exists any)
for resource in package.resources:
    if resource.descriptor['datahub']['type'] == 'derived/csv':
        print(resource.read())

If you are using JavaScript, please, follow instructions below:

Install data.js module using npm:

  $ npm install data.js

Once the package is installed, use the following code snippet:

const {Dataset} = require('data.js')

const path = 'https://datahub.io/core/imf-weo/datapackage.json'

// We're using self-invoking function here as we want to use async-await syntax:
;(async () => {
  const dataset = await Dataset.load(path)
  // get list of all resources:
  for (const id in dataset.resources) {
    console.log(dataset.resources[id]._descriptor.name)
  }
  // get all tabular data(if exists any)
  for (const id in dataset.resources) {
    if (dataset.resources[id]._descriptor.format === "csv") {
      const file = dataset.resources[id]
      // Get a raw stream
      const stream = await file.stream()
      // entire file as a buffer (be careful with large files!)
      const buffer = await file.buffer
      // print data
      stream.pipe(process.stdout)
    }
  }
})()

Read me

IMF World Economic Outlook (WEO) database. The IMF World Economic Outlook is a twice-yearly survey by IMF staff that presents IMF staff economists’ analyses of global economic developments during the near and medium term. Associated with the report is the World Economic Outlook Database, a country-level dataset of major macro-economic variables (GDP, Unemployment, Debt etc). It is the data from that database which is provided here.

Data

The source database is made of annual values for each country on 45 indicators since 1980. In addition the database includes the IMF projects approximately 6 years into the future.

We extract this data and normalize into 2 files:

  • Indicators - data/indicators.csv - the list of indicators
  • Values - data/values.csv - set of values for each indicator, country, year tuple.
  • Country - ‘data/country.csv’ - set of value for mapping each ISO country code, WEO country code, and CLDR English Name

Sources

Note the XLS files actual turn out to be tsv files!

Preparation

Code to extract the data from the source WEO Database is in the scripts directory.

License

This Data Package is licensed by its maintainers under the Public Domain Dedication and License (PDDL).


Keywords and keyphrases: world economic outlook database, imf weo database, imf data, imf weo.
Datapackage.json

Request Customized Data


Notifications of data updates and schema changes

Warranty / guaranteed updates

Workflow integration (e.g. Python packages, NPM packages)

Customized data (e.g. you need different or additional data)

Or suggest your own feature from the link below