API Explorer

Loans and Credits

IBRD Statement of Loans and Guarantees - Latest Available Snapshot

Data as of Oct 31, 2024

Note: IDs starting with IBRDB and IBRDG are "Guarantees" and the rest are "Loans".


The International Bank for Reconstruction and Development (IBRD) loans are public and publicly guaranteed debt extended by the World Bank Group. IBRD loans are made to, or guaranteed by, countries / economies that are members of IBRD. IBRD may also make loans to IFC. IBRD lends at market rates. Data are in U.S. dollars calculated using historical rates. This dataset contains the latest available snapshot of the Statement of Loans. The World Bank complies with all sanctions applicable to World Bank transactions.

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
End of PeriodEnd of Period Date represents the date as of which balances are shown in the report.end_of_periodDATE
Loan NumberFor IBRD, a loan number consists of the organization prefix (IBRD) and a five-character label that uniquely identifies the loan within the organization. IDs starting with IBRDB and IBRDG are "Guarantees" and the rest are "Loans".loan_numberSTRING
RegionWorld Bank Region to which country / economy and loan belong. Country / Economy lending is grouped into regions based on the current World Bank administrative (rather than geographic) region where project implementation takes place. The Other Region is used for loans to IFC.regionSTRING
Country / Economy CodeCountry / Economy Code according to the World Bank country / economy list. Might be different from the ISO country / economy code.country_codeSTRING
Country / EconomyCountry / Economy to which loan has been issued. Loans to the IFC are included under the country / economy “World”.countrySTRING
BorrowerThe representative of the borrower to which the Bank loan is made. borrowerSTRING
Guarantor Country / Economy CodeCountry / Economy Code of the Guarantor according to the World Bank country / economy list. Might be different from the ISO country / economy code.guarantor_country_codeSTRING
GuarantorThe Guarantor guarantees repayment to the Bank if the borrower does not repay. guarantorSTRING
Loan TypeA type of loan/loan instrument for which distinctive accounting and/or other actions need to be performed. loan_typeSTRING
Loan StatusStatus of the loan. loan_statusSTRING
Interest RateCurrent Interest rate or service charge applied to loan. For loans that could have more than one interest rate (e.g. FSL or SCL fixed rate loans), the interest rate is shown as “0”. interest_rateNUMBER
Currency of CommitmentThe currency in which a borrower’s loan, credit or grant is denominated.currency_of_commitmentSTRING
Project IDA Bank project is referenced by a project ID (Pxxxxxxx). More than one loan, credit, or grant may be associated with one Project ID. project_idSTRING
Project NameShort descriptive project name.project_nameSTRING
Original Principal Amount (US$)The original US dollar amount of the loan that is committed and approved. original_principal_amountNUMBER
Cancelled Amount (US$)The portion of the undisbursed balance which has been cancelled (i.e. no longer available for future disbursement). Cancellations include terminations (where approved loan agreements were never signed).cancelled_amountNUMBER
Undisbursed Amount (US$)The amount of a loan commitment that is still available to be drawn down. These currency amounts have been converted to US dollars at the exchange rates applicable at the End of Period date. undisbursed_amountNUMBER
Disbursed Amount (US$)The amount that has been disbursed from a loan commitment in equivalent US dollars calculated at the exchange rate on the value date of the individual disbursements.disbursed_amountNUMBER
Repaid to IBRD (US$)Total principal amounts paid or prepaid to IBRD in US dollars, calculated at the exchange rate on the value date of the individual repayments.repaid_to_ibrdNUMBER
Due to IBRD (US$)Where the exchange adjustment is shown separately, this is the amount disbursed and outstanding expressed as a stock of debt in historical US Dollars. Otherwise, this is the amount due and outstanding as of the End of Period date.due_to_ibrdNUMBER
Exchange Adjustment (US$)The increase (decrease) in value of disbursed and outstanding amount due to exchange rate fluctuations. This amount added to “Due to IBRD” yields “Borrower’s Obligation; includes exchange adjustments on the amounts Due to 3rd parties.exchange_adjustmentNUMBER
Borrower's Obligation (US$)The Borrower Obligation is the outstanding balance for the loan as of the end of period date in US dollars equivalent. The Borrower's Obligation includes the amounts outstanding Due to 3rd parties.borrowers_obligationNUMBER
Sold 3rd Party (US$)Portion of loan sold to a third party.sold_3rd_partyNUMBER
Repaid 3rd Party (US$)Amount repaid to a third party.repaid_3rd_partyNUMBER
Due 3rd Party (US$)Amount due to a third party.due_3rd_partyNUMBER
Loans Held (US$)The sum of the disbursed and outstanding amounts (net of repayments, i.e. Due to IBRD) plus undisbursed available amounts.loans_heldNUMBER
First Repayment DateThe date on which principal repayment starts.first_repayment_dateDATE
Last Repayment DateThe date specified in the loan/credit agreement (amended for any partial prepayments) on which the last principal installment must be repaid by the Borrower.last_repayment_dateDATE
Agreement Signing DateThe date the borrower and the Bank sign the loan agreement.agreement_signing_dateDATE
Board Approval DateThe date the World Bank approves the loan. board_approval_dateDATE
Effective Date (Most Recent)The date on which a legal agreement becomes effective, or is expected to become effective.effective_date_most_recentDATE
Closed Date (Most Recent)The date specified in the legal agreement (or extension) after which the Bank may, by notice to the borrower, terminate the right to make withdrawals from the loan account.closed_date_most_recentDATE
Last Disbursement DateThe date on which the last disbursement was made (prior to the end of period date).last_disbursement_dateDATE
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=DS00047&resourceId=RS00049&top=100&type=json

No Data Available

DS00047
World Bank Group
May 16, 2011
Nov 28, 2024
Licensing and Attribution
Creative Commons Attribution 4.0 International
Creative Commons Attribution 4.0 International
Additional Information
Time Series
Loan,Guarantee
World Bank Group
Month
Other
official
Monthly
World
end_of_period, board_approval_date
Query tool,API,Mobile App,Bulk download
English
By 10th business day of each month
Oct 31, 2024
Nov 28, 2024
Nov 14, 2024
Scope
What's in this Dataset?
9,217
33
JavaScript makes it super simple to fetch from an API endpoint.
fetch('https://datacatalogapi.worldbank.org/dexapps/fone/api/apiservice?datasetId=DS00047&resourceId=RS00049&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=DS00047&resourceId=RS00049&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=DS00047&resourceId=RS00049&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=DS00047&resourceId=RS00049&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=DS00047&resourceId=RS00049&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=DS00047&resourceId=RS00049&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=DS00047&resourceId=RS00049&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=DS00047&resourceId=RS00049&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=DS00047&resourceId=RS00049&top=100&type=json"