The data,
openly accessible.
Every page on this site is backed by static JSON you can fetch directly — no key, no rate limit, no cost. Built on official provincial open data and free to build on with attribution.
JSON endpoints
Replace :province (e.g. ontario) and :year.
/data/meta.json/data/:province/index.json/data/:province/records-:year.json/data/:province/summary-:year.json/data/:province/positions-:year.json/data/:province/sectors-:year.json/data/:province/top-earners-:year.json/data/:province/cities-:year.json/data/:province/new-entrants-:year.json/data/:province/employers/:slug.json/data/:province/employers/:slug-:year.jsonAll files are served with Cache-Control for a day and pre-compressed with Brotli/gzip. Aggregate files (positions, sectors, summary, …) are small; the full records-:year.json can be large for big provinces.
Example
// Average pay + milestones for Ontario 2025
const res = await fetch(
'https://www.canadasunshinelist.ca/data/ontario/summary-2025.json'
)
const { count, avgSalary, milestones } = await res.json()
// → { count, avgSalary, milestones: { m200, m500, m1m } } (illustrative shape)Licence & attribution
This dataset organizes official provincial public-sector salary disclosures (see data sources and methodology). The underlying records are public government data; our cleaned, linked, multi-year structure is provided free for research, journalism, and tools.
If you build something with it, please attribute “canadasunshinelist.ca” with a link. For bulk exports, a documented API key, or commercial/high-volume use, get in touch.
About this project