Canvas host data

The list behind the directory, as files you can read with something other than a browser. 4,757 institutions, verified live, CC BY 4.0.

Canvas is run separately by every institution that uses it, so there is no central list of where it lives. Instructure operates a school search, and it renders its results with JavaScript, so no hostname on it is text that anything other than a browser can read. This is the same information as a file.

canvas-hosts.csv

One row per institution, UTF-8, header row included.

265 KB · 4,757 rows

canvas-hosts.json

The same rows, plus the licence, the method and the field notes.

689 KB · 4,757 objects

How it was built

Every hostname was requested at /api/v1/users/self and kept only if it answered with Canvas's own unauthenticated payload. That check is the point of the list: a university home page, a parked domain and an SSO portal all answer an ordinary request, so a naive reachability test passes things that are not Canvas at all. Verified 2026-08-10, the last time the list was rebuilt.

The list is generated by scripts/build_institution_list.py in the public repository, and these files are generated from it by scripts/build_data_exports.py. Both are readable, so the method is checkable rather than asserted.

Fields

FieldWhat it holds
institutionThe institution's display name, as the app shows it.
canvas_hostThe hostname that answers Canvas's API. No scheme, no path.
countryISO 3166-1 alpha-2, or empty. See the note on how it is set.
curated1 for a hand-checked seed, 0 for a row taken from the crawl under its own name.

What this data is not

It is not exhaustive, and a missing school is not an unsupported one. Canvas is used by many thousands of institutions and this covers the largest and best known. Instructure's own school search is the authoritative source.

Country is known for 1,558 of the 4,757 rows, across 40 countries. It is proven by the domain's country code where there is one, and otherwise inferred from unambiguous markers in the institution's own name. An empty value means unknown rather than anything about the institution, so do not read the blanks as a geography.

It is a snapshot. Institutions move Canvas between hostnames, and a row that was live when it was checked can stop being live afterwards. Treat the verification date as the claim's expiry, not as a guarantee.

Licence and citation

The compilation is published under CC BY 4.0. Use it for anything, including commercially, as long as the compilation is credited.

Canvas Downloader, canvasdownloader.app, 2026-08-10 · https://canvasdownloader.app/canvas-data.html · CC BY 4.0

If you are reading this as a person rather than as a script, the same list is browsable and searchable in the Canvas URL directory, and what the hostname is actually for is explained in what a Canvas access token is.

If you find a hostname here that is wrong, or a school that is missing, the repository's issue tracker is the place for it and corrections are welcome.