How it worksSynced every ~6hOne schemaOpen feeds

Methodology, briefly

How the data moves.

Listings are crawled directly from each university's public catalog, normalized into one schema, and refreshed on a short cycle. Nothing is hand-edited; every field traces back to a live source.

Refresh cycle~6hbetween full syncs
Sources
Public catalogs
Editing
Automated only
Export
CSV · XLSX · JSON
01

Collection

Sync workers read each provider catalog on a rolling schedule.

A set of workers fetches each university's public continuing-education catalog roughly every six hours. Pages are parsed into structured records — title, code, subject, format, start date, tuition, and enrollment status.

Only publicly listed information is collected. The register stores no personal data and requires no account to read.

02

Normalization

Every provider names things differently; the register reconciles them.

Raw fields are mapped into a single schema so a course from one school can be compared directly with another. Enrollment language — "open", "waitlist", "closed", "registration opens soon" — is reduced to a small set of normalized statuses.

When a provider omits a field (a missing price or start date is common), the record keeps the gap visible rather than guessing a value.

03

Access

The same data is available as pages, exports, and feeds.

Browse and filter the live register on the site, or take the data with you: every filtered view can be exported, and there are machine-readable feeds for automation.