API Explorer

Financial Reporting

Historical IBRD Income Statements Data

Data as of 2024

This dataset contains Income Statement data from IBRD’s published financial statements It was compiled from data in our systems as well as by extracting the data from the published Financial Statements documents. The dataset goes as far back as the foundation of the institution (1946). This data has been verified and validated for publication, but does not, in any capacity, replace the official published Financial Statements.

An archive for IBRD’s annual Financial Statements is available at www.worldbank.org/financialresults

Important Note

We recommend users to adopt API service option only for datasets exceeding a million records. For other datasets, kindly use the JSON link available on the "Actions and Tools" section which enables extraction of all the records at once.

Parameters
ParameterValueDescriptionAPI FIELD NAMEData Type
ClassificationRepresents expansive categorization of Income Statement into Revenue, Expenses, Unrealized mark-to-market gains (losses) on Investments-Trading portfolio, Unrealized mark-to-market gains (losses) on Non-Trading portfolios.classificationSTRING
GroupingRepresents alignment of various segments of the Income Statement based on nature of its components.groupingSTRING
CategoryRepresents the first level view of the Grouping column.categorySTRING
Line Item DescriptionRepresents the individual components of the Income Statement as published.line_item_descriptionSTRING
YearDate in which the Income Statement was published. yearDATE
Amount (US$, Millions)Amount in Million US Dollars.amount_us__millionsNUMBER
Resource IDID of the associated ResourceSTRING
SelectFields that required E.g (fiscal_year|supplier_country|total_amount)STRING
TopNumber of records to fetchNUMBER
SkipSkip the records from the ascending orderNUMBER
Please Note:
  • This API will support up to a maximum of 1000 records per request / page.
  • The date format for all date fields should be DD-MMM-YYYY.
  • Selection will allow for multiple parameters E.g (Country = India|Afghanistan).
  • The filters for blank and non-blank should be IS NULL and IS NOT NULL E.g (Country = IS NULL, Country = IS NOT NULL)

https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json

No Data Available

DS01000
World Bank Group
Sep 14, 2018
Oct 24, 2024
Licensing and Attribution
Creative Commons Attribution 4.0 International
Creative Commons Attribution 4.0 International
Additional Information
Time Series
World Bank Group
Annual
Other
official
Annually
World
year
Query tool,API,Bulk download
English
October
2024
Oct 24, 2024
Oct 24, 2024
Scope
What's in this Dataset?
2,825
6
JavaScript makes it super simple to fetch from an API endpoint.
fetch('https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json')
    .then(response => {
        if (!response.ok) {
            throw new Error('');
        }
        return response.json();
    })
    .then(data => {
        // Do something with the response data
        // console.log(data);
    })
    .catch(error => {
        console.error('Error:', error);
    });
    
Python for easily work with data.
import requests
url = 'https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json'
try:
    response = requests.get(url)
    response.raise_for_status()  # Raise an exception for 4XX and 5XX status codes
    data = response.json()  # Parse the JSON response
    print(data)  # Print the response data
except requests.RequestException as e:
    print(f'Error: {e}')
PowerShell code to extract data.
$url = 'https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json'
try {
    $response = Invoke-RestMethod -Uri $url -Method Get
    # Print the response
    Write-Output $response
} catch {
    # Print error message if request fails
    Write-Error "Error: $_"
}
The following snippet brings data into your application.
require 'net/http'
url = URI('https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json')
begin
response = Net::HTTP.get_response(url)
if response.is_a?(Net::HTTPSuccess)
    puts response.body
else
    puts "Error: #{response.code} - #{response.message}"
end
rescue StandardError => e
puts "Error: #{e.message}"
end
Below code that makes usage with .NET more natural.
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
    static async Task Main(string[] args)
    {
        var response = await new HttpClient().GetStringAsync("https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json");
        Console.WriteLine(response);
    }
}
JAVA for easily work with data.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json");
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line;
        StringBuffer response = new StringBuffer();
        while ((line = reader.readLine()) != null) {
            response.append(line);
        }
        reader.close();
        System.out.println(response.toString());
    }
}
The following snippet brings data into your application.
shell "curl -X GET https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json"
PHP code to brings the data.
<?php
// Specify the URL you want to send the GET request to
$url = "https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json";
// Initialize cURL session
$curl = curl_init();
// Set the cURL options
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// Execute cURL session
$response = curl_exec($curl);
// Close cURL session
curl_close($curl);
// Print the response
echo $response;
?>
            
Copy and paste the following to import this dataset into Stata.
clear
. import delimited "https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS01000&resourceId=RS00930&top=100&type=json"