IRCC publishes its invitation rounds on canada.ca, but only as a web table and a large JSON feed with 18 pool-distribution columns per round. If you want to plot the CRS cut-off over ten years, or check how many French-language draws there were, you end up writing the same cleanup script every time.
So we cleaned it once and put it on GitHub: https://github.com/RB9744/express-entry-draws
What is in it:
- one row per round, from round 1 (31 January 2015, cut-off 886) to round 453 (28 October 2026)
- columns: draw_number, draw_date, draw_name, invitations, crs_cutoff, tie_break_rule, distribution_as_of
- the raw IRCC feed is included too (data/ircc_rounds_raw.json), so you can check any value against the source
- CSV and JSON, no dependencies
A few things the data shows straight away:
- the lowest cut-off ever was 75, on 13 February 2021, when IRCC invited 27,332 Canadian Experience Class candidates in a single round
- the highest was 902, a Provincial Nominee Program round in May 2018 (PNP candidates carry 600 extra points, which is why PNP rounds sit far above the rest)
- 2026 has had 65 rounds so far with 149,409 invitations, more than any earlier year
- 38 rounds have been French-language category draws, with cut-offs as low as 336
Quick start:
import pandas as pd
url = "https://raw.githubusercontent.com/RB9744/express-entry-draws/main/data/express-entry-draws.csv"
df = pd.read_csv(url, parse_dates=["draw_date"])
df[df.draw_name.str.contains("French")].plot(x="draw_date", y="crs_cutoff")
The same files are on Kaggle (https://www.kaggle.com/datasets/rbkhanni/canada-express-entry-draws-2015-2026) and Hugging Face (https://huggingface.co/datasets/Rbkhanni/canada-express-entry-draws) if you prefer those.
We refresh it after each round. It powers the draw history page on CRS Calculators (https://crscalculators.com/express-entry-draws/), which is where the idea came from: we needed the history to show people which past rounds their score would have cleared.
License is CC BY 4.0. If you find a wrong value, open an issue with the round number and we will fix it.
Top comments (0)