Skip to content
← All datasets

Advanced Placement (AP) Exam Scores

AP college-level exam participation and pass rates (share scoring 3 or higher) by Georgia school, district, and AP subject, 2004-2024.

Year coverage
20042024
Updated
annual
Version
1.0.0
Schema hash
99b14eb48412

Detail levels available

StateDistrictSchool · default

Overview

Advanced Placement (AP) exam participation and qualifying-score counts for Georgia public high schools, with official district and state rollups, published by GOSA for 2004-2024. Each row reports the number of distinct students taking AP exams, the total exams administered, the count of exams scoring 3 or higher (College Board's qualifying threshold), and a derived pass rate (tests_3_or_higher_rate). Years 2011-2024 break the counts down by AP subject in addition to a cross-subject all_subjects total; years 2004-2010 publish only the cross-subject total.

Row grain: One row per year, district_code, school_code, subject.

Key metric

tests_3_or_higher_rateTests 3 or Higher Rate (proportion)

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
yearYearintegernoEnding calendar year of the school year (2024 = the 2023-24 school year). 2011-2024 sources carry a LONG_SCHOOL_YEAR column whose ending year is cross-checked against the filename; 2004-2010 sources have no year column and the filename year is used.
Full description
Ending calendar year of the school year (2024 = the 2023-24 school year). 2011-2024 sources carry a LONG_SCHOOL_YEAR column whose ending year is cross-checked against the filename; 2004-2010 sources have no year column and the filename year is used.
district_codeDistrict CodestringyesGOSA district code (FK to districts dimension): 3-digit zero-padded county/city codes or 7-digit charter codes. NULL on state-level rows. Bronze aggregate sentinels (ALL / DISTRICT_ALL) map to NULL.
Full description
GOSA district code (FK to districts dimension): 3-digit zero-padded county/city codes or 7-digit charter codes. NULL on state-level rows. Bronze aggregate sentinels (ALL / DISTRICT_ALL) map to NULL.

Joins districts; adds its label columns.

school_codeSchool CodestringyesGOSA school code, zero-padded to 4 characters (composite FK to schools dimension with district_code; not globally unique on its own). NULL on district- and state-level rows. Bronze aggregate sentinels (ALL / SCHOOL_ALL / DISTRICT_ALL) map to NULL.
Full description
GOSA school code, zero-padded to 4 characters (composite FK to schools dimension with district_code; not globally unique on its own). NULL on district- and state-level rows. Bronze aggregate sentinels (ALL / SCHOOL_ALL / DISTRICT_ALL) map to NULL.

Joins schools; adds its label columns.

subjectSubjectstringnoWhich AP exam subject the row covers; all_subjects is the cross-subject total (distinct students, not a sum of the per-subject rows).
Full description
AP subject (snake_case recode of the source's TEST_CMPNT_TYP_NM). all_subjects is the cross-subject aggregate: the only value present for 2004-2010 (the legacy sources have no per-subject breakdown) and one row per entity alongside the per-subject rows for 2011-2024. all_subjects rows are NOT the sum of the subject rows — num_tested counts distinct students across subjects there. calculus_a is GOSA's literal label for AP Calculus AB (it pairs with calculus_bc), not a normalization error; physics_b and latin_vergil are discontinued legacy AP exams retained for the years they were administered.
42 allowed values
  • african_american_studies
  • all_subjects — total / aggregate
  • art_history
  • art_studio_2d_design
  • art_studio_3d_design
  • art_studio_drawing
  • biology
  • calculus_a
  • calculus_bc
  • capstone
  • capstone_research
  • chemistry
  • chinese_language_and_culture
  • computer_science_a
  • computer_science_principles
  • economics_macro
  • economics_micro
  • english_language_and_composition
  • english_literature_and_composition
  • environmental_science
  • european_history
  • french_language
  • german_language
  • government_and_politics_comparative
  • government_and_politics_us
  • human_geography
  • italian_language_and_culture
  • japanese_language_and_culture
  • latin_vergil
  • music_theory
  • physics_1
  • physics_2
  • physics_b
  • physics_c_electricity_and_magnetism
  • physics_c_mechanics
  • precalculus
  • psychology
  • spanish_language
  • spanish_literature
  • statistics
  • us_history
  • world_history
num_testedNumber TestedintegercountyesNumber of distinct students who sat at least one AP exam (all_subjects rows) or who sat the specific subject's exam (per-subject rows). Summing per-subject num_tested double-counts students who took multiple subjects; summing school rows can likewise slightly exceed the published district/state rollups (median gap 2) because the rollup counts each student once even when school-level attribution counts a mid-year mover at more than one school. Three source rows publish num_tested greater than num_tests_taken — impossible if both counts were accurate, but the wrong-side column is unknowable, so the published values are preserved and documented: 2005 district 611 school 0204 (Rutland HS, 33 students / 23 tests) and 2008 district 652 (Elbert County, 10/9, appearing on both the school 0176 row and the single-school district row).
Full description
Number of distinct students who sat at least one AP exam (all_subjects rows) or who sat the specific subject's exam (per-subject rows). Summing per-subject num_tested double-counts students who took multiple subjects; summing school rows can likewise slightly exceed the published district/state rollups (median gap 2) because the rollup counts each student once even when school-level attribution counts a mid-year mover at more than one school. Three source rows publish num_tested greater than num_tests_taken — impossible if both counts were accurate, but the wrong-side column is unknowable, so the published values are preserved and documented: 2005 district 611 school 0204 (Rutland HS, 33 students / 23 tests) and 2008 district 652 (Elbert County, 10/9, appearing on both the school 0176 row and the single-school district row).
num_tests_takenNumber Tests TakenintegercountyesTotal AP exams administered (a student can take exams in multiple subjects, and the College Board counts each exam). 47 of 414 bronze rows in 2004 leave this blank; 2011-2019 sources suppress via empty cells, 2020-2024 via TFS.
Full description
Total AP exams administered (a student can take exams in multiple subjects, and the College Board counts each exam). 47 of 414 bronze rows in 2004 leave this blank; 2011-2019 sources suppress via empty cells, 2020-2024 via TFS.
num_tests_3_or_higherNumber Tests 3 or HigherintegercountyesNumber of AP exams that scored 3 or higher (College Board's qualifying threshold; scores run 1-5). Never exceeds num_tests_taken where both are reported (enforced by a quality check).
Full description
Number of AP exams that scored 3 or higher (College Board's qualifying threshold; scores run 1-5). Never exceeds num_tests_taken where both are reported (enforced by a quality check).
tests_3_or_higher_rateTests 3 or Higher RatenumberproportionyesShare of AP exams that scored 3 or higher (College Board's qualifying threshold), on a 0-1 scale; higher is better.
Full description
Share of administered exams that scored 3 or higher, derived by the transform as num_tests_3_or_higher / num_tests_taken on the 0-1 scale (the pct_* share-of-denominator companion to num_tests_3_or_higher). 2004-2010 sources publish a 0-100 percentage column that is dropped and recomputed (recomputed values agree within 0.0005 — source rounding); 2011-2024 sources publish no rate column. NULL when either count is suppressed or the denominator is 0.

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
subjectcategorical
42 allowed values
  • african_american_studies
  • all_subjects
  • art_history
  • art_studio_2d_design
  • art_studio_3d_design
  • art_studio_drawing
  • biology
  • calculus_a
  • calculus_bc
  • capstone
  • capstone_research
  • chemistry
  • chinese_language_and_culture
  • computer_science_a
  • computer_science_principles
  • economics_macro
  • economics_micro
  • english_language_and_composition
  • english_literature_and_composition
  • environmental_science
  • european_history
  • french_language
  • german_language
  • government_and_politics_comparative
  • government_and_politics_us
  • human_geography
  • italian_language_and_culture
  • japanese_language_and_culture
  • latin_vergil
  • music_theory
  • physics_1
  • physics_2
  • physics_b
  • physics_c_electricity_and_magnetism
  • physics_c_mechanics
  • precalculus
  • psychology
  • spanish_language
  • spanish_literature
  • statistics
  • us_history
  • world_history
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

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/advanced_placement_scores"

schools data for 2024

curl "https://georgiacivicdata.org/api/v1/education/advanced_placement_scores?year=2024"

Filtered to subject = african_american_studies for 2024

curl "https://georgiacivicdata.org/api/v1/education/advanced_placement_scores?year=2024&subject=african_american_studies"

One district (code 601), 2024

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

Download 2024 as CSV

curl "https://georgiacivicdata.org/api/v1/education/advanced_placement_scores?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.