DAC and CRS code lists

10,131
Updated:
Files:16
Size:412 kB
Formats:csv

The DAC Secretariat maintains various code lists which are used by donors to report on their aid flows to the DAC databases. In addition, these codes are used to classify information in the DAC databases.

Part of a Data Solution

  • Global Country & Region Reference Data Solution

    Authoritative country codes, regions and location reference data to power your location-based solutions.

    Explore →

API Access

Access dataset files directly from scripts, code, or AI agents.

Browse dataset files
Dataset Files

Each file has a stable URL (r-link) that you can use directly in scripts, apps, or AI agents. These URLs are permanent and safe to hardcode.

/core/dac-and-crs-code-lists/
https://datahub.io/core/dac-and-crs-code-lists/_r/-/.gitignore
https://datahub.io/core/dac-and-crs-code-lists/_r/-/ATTRIBUTION.txt
https://datahub.io/core/dac-and-crs-code-lists/_r/-/README.md
https://datahub.io/core/dac-and-crs-code-lists/_r/-/UPDATE_SCRIPT_MAINTENANCE_REPORT.md
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/agencies.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/aid_type_categories.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/aid_types.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/channel_codes.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/collaboration_types.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/dac_members.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/finance_type_categories.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/finance_types.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/flow_types.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/multilateral_donors.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/nature_of_submission.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/non_dac_donors.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/private_donors.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/recipients.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/sector_categories.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/data/sectors.csv
https://datahub.io/core/dac-and-crs-code-lists/_r/-/datapackage.json
https://datahub.io/core/dac-and-crs-code-lists/_r/-/excel_crs_mappings.json
https://datahub.io/core/dac-and-crs-code-lists/_r/-/parsers/__init__.py
https://datahub.io/core/dac-and-crs-code-lists/_r/-/parsers/excel.py
https://datahub.io/core/dac-and-crs-code-lists/_r/-/parsers/helpers.py
https://datahub.io/core/dac-and-crs-code-lists/_r/-/requirements.txt
https://datahub.io/core/dac-and-crs-code-lists/_r/-/runtime.txt
https://datahub.io/core/dac-and-crs-code-lists/_r/-/scraper.py
https://datahub.io/core/dac-and-crs-code-lists/_r/-/scrapers/__init__.py
https://datahub.io/core/dac-and-crs-code-lists/_r/-/scrapers/excel.py
https://datahub.io/core/dac-and-crs-code-lists/_r/-/scrapers/helpers.py
https://datahub.io/core/dac-and-crs-code-lists/_r/-/scrapers/xml.py
https://datahub.io/core/dac-and-crs-code-lists/_r/-/source/codelists.xls
https://datahub.io/core/dac-and-crs-code-lists/_r/-/source/codelists.xml
Key Files

Start with these files — they give you everything you need to understand and access the dataset.

datapackage.json— metadata & schema
https://datahub.io/core/dac-and-crs-code-lists/_r/-/datapackage.json
README.md— documentation
https://datahub.io/core/dac-and-crs-code-lists/_r/-/README.md
Typical Usage
  1. 1. Fetch datapackage.json to inspect schema and resources
  2. 2. Download data resources listed in datapackage.json
  3. 3. Read README.md for full context

Data Files

Explore with AI

DAC members

Download

Download CSV

About

List of donor codes and names for DAC members. Currency codes for a donor’s currency refer to the donor code in question (e.g. Australian dollars use donor code 801 for Australia. Note: the currency code for the Euro uses the donor code for EU Institutions, i.e. 918).
Last updated
15 October 2026
Total rows
...
Format
CSV
File size
973 B

Multilateral donors

Non-DAC donors

Private donors

Agencies

Nature of submission

Recipients

Channel codes

Collaboration types

Flow types

Finance types

Finance type categories

Aid types

Aid type categories

Sectors

Sector categories


About this dataset

badge

DAC and CRS code lists

The DAC Secretariat of the OECD maintains various code lists which are used by donors to report on their aid flows to the DAC databases. In addition, these codes are used to classify information in the DAC databases. This repository republishes the lists as CSV files, in a machine-readable format.

Column definitions and types are in datapackage.json.

Data

All files are in data/, as CSV with a header row. Every value is quoted. Most files have English (name_en) and French (name_fr) names.

FileWhat it lists
dac_members.csvDonor codes and names of DAC members
multilateral_donors.csvDonor codes and names of multilateral donors
non_dac_donors.csvDonor codes and names of non-DAC donors
private_donors.csvDonor codes and names of private donors
agencies.csvAgencies of each donor (agency code, names, acronym)
recipients.csvRecipient countries and territories, with income group and geography
channel_codes.csvChannels of delivery
nature_of_submission.csvNature of submission
collaboration_types.csvBilateral / multilateral collaboration types
flow_types.csvTypes of flow (for example ODA)
finance_types.csv, finance_type_categories.csvTypes of finance and their categories
aid_types.csv, aid_type_categories.csvTypes of aid (co-operation modalities) and their categories
sectors.csv, sector_categories.csvPurpose (sector) codes and their categories

The columns are:

ColumnMeaning
codeThe code the file lists. In the donor files, agencies.csv and recipients.csv it is the donor or recipient code, for example 1 for Austria in dac_members.csv. In aid_types.csv it can contain letters, for example A01
name_en, name_frName in English and in French
description_en, description_frLonger description, where the OECD gives one (flow types, finance types, aid types, sectors)
categoryThe category a code belongs to: a code in finance_type_categories.csv (for finance_types.csv), in aid_type_categories.csv (for aid_types.csv) or in sector_categories.csv (for sectors.csv; the OECD heads this column "DAC 5 code" although it holds the shorter category codes, for example 111). In channel_codes.csv it is the code of the parent channel; top-level channels are their own parent
voluntary_codeIn sectors.csv, the voluntary code of a purpose, where it has one. Blank for most rows
acronym, acronym_en, acronym_frAcronym of an agency (agencies.csv) or of a channel in English and French (channel_codes.csv)
donor_name_en, donor_name_frIn agencies.csv, name of the donor that the agency belongs to. code is the donor code
agency_code, agency_name_en, agency_name_frIn agencies.csv, code and names of the agency
income_groupIn recipients.csv, the DAC income group, for example LDCs or UMICs
geographyIn recipients.csv, the region the OECD places the recipient in, for example Eastern Africa or Europe

Known limitations

  • Codes are text. They can contain letters (A01 in aid_types.csv), and many lists have blank cells. Read the files as text, so that codes are not turned into numbers and blank cells stay blank:

    import pandas as pd
    df = pd.read_csv("data/sectors.csv", dtype=str, keep_default_na=False)
    
  • code is not a unique key in every file. In agencies.csv the donor code repeats for each agency; the key is code with agency_code. In sectors.csv the purpose code repeats for each voluntary_code under it; the key is code with voluntary_code.

  • Some cells are blank. For example acronym in agencies.csv, the descriptions in finance_types.csv and sectors.csv, and some French names in channel_codes.csv and finance_types.csv. geography is blank for a few recipients.

  • geography mixes broad and narrow regions: some recipients are placed in Africa or Asia, others in a narrower region such as Eastern Africa.

  • A description cell can contain a line break inside the quotes. CSV readers handle this; tools that work line by line do not.

  • recipients.csv keeps only the DAC income group. The spreadsheet has more columns (for example the World Bank income group and flags such as landlocked), which are not kept.

Data sources

Changes made to the source data: scraper.py downloads the Excel file (and the OECD's XML version of the lists, which is stored but not used for the CSV files) into source/ unchanged. parsers/excel.py then reads the sheets and columns named in excel_crs_mappings.json, converts every cell to text, removes surrounding spaces, skips header and empty rows, fills down category values where the sheet leaves them blank, removes duplicate rows, joins the English and French sector lists, and writes one CSV file per list. A few cells are replaced by fixed values listed in excel_crs_mappings.json. Columns of the sheets that are not in the mapping are not kept.

Not endorsed by, or affiliated with, the OECD.

Preparation

You need Python 3 (runtime.txt and the workflow file say which versions are used) and access to webfs.oecd.org:

pip install -r requirements.txt
python scraper.py

scraper.py downloads the latest OECD files into source/ and rebuilds all the CSV files in data/. The sheet and columns of each list are set in excel_crs_mappings.json. If the OECD changes the layout of its spreadsheet, the mappings must be changed to match.

A GitHub Action (.github/workflows/scrape.yml) runs scraper.py every day at 02:00 UTC, and on every push. On main, when the result differs, it opens or updates a pull request called "Automated update". Nothing reaches main until that pull request is merged.

License

The code lists are published by the OECD. The OECD Terms and Conditions (section 3, "Data") say:

you can extract from, download, copy, adapt, print, distribute, share and embed Data for any purpose, even for commercial use. You must give appropriate credit to the OECD by using the citation associated with the relevant Data

and that anyone who shares or licenses work made with the Data must "include the same acknowledgment requirement in any sub-licenses that you grant". The same terms add that Data "may be subject to restrictions beyond the scope of these Terms and Conditions, either because specific terms apply to those Data or because third parties may have ownership interests".

What was checked, and what could not be established:

  • The OECD terms page refuses automated requests. The quotes above were read on an archived copy dated 31 December 2025, which says it was last updated in July 2024. The live page may differ.
  • The OECD names the Creative Commons Attribution 4.0 licence (CC BY 4.0) only for its "written content". The terms do not say whether a code list counts as "Data" or as written content, so the exact licence is unclear. Both readings allow commercial use, adaptation and sharing, need credit to the OECD, and do not require share-alike. For adapted written content the OECD also asks for a disclaimer, which is included in ATTRIBUTION.txt.
  • The Excel file and the XML file carry no licence notice of their own, in the sheets and elements we looked at.
  • We found no third-party notice in the file, but did not read every cell.

The maintainers place only their own work (the scraper, the column mappings and the CSV layout) under the Public Domain Dedication and License (PDDL). This does not cover the OECD's code lists, in data/ or in source/. See ATTRIBUTION.txt for the credit to give when you use the data.