About this project
Built to make displacement data accessible to everyone.
Refuji Watch is an open-source humanitarian dashboard that transforms dense UN spreadsheets into clear, interactive visualisations — for journalists, NGOs, researchers, students, and the public.
Why this exists

The UN Refugee Agency (UNHCR) publishes some of the most important data in the world — tracking how many people have fled their homes, which countries are hosting them, and how the numbers have changed year by year. It's free, public, and comprehensive.

But the tools to explore it are built for policy insiders, not the public. The interfaces are slow, the files are dense, and the numbers are impossible to understand without context.

Refuji Watch was built to fix that. A clean, fast, public interface to one of the most consequential datasets in the world — one that a journalist, student, or donor can open and immediately understand.

Data sources
Primary source for all displacement figures — refugees, asylum seekers, and IDPs across 202 countries. Updated annually. Free API, no key required.
Humanitarian funding appeals and actual contributions. Used for the funding gap tracker. Updated continuously as pledges are made.
Live humanitarian news feed. Reports are fetched directly from ReliefWeb's v2 API, filtered by country or displacement theme.
Live and on-demand UN broadcast coverage — Security Council, General Assembly, Human Rights Council, and press briefings.
How crisis scores are calculated

The Crisis Severity Index is a composite score from 1–10 assigned to origin countries based on four weighted factors. Scores are reviewed periodically against UNHCR and ACLED data.

40%
Scale of displacementTotal displaced as a proportion of the country's population. A country with 50% of its population displaced scores higher than one with 5%.
25%
Trend directionWhether displacement is actively growing, stable, or declining. A country where numbers doubled in two years scores higher than one that has plateaued.
20%
Humanitarian funding gapThe percentage of the OCHA appeal that remains unfunded. Critically underfunded crises (below 40%) receive a higher severity contribution.
15%
Duration of crisisHow long the displacement situation has been active. Protracted crises that show no signs of resolution score higher than acute but potentially short-term events.

Score labels: 9.0–10.0 = Critical · 7.0–8.9 = Severe · 5.0–6.9 = High · 3.0–4.9 = Moderate · 1.0–2.9 = Low

Known limitations
UNHCR data is annual, not real-time. The population figures reflect the most recent published dataset. Acute crises (like a sudden outbreak of conflict) will not be reflected until UNHCR's next data release.
Origin-host pairs are partially hardcoded. The UNHCR API returns aggregated totals — breakdown by origin-host country pair requires supplementary data sources for approximately 60 host countries.
Crisis scores are estimates. The Severity Index is a best-effort composite. It should be read as a relative ranking, not a precise measurement. Ground-truth severity may differ from the score.
Coverage is not universal. The dashboard currently covers 28 countries in depth. Countries not in UNHCR's major displacement datasets may not appear in search results.
Dataset coverage
202
countries tracked
28
detailed country profiles
7 yrs
of trend data (2018–2024)
4
live data sources
Open source

Refuji Watch is fully open source under the MIT licence. You're free to use, share, and adapt it with attribution.

MIT Licence Free APIs No ads
View on GitHub ↗
Built by
JS
jahit
Cloud developer learning AWS and full-stack web development through real humanitarian projects. Refuji Watch is a first major cloud project built to make UN data accessible.
Get in touch

Working in humanitarian data, journalism, or an NGO? Have a suggestion, found a data issue, or want to contribute?

Open a GitHub issue ↗