Enrollment by Grade Level
Student enrollment counts by grade (K-12) for each Georgia school, district, and the state, per Fall/Spring snapshot, 2011-2024.
- 2011–2024
- annual
- 1.0.0
- 0a3f9211501c
Overview
Student enrollment counts by grade level for every Georgia public school, school district, and the state, published by GOSA for school years 2010-11 through 2023-24. Each row is the total number of students enrolled in one grade (K through 12) at one entity in one enrollment-snapshot period — GaDOE counts enrollment twice per school year (Fall and Spring collection cycles), and both snapshots are preserved as distinct rows. There is no demographic breakdown: every row is a total count for its (year, geography, period, grade) cell.
Row grain: One row per year, district_code, school_code, enrollment_period, grade_level.
num_students — Number 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.
| Column | Type | Unit | Range | Null? | Description |
|---|---|---|---|---|---|
year | integer | — | — | no | Ending calendar year of the school year (2024 = 2023-24). Parsed from the bronze LONG_SCHOOL_YEAR and cross-checked against the filename year.Full description▾Ending calendar year of the school year (2024 = 2023-24). Parsed from the bronze LONG_SCHOOL_YEAR and cross-checked against the filename year. |
district_code | string | — | — | yes | GOSA district code (FK to districts dimension): 3-character zero-padded code for standard county/city districts, or 7-character code for state-charter (782 prefix), commission-charter (783 prefix), and state school (799 prefix) entities — 7-character codes appear in every year 2011-2024. NULL on state-level aggregate rows (bronze sentinel 'ALL').Full description▾GOSA district code (FK to districts dimension): 3-character zero-padded code for standard county/city districts, or 7-character code for state-charter (782 prefix), commission-charter (783 prefix), and state school (799 prefix) entities — 7-character codes appear in every year 2011-2024. NULL on state-level aggregate rows (bronze sentinel 'ALL'). |
school_code | string | — | — | yes | 4-character zero-padded GOSA school code (composite FK to schools dimension with district_code; school codes are not globally unique on their own). NULL on district- and state-level aggregate rows (bronze sentinel 'ALL').Full description▾4-character zero-padded GOSA school code (composite FK to schools dimension with district_code; school codes are not globally unique on their own). NULL on district- and state-level aggregate rows (bronze sentinel 'ALL'). |
enrollment_period | string | — | — | no | Enrollment snapshot within the school year: fall (October) or spring (March); never sum across them.Full description▾Enrollment-count snapshot within the school year: 'fall' (October collection) or 'spring' (March collection). 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▾
|
grade_level | string | — | — | no | Grade of the students counted: 'k' for kindergarten, '01'-'12' for grades 1-12; no pre-K or all-grades row.Full description▾Grade level of the students counted: 'k' for kindergarten, '01' through '12' for grades 1-12 (canonical zero-padded codes per the shared grade vocabulary). This source publishes no pre-K row and no cross-grade aggregate row, so 'pk' and 'all' never appear. Bronze spellings were K and 1st..12th. 13 allowed values▾
|
num_students | integer | — | yes | Number of students enrolled in this grade and period at this entity.Full description▾Number of students enrolled in this grade and period at this entity. Three source regimes govern 0 vs NULL: (1) 2011-2020 — no suppression; an explicit 0 is a true zero (grade not served) and is preserved; (2) 2021-2022 — the source replaces both true zeros and counts 1-9 with 'TFS' (Too Few Students), stored as NULL here; (3) 2023-2024 — TFS suppression continues AND rows for non-applicable grade x entity combinations are no longer emitted, roughly halving the row count per year. |
Filters
Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.
| Parameter | Kind | Allowed values | Notes |
|---|---|---|---|
year | year_exact | any value | — |
year_min | year_range | any value | — |
year_max | year_range | any value | — |
detail | detail | districtsschoolsstates | enum-enforced, default: schools |
district_code | foreign_key | any value | multi-value |
school_code | foreign_key | any value | multi-value |
enrollment_period | categorical | fallspring | multi-value, enum-enforced, pick one |
grade_level | categorical | 13 allowed values▾
| multi-value, enum-enforced, pick one |
district_type | dimension_attribute | 7 allowed values▾
| multi-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_level"schools data for 2024
curl "https://georgiacivicdata.org/api/v1/education/enrollment_by_grade_level?year=2024"Filtered to enrollment_period = fall for 2024
curl "https://georgiacivicdata.org/api/v1/education/enrollment_by_grade_level?year=2024&enrollment_period=fall"One district (code 601), 2024
curl "https://georgiacivicdata.org/api/v1/education/enrollment_by_grade_level?district_code=601&year=2024&detail=districts"Download 2024 as CSV
curl "https://georgiacivicdata.org/api/v1/education/enrollment_by_grade_level?year=2024&format=csv"Notes & limitations
NULL handling
- Suppressed cells (too few students to report) are NULL, never zero.
- Zero is a real, reported value.
Limitations
Suppressed cells are NULL (not zero). State rows have NULL district_code and school_code. District rows have NULL school_code. State and district rows are independently published GOSA aggregates and may differ from the sum of their component rows by up to ~0.02% (e.g., students enrolled in more than one district during a collection period); do not treat component sums as exact reconciliations.