About OpenSchoolData
How is your school actually doing?
What we do
OpenSchoolData turns federal NCES data into readable school profiles covering enrollment, staffing, and student outcomes.
We focus on U.S. K-12 school enrollment, outcomes, and demographics. Every page on openschooldata.org is built from the National Center for Education Statistics (NCES), via the Urban Institute API, cited and linkable so readers can trace any number back to its source.
Who runs this
OpenSchoolData is built and maintained by the OpenSchoolData Team. We're a small group working on making public U.S. K-12 school enrollment, outcomes, and demographics data easier for non-specialists to read. If you have a correction, a data tip, or a question about how a number was derived, the contact email below reaches us directly.
Who this is for
OpenSchoolData is built for parents, teachers, school-board candidates, and education reporters.
Why this exists
Public data on U.S. K-12 school enrollment, outcomes, and demographics is technically free, but practically locked behind file formats, acronyms, and paywalled dashboards. OpenSchoolDataexists to close that gap: take the raw federal and public-sector data, and turn it into pages a normal person can read in thirty seconds.
How we work
- Primary source only. We pull from the National Center for Education Statistics (NCES), via the Urban Institute API and cite the exact dataset and version on every page.
- No invented numbers. If a figure is not in the underlying public data, it does not appear on openschooldata.org. We never generate synthetic statistics to fill gaps.
- Methodology, in plain English. We read the NCES Common Core of Data and CCD fiscal file through the Urban Institute Education Data Portal, roll up enrollment, staffing, and demographic measures to the school, district, and state level, and present each school’s metrics alongside its peer group.
- Refreshed on a schedule. Refreshed every four months as the Urban Institute Education Data Portal processes each new NCES release cycle.
- Corrections welcome. Readers flag issues all the time. When the source fixes a record, OpenSchoolData follows.
Known limitations
NCES data lags the school year by 1-2 years, so a newly opened charter may not appear until its second reporting cycle. Outcome data (test scores, graduation rates) coverage varies by state — some states redact small-school cells for student privacy.
Why federal school data deserves a public-facing home
The U.S. Department of Education’s National Center for Education Statistics (NCES) maintains the Common Core of Data (CCD), the federal dataset covering every public school, every school district, and every state education system in the United States. The CCD includes enrollment, staffing, demographics, fiscal data, and a separate set of files for student outcomes (test scores, graduation rates, attendance). The Urban Institute distributes a public-friendly API on top of this federal data, and OpenSchoolData reads through that API.
The presentation problem is the usual one: the federal data is rigorous and comprehensive, but the official portal is built for state education-agency researchers. A parent evaluating a school, a board candidate researching local district outcomes, or a journalist comparing graduation rates needs a presentation layer that makes the same data answerable per-school, per-district, and per-state without a multi-step data download.
OpenSchoolData builds that layer. Every school page consolidates the NCES record for that school: enrollment, demographic breakdown, free-and-reduced-lunch share, teacher-student ratio, graduation rate (for high schools), and the multi-year trend. Every district page rolls up the schools in the district. Every state page rolls up to the state-level distribution. The data is the NCES data that has always been public; the value the site adds is the navigation.
How the pipeline pulls NCES data
The pipeline pulls from the Urban Institute Education Data Portal on a four-month cadence aligned to each NCES release cycle. The CCD vintage covers the previous-prior school year, so the September release typically carries data from the school year that ended 16-18 months earlier. The site stamps the as-of date on every value so readers know which CCD vintage they are reading.
A practical detail: NCES outcome data (test scores, graduation rates) is collected through the EDFacts data submission, which is a separate file from the core CCD enrollment data and is on a slightly different release schedule. The site combines both where coverage is available; in states where EDFacts data is sparse or suppressed for privacy at small-school levels, the pages flag the gap rather than imputing values from peer schools.
Where K-12 outcomes data has caveats
Three caveats. First, NCES suppresses small-cell data to protect student privacy — a graduation rate for a class of 12 students would identify individuals, so the figure is suppressed. The site shows suppressed values explicitly rather than imputing. For very small rural schools, several outcome fields can be suppressed and the page leans on the comparable district-level figures instead.
Second, NCES data lags the school year by 1-2 years. A school that opened in fall 2024 may not appear in NCES data until the 2026 release. Schools that closed or reorganized appear in historical data even after they no longer operate; the pages flag known closures where the state agency has updated the record.
Third, charter schools and non-traditional school types (special-education centers, alternative schools, hybrid online schools) are in the dataset but their outcome metrics are not always directly comparable to traditional schools. The pages note the school type explicitly and provide guidance on which comparisons are meaningful for each type. Every numeric value links back to the originating NCES record for verification.
Independence
OpenSchoolData is an independent publication. We are not funded, owned, or directed by any of the agencies, companies, or organizations that appear in our data. Hosting is paid for by advertising — see our Privacy Policy for details — and we do not take paid placements, sponsored rankings, or "remove-my-entry" fees.
History
OpenSchoolData launched in 2025 as part of a small portfolio of independent public-data sites. It has been maintained and updated continuously since.
Contact
Tips, corrections, data-partnership questions, and press inquiries: hello@openschooldata.org. More options on our contact page.