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.
The same rows, plus the licence, the method and the field notes.
689 KB · 4,757 objectsEvery 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.
| Field | What it holds |
|---|---|
| institution | The institution's display name, as the app shows it. |
| canvas_host | The hostname that answers Canvas's API. No scheme, no path. |
| country | ISO 3166-1 alpha-2, or empty. See the note on how it is set. |
| curated | 1 for a hand-checked seed, 0 for a row taken from the crawl under its own name. |
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.
The compilation is published under CC BY 4.0. Use it for anything, including commercially, as long as the compilation is credited.
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.