Skip to content
← All datasets

Enrollment by Grade Level (Fall and Spring)

Public school student headcounts by grade level (PK-12) from the October (fall) and March (spring) FTE counts, per school, district, and state, 2010-2026.

Year coverage
20102026
Updated
annual
Version
1.1.0
Schema hash
78fcbea4c8f1

Detail levels available

StateDistrictSchool · default

Overview

Georgia Insights (GaDOE) FTE Enrollment by Grade Level(PK-12) — the FTE headcount of Georgia public school students broken out by grade level (pre-kindergarten, kindergarten, grades 1-12, plus an 'all' total row) for every school, district, and the state. GaDOE counts enrollment twice per school year: the October Cycle 1 (fall) snapshot and the March Cycle 3 (spring) snapshot; both are preserved as distinct rows via the enrollment_period column. The fall half spans fiscal years 2010-2026 and the spring half 2010-2025. Grade is the row axis and lives in grade_level — there are no demographic breakouts in this topic.

Row grain: One row per year, district_code, school_code, enrollment_period, grade_level.

Key metric

num_studentsNumber Students (count)

The single headline value most answers want.

Variables

Every column in the fact table. The code is the exact field name the API returns.

ColumnTypeUnitRangeNull?Description
yearYearintegernoFiscal year of the FTE count (school year ending in this year; e.g. 2026 = the 2025-2026 school year). Sourced from the bronze filename, cross-checked against each file's preamble. The spring (March) snapshot is present through 2025; the fall (October) snapshot through 2026.
Full description
Fiscal year of the FTE count (school year ending in this year; e.g. 2026 = the 2025-2026 school year). Sourced from the bronze filename, cross-checked against each file's preamble. The spring (March) snapshot is present through 2025; the fall (October) snapshot through 2026.
district_codeDistrict Codestringyes3-digit GOSA district code (zero-padded) for standard districts; 7-digit code for state charters and specialty schools, including the pseudo-districts 7991893/7991894/7991895 for the three state schools (reported under district 799 in other years). NULL for state-level rows. FK to districts dimension.
Full description
3-digit GOSA district code (zero-padded) for standard districts; 7-digit code for state charters and specialty schools, including the pseudo-districts 7991893/7991894/7991895 for the three state schools (reported under district 799 in other years). NULL for state-level rows. FK to districts dimension.

Joins districts; adds its label columns.

school_codeSchool Codestringyes4-digit GOSA school code, extracted from the bronze `SChool Name` (`NNNN-Name`) prefix. NULL for state- and district-level rows. FK to schools dimension (composite key with district_code).
Full description
4-digit GOSA school code, extracted from the bronze `SChool Name` (`NNNN-Name`) prefix. NULL for state- and district-level rows. FK to schools dimension (composite key with district_code).

Joins schools; adds its label columns.

enrollment_periodEnrollment PeriodstringnoEnrollment snapshot within the school year: fall (October) or spring (March); never sum across them.
Full description
Enrollment-count snapshot within the school year: 'fall' (GaDOE October Cycle 1 count, first Tuesday of October) or 'spring' (March Cycle 3 count, third Tuesday of March). Both snapshots exist for nearly every entity — queries wanting one headline count per year must filter to a single period, never sum across them.
2 allowed values
  • fall
  • spring
grade_levelGrade LevelstringnoGrade: `pk`, `k`, `01`-`12`, or `all` for the entity total (sum of the 14 grade rows).
Full description
Canonical grade code per data-cleaning-standards section 16: 'pk' (pre-kindergarten), 'k' (kindergarten), zero-padded '01'..'12', and 'all' for the entity's pre-aggregated total row (the bronze `Total` column, which equals the sum of the 14 grade rows bit-exact).
15 allowed values
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • all — total / aggregate
  • k
  • pk
num_studentsNumber StudentsintegercountnoFTE student headcount for the grade cell; never suppressed, so a 0 means the grade is not offered.
Full description
FTE student headcount for the (year, geography, period, grade) cell. Raw count, not scaled. Never NULL — this source publishes no suppression markers — and a 0 is a real reported value (the grade is not offered at the entity). For grade_level='all', equals the sum of the entity's 14 grade rows in that period.

Filters

Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.

ParameterKindAllowed valuesNotes
yearyear_exactany value
year_minyear_rangeany value
year_maxyear_rangeany value
detaildetaildistrictsschoolsstatesenum-enforced, default: schools
district_codeforeign_keyany valuemulti-value
school_codeforeign_keyany valuemulti-value
enrollment_periodcategoricalfallspringmulti-value, enum-enforced, pick one
grade_levelcategorical
15 allowed values
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • all
  • k
  • pk
multi-value, enum-enforced
district_typedimension_attribute
7 allowed values
  • commission_charter
  • resa
  • standard
  • state_agency
  • state_charter
  • state_school
  • state_special
multi-value, enum-enforced
school_leveldimension_attributeelementarymiddlehighk12othermulti-value, enum-enforced
localedimension_attributecitysuburbtownruralmulti-value, enum-enforced

Example requests

Run these against the base URL — they return live data.

All rows (first page), schools level

curl "https://georgiacivicdata.org/api/v1/education/enrollment_by_grade"

schools data for 2026

curl "https://georgiacivicdata.org/api/v1/education/enrollment_by_grade?year=2026"

Filtered to enrollment_period = fall for 2026

curl "https://georgiacivicdata.org/api/v1/education/enrollment_by_grade?year=2026&enrollment_period=fall"

One district (code 601), 2026

curl "https://georgiacivicdata.org/api/v1/education/enrollment_by_grade?district_code=601&year=2026&detail=districts"

Download 2026 as CSV

curl "https://georgiacivicdata.org/api/v1/education/enrollment_by_grade?year=2026&format=csv"

Notes & limitations

NULL handling

  • Zero is a real, reported value.

Limitations

This source has no suppression; a 0 is a real reported value. State rows have NULL district_code and school_code. District rows have NULL school_code.