Overview
IATI Pulse provides a live diagnostic of aid transparency for a given recipient country, using data published to the International Aid Transparency Initiative (IATI) standard. All figures are derived from real-time queries to the IATI Datastore v3 API.
This is not a measure of actual development cooperation flows — it is a measure of how well those flows are reported through IATI. A country with high numbers here has good IATI reporting coverage; it does not necessarily receive more aid than a country with lower numbers.
Data Source
All queries are made against the IATI Datastore v3, an Apache Solr-based search index maintained by the IATI Secretariat. The Datastore processes data published to the IATI Registry and refreshes within 24 hours of new publications.
Requests are proxied through a Cloudflare Worker to manage API authentication. Responses are cached for up to 6 hours. The underlying data updates nightly from the IATI Registry.
Scorecard Metrics
Active Publishers
Count of distinct reporting_org_ref values across all activities where recipient_country_code matches the selected country. Uses Solr faceting (facet.field=reporting_org_ref) on the activity collection. Publisher display names are resolved via a grouped query returning reporting_org_narrative.
Sectors Reported
Count of distinct sector_code values from the DAC sector vocabulary. Uses Solr faceting on the activity collection. Sector names are looked up from the Code for IATI codelist API (codelists.codeforiati.org). Limited to the top 200 codes by activity count.
Transactions Reported
Total
numFound from the transaction collection for the selected country. This includes all transaction types: commitments, disbursements, expenditure, incoming funds, loan repayments, and others. The type breakdown is obtained via
facet.field=transaction_transaction_type_code.
Note: this is a count of transaction records, not a financial value. Currency conversion is not performed because the Datastore stores values in the publisher's original currency.
Total Activities
The numFound from a simple query: activity/select?q=recipient_country_code:[COUNTRY]&rows=0. This counts all IATI activities where the selected country appears as a recipient, regardless of activity status.
Analytical Views
Publishers chart: Bar chart of the top 25 publishers ranked by activity count. Based on the same faceting query that produces the scorecard number.
Sectors chart: Bar chart of the top 15 DAC sector codes by activity count. Names resolved from the Code for IATI Sector codelist.
Transactions chart: Bar chart showing transaction counts by year. Uses Solr range faceting on transaction_transaction_date_iso_date with a +1YEAR gap from 2010 to present. If range faceting is unavailable, falls back to sequential per-year count queries.
Activities chart: Doughnut chart showing the distribution of activities across the top 10 publishers, with all others grouped as "Others".
Timeliness chart: Bar chart showing data freshness based on the last_updated_datetime field — the timestamp when each activity's XML was last refreshed in the IATI Registry. Activities are bucketed into five time ranges: last 3 months, 3–6 months, 6–12 months, 1–2 years, and 2+ years. The activity status breakdown (Pipeline, Implementation, Finalisation, Closed, Cancelled) is obtained via facet.field=activity_status_code.
Transaction Type Codes
The IATI standard defines the following transaction types, referenced in the scorecard:
1 = Incoming Funds · 2 = Outgoing Commitment · 3 = Disbursement · 4 = Expenditure · 5 = Interest Payment · 6 = Loan Repayment · 7 = Reimbursement · 8 = Purchase of Equity · 9 = Sale of Equity · 10 = Credit Guarantee · 11 = Incoming Commitment · 12 = Outgoing Pledge · 13 = Incoming Pledge
Country Selection
The dashboard includes all 44 UN Least Developed Countries plus non-LDC IATI Partner Country Members (Colombia, Ghana, Moldova, Nigeria). Country is selected via the ?country=XX URL parameter, where XX is the ISO 3166-1 alpha-2 code.
IATI membership status and join dates are sourced from the IATI Members Assembly partner country list.
Known Limitations
Transaction-level recipient country: Some publishers (notably USAID) report recipient-country at the transaction level rather than the activity level. This is valid IATI (per the Standard), but the Datastore query recipient_country_code:XX only matches activity-level declarations. These publishers will show as "PUBLISHING" with 0 activities — marked with ⚬ in the scorecard. A future version may add transaction-level country queries to close this gap.
Multi-country activities: An activity reported with multiple recipient countries (e.g. BD and NP) will be counted in both country dashboards. The Datastore does not apportion activities by country percentage split.
Secondary publishers: The same underlying project may be reported by both the funder and the implementer. Publisher counts therefore do not equate to unique projects.
CRS/ODA data: The Transparency Scorecard uses ODA gross disbursement figures from the OECD DAC2A dataset (2024). These are gross disbursements in current USD millions and are sourced from the OECD Data Explorer (March 2026 release). CRS data covers to 2024. Non-DAC donors (e.g. China, India, Saudi Arabia) report limited or no data to the CRS — ODA figures for these donors are estimates.
Currency: Transaction values are stored in the publisher's reporting currency. No currency conversion or USD normalisation is performed. The scorecard therefore shows transaction counts rather than financial values.
Sector vocabulary: Only DAC 5-digit sector codes (vocabulary 1) are shown. Activities tagged with alternative vocabularies (e.g. SDG goals, humanitarian clusters) are not reflected in the sector chart.
Rate limits: The IATI API free tier allows 5 requests per minute. Queries are spaced with 2-second delays. Cloudflare caching reduces repeat load times.
Activity Spotlight Selection
The Activity Spotlight surfaces 4 activities selected from the 50 most recently updated active activities for the country. Activities are scored on: clarity of title (length and readability, +3), presence of a description (+2), recency of last update (+1 to +3), and whether the publisher is a recognised CRS donor (+2). One activity per publisher is shown to ensure diversity. Activities link to d-portal for full details.
Open Source
This dashboard is a prototype built as a single HTML file with no server-side dependencies. All code, queries, and data transformations are visible in the page source. The Cloudflare Worker proxy script is also open source.
Feedback and contributions are welcome.