Skip to content
← All datasets

English Ability by Nativity (ACS)

How many native-born and foreign-born people 5 and older speak English less than 'very well', by language spoken at home - ACS 5-year estimates down to the census tract.

Year coverage
2020–2024
Updated
annual
Version
1.0.0
Schema hash
55cdc70f8293

Detail levels available

StateCounty · defaultDistrict

Overview

Ability to speak English among persons 5 years and over, by nativity and language spoken at home, from the American Community Survey 5-year estimates (detailed table B16005, Nativity by Language Spoken at Home by Ability to Speak English for the Population 5 Years and Over), for Georgia at state, county, school district, and census tract geography, vintages 2020-2024: the share of native-born and foreign-born persons 5 years and over who speak English less than 'very well', by language group (English only, Spanish, other Indo-European, Asian and Pacific Island, other), with the four English-ability counts and 90 percent margins of error.

Row grain: One row per year, county_fips, district_code, tract_geoid, citizenship_status, language_group.

Key metric

pct_limited_english — Percent Limited English (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
yearYearinteger——noACS 5-year vintage END year: 2024 covers the pooled 2020-2024 survey period. Consecutive vintages overlap.
Full description
ACS 5-year vintage END year: 2024 covers the pooled 2020-2024 survey period. Consecutive vintages overlap.
county_fipsCounty FIPSstring——yes5-digit county FIPS code (state 13 + county). Populated only on county-level rows.
Full description
5-digit county FIPS code (state 13 + county). Populated only on county-level rows.

Joins counties; adds its label columns.

district_codeDistrict Codestring——yesGCD school district code (FK to the education districts dimension). Populated only on district-level rows - Census unified-school-district estimates mapped onto the ~180 standard districts via the dimension's district_census_id.
Full description
GCD school district code (FK to the education districts dimension). Populated only on district-level rows - Census unified-school-district estimates mapped onto the ~180 standard districts via the dimension's district_census_id.

Joins districts; adds its label columns.

tract_geoidTract GEOIDstring——yes11-digit census tract GEOID (2020 boundaries). Populated only on tract-level rows.
Full description
11-digit census tract GEOID (2020 boundaries). Populated only on tract-level rows.

Joins tracts; adds its label columns.

citizenship_statusCitizenship Statusstring——noNative vs foreign born (persons 5 and over); 'all' is both.
Full description
Nativity of persons 5 years and over - the three-value subset of the shared citizenship_status vocabulary that B16005 publishes. all - Total population in the table's universe (native + foreign born). native - Native: born in the United States, Puerto Rico, or a U.S. Island Area, or born abroad to at least one U.S.-citizen parent. foreign_born - Foreign born: anyone who was not a U.S. citizen at birth (naturalized citizens + noncitizens). A hierarchy, not a partition: all = native + foreign_born, so never sum 'all' with its parts. B16005 does not split the foreign born by citizenship, so naturalized and noncitizen do not occur in this topic.
3 allowed values
  • all — total / aggregate
  • native
  • foreign_born
language_groupLanguage Groupstring——noLanguage spoken at home (Census four-group collapse, or English only).
Full description
Language spoken at home by persons 5 years and over, in the Census four-group collapse: english_only = speaks only English at home; spanish; other_indo_european = other Indo-European languages (e.g. French, German, Russian, Hindi); asian_pacific_island = Asian and Pacific Island languages (e.g. Chinese, Vietnamese, Korean, Tagalog); other = all other languages (e.g. Arabic and African languages). 'all' is the citizenship group's total and the default pin. A partition of each citizenship group's persons 5 years and over: all = english_only + spanish + other_indo_european + asian_pacific_island + other. English-ability counts, num_limited_english, and pct_limited_english exist only on the four non-English groups and their 'all' rollup; english_only rows carry only num_population_5_plus (not asked).
6 allowed values
  • all — total / aggregate
  • english_only
  • spanish
  • other_indo_european
  • asian_pacific_island
  • other
pct_limited_englishPercent Limited Englishnumberproportion—yesShare of persons 5 and over who speak English less than 'very well'.
Full description
Persons 5 years and over who speak English less than 'very well' (well, not well, or not at all) as a share of all persons 5 years and over in the citizenship_status x language_group group (0-1), derived as num_limited_english / num_population_5_plus - the Census limited-English-proficiency definition. On language_group 'all' rows the denominator includes people who speak only English, counted as not limited (the Census standard all-language rate); on a non-English language row it is the share of that group's speakers. NULL on english_only rows and for empty groups.
pct_limited_english_moePercent Limited English Moenumberproportion—yes90 percent margin of error for pct_limited_english, derived from the count margins with the Census ratio formula: the subtraction form, with the Census addition-form fallback whenever the radicand is not positive, so a served margin is always greater than zero; a result above 1.0 is set to NULL as known-bad. A rate of exactly 0 or 1 (0 or 100 percent) instead takes the Census's own model margin for such estimates, 1.645 * sqrt(R * (1 - R) * AW / N) with R = min(2.3 * AW / N, 0.5), N the denominator and AW Georgia's average survey weight for the vintage (18 in 2020, 19 in 2021-2024): the ratio formula would give a 0 percent rate only the zero count's margin over N, about half the width the Census publishes. Never the headline metric.
Full description
90 percent margin of error for pct_limited_english, derived from the count margins with the Census ratio formula: the subtraction form, with the Census addition-form fallback whenever the radicand is not positive, so a served margin is always greater than zero; a result above 1.0 is set to NULL as known-bad. A rate of exactly 0 or 1 (0 or 100 percent) instead takes the Census's own model margin for such estimates, 1.645 * sqrt(R * (1 - R) * AW / N) with R = min(2.3 * AW / N, 0.5), N the denominator and AW Georgia's average survey weight for the vintage (18 in 2020, 19 in 2021-2024): the ratio formula would give a 0 percent rate only the zero count's margin over N, about half the width the Census publishes. Never the headline metric.
num_limited_englishNumber Limited Englishintegercount—yesPersons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English less than 'very well' - num_speak_english_well + num_speak_english_not_well + num_speak_english_not_at_all, the rate's numerator. Always an exact sum of published B16005 cells (three on a published native / foreign_born x language row; up to 24 on the (all, all) row). Published zeros are real.
Full description
Persons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English less than 'very well' - num_speak_english_well + num_speak_english_not_well + num_speak_english_not_at_all, the rate's numerator. Always an exact sum of published B16005 cells (three on a published native / foreign_born x language row; up to 24 on the (all, all) row). Published zeros are real.
num_limited_english_moeNumber Limited English Moenumbercount—yes90 percent margin of error for num_limited_english (persons 5 years and over): the Census sqrt-sum-of-squares over the published member-cell margins, in one step, under the zero-estimate rule (of the member cells whose estimate is 0 only the largest margin enters; non-integer). Never the headline metric.
Full description
90 percent margin of error for num_limited_english (persons 5 years and over): the Census sqrt-sum-of-squares over the published member-cell margins, in one step, under the zero-estimate rule (of the member cells whose estimate is 0 only the largest margin enters; non-integer). Never the headline metric.
num_population_5_plusNumber Population 5 Plusintegercount—yesPersons 5 years and over in the citizenship_status x language_group group - the rate's denominator. The published B16005 cell on the (all, all) total (001), the native / foreign_born subtotals (002 / 024), and every native / foreign_born x language row; on citizenship_status 'all' rows with a specific language group, the exact sum of the native and foreign-born cells (derived).
Full description
Persons 5 years and over in the citizenship_status x language_group group - the rate's denominator. The published B16005 cell on the (all, all) total (001), the native / foreign_born subtotals (002 / 024), and every native / foreign_born x language row; on citizenship_status 'all' rows with a specific language group, the exact sum of the native and foreign-born cells (derived).
num_population_5_plus_moeNumber Population 5 Plus Moenumbercount—yes90 percent margin of error for num_population_5_plus (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; on citizenship_status 'all' rows with a specific language group the Census sqrt-sum-of-squares over the native and foreign-born cell margins under the zero-estimate rule (non-integer). Never the headline metric.
Full description
90 percent margin of error for num_population_5_plus (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; on citizenship_status 'all' rows with a specific language group the Census sqrt-sum-of-squares over the native and foreign-born cell margins under the zero-estimate rule (non-integer). Never the headline metric.
num_speak_english_very_wellNumber Speak English Very Wellintegercount—yesPersons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English 'very well' (self-reported). Published B16005 cell on the native / foreign_born x specific-language rows; the exact sum of those cells on 'all' rows. On a non-English language row the four ability counts partition num_population_5_plus; on a language_group 'all' row they cover only people who speak another language (they sum to the row's population minus its english_only speakers). NULL on english_only rows (not asked).
Full description
Persons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English 'very well' (self-reported). Published B16005 cell on the native / foreign_born x specific-language rows; the exact sum of those cells on 'all' rows. On a non-English language row the four ability counts partition num_population_5_plus; on a language_group 'all' row they cover only people who speak another language (they sum to the row's population minus its english_only speakers). NULL on english_only rows (not asked).
num_speak_english_very_well_moeNumber Speak English Very Well Moenumbercount—yes90 percent margin of error for num_speak_english_very_well (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; the Census sqrt-sum-of-squares over the published member-cell margins under the zero-estimate rule on derived 'all' rows (non-integer). Never the headline metric.
Full description
90 percent margin of error for num_speak_english_very_well (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; the Census sqrt-sum-of-squares over the published member-cell margins under the zero-estimate rule on derived 'all' rows (non-integer). Never the headline metric.
num_speak_english_wellNumber Speak English Wellintegercount—yesPersons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English 'well' (self-reported). Published B16005 cell on the native / foreign_born x specific-language rows; the exact sum of those cells on 'all' rows. On a non-English language row the four ability counts partition num_population_5_plus; on a language_group 'all' row they cover only people who speak another language (they sum to the row's population minus its english_only speakers). NULL on english_only rows (not asked).
Full description
Persons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English 'well' (self-reported). Published B16005 cell on the native / foreign_born x specific-language rows; the exact sum of those cells on 'all' rows. On a non-English language row the four ability counts partition num_population_5_plus; on a language_group 'all' row they cover only people who speak another language (they sum to the row's population minus its english_only speakers). NULL on english_only rows (not asked).
num_speak_english_well_moeNumber Speak English Well Moenumbercount—yes90 percent margin of error for num_speak_english_well (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; the Census sqrt-sum-of-squares over the published member-cell margins under the zero-estimate rule on derived 'all' rows (non-integer). Never the headline metric.
Full description
90 percent margin of error for num_speak_english_well (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; the Census sqrt-sum-of-squares over the published member-cell margins under the zero-estimate rule on derived 'all' rows (non-integer). Never the headline metric.
num_speak_english_not_wellNumber Speak English Not Wellintegercount—yesPersons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English 'not well' (self-reported). Published B16005 cell on the native / foreign_born x specific-language rows; the exact sum of those cells on 'all' rows. On a non-English language row the four ability counts partition num_population_5_plus; on a language_group 'all' row they cover only people who speak another language (they sum to the row's population minus its english_only speakers). NULL on english_only rows (not asked).
Full description
Persons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English 'not well' (self-reported). Published B16005 cell on the native / foreign_born x specific-language rows; the exact sum of those cells on 'all' rows. On a non-English language row the four ability counts partition num_population_5_plus; on a language_group 'all' row they cover only people who speak another language (they sum to the row's population minus its english_only speakers). NULL on english_only rows (not asked).
num_speak_english_not_well_moeNumber Speak English Not Well Moenumbercount—yes90 percent margin of error for num_speak_english_not_well (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; the Census sqrt-sum-of-squares over the published member-cell margins under the zero-estimate rule on derived 'all' rows (non-integer). Never the headline metric.
Full description
90 percent margin of error for num_speak_english_not_well (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; the Census sqrt-sum-of-squares over the published member-cell margins under the zero-estimate rule on derived 'all' rows (non-integer). Never the headline metric.
num_speak_english_not_at_allNumber Speak English Not at Allintegercount—yesPersons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English 'not at all' (self-reported). Published B16005 cell on the native / foreign_born x specific-language rows; the exact sum of those cells on 'all' rows. On a non-English language row the four ability counts partition num_population_5_plus; on a language_group 'all' row they cover only people who speak another language (they sum to the row's population minus its english_only speakers). NULL on english_only rows (not asked).
Full description
Persons 5 years and over in the citizenship_status x language_group group who speak a language other than English at home and speak English 'not at all' (self-reported). Published B16005 cell on the native / foreign_born x specific-language rows; the exact sum of those cells on 'all' rows. On a non-English language row the four ability counts partition num_population_5_plus; on a language_group 'all' row they cover only people who speak another language (they sum to the row's population minus its english_only speakers). NULL on english_only rows (not asked).
num_speak_english_not_at_all_moeNumber Speak English Not at All Moenumbercount—yes90 percent margin of error for num_speak_english_not_at_all (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; the Census sqrt-sum-of-squares over the published member-cell margins under the zero-estimate rule on derived 'all' rows (non-integer). Never the headline metric.
Full description
90 percent margin of error for num_speak_english_not_at_all (persons 5 years and over): the published margin (cast to float, never rounded) on published cells; the Census sqrt-sum-of-squares over the published member-cell margins under the zero-estimate rule on derived 'all' rows (non-integer). Never the headline metric.

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—
detaildetailcountiesdistrictsstatestractsenum-enforced, default: counties
district_codeforeign_keyany valuemulti-value
county_fipsforeign_keyany valuemulti-value
tract_geoidforeign_keyany valuemulti-value
citizenship_statuscategoricalallnativeforeign_bornmulti-value, enum-enforced
language_groupcategoricalallenglish_onlyspanishother_indo_europeanasian_pacific_islandothermulti-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), counties level

curl "https://georgiacivicdata.org/api/v1/census/english_ability_by_nativity"

counties data for 2024

curl "https://georgiacivicdata.org/api/v1/census/english_ability_by_nativity?year=2024"

Filtered to citizenship_status = native for 2024

curl "https://georgiacivicdata.org/api/v1/census/english_ability_by_nativity?year=2024&citizenship_status=native"

One district (code 667), 2024

curl "https://georgiacivicdata.org/api/v1/census/english_ability_by_nativity?district_code=667&year=2024&detail=districts"

One county (FIPS 13135), 2024

curl "https://georgiacivicdata.org/api/v1/census/english_ability_by_nativity?county_fips=13135&year=2024&detail=counties"

Download 2024 as CSV

curl "https://georgiacivicdata.org/api/v1/census/english_ability_by_nativity?year=2024&format=csv"

Notes & limitations

NULL handling

  • Zero is a real, reported value.

Limitations

Universe: persons 5 years and over (not households). pct_limited_english is the Census limited-English-proficiency share: persons who speak a language other than English at home and speak English less than 'very well' (well, not well, or not at all), divided by all persons 5 years and over in the citizenship_status x language_group group. On language_group 'all' rows the denominator includes people who speak only English, counted as not limited (the Census standard all-language rate); english_only rows carry only num_population_5_plus, because the ability question is not asked of them - their ability counts, numerator, and rate are NULL, never 0. citizenship_status here is all / native / foreign_born only (all = native + foreign_born; B16005 has no naturalized or noncitizen split), and language_group partitions each citizenship group (all = english_only + spanish + other_indo_european + asian_pacific_island + other), so never sum an 'all' row with its parts. The four num_speak_english_* counts partition the persons 5 years and over in a non-English language group; on a language_group 'all' row they cover only people who speak another language, so they sum to the row's population minus its english_only speakers. English ability is self-reported (or reported for the person by a household respondent), not tested. Languages are the Census four-group collapse (Spanish; other Indo-European; Asian and Pacific Island; other). The (all, all), native and foreign_born totals and every native / foreign-born x language cell are published; citizenship_status 'all' rows with a specific language group, all ability counts on 'all' rows, and every num_limited_english are derived as exact sums of published B16005 cells with Census sqrt-sum-of-squares margins under the zero-estimate rule (non-integer, served as floats). The total's margin (B16005_001M) is a controlled estimate with no published sampling error in 3-5 counties and their coterminous school districts per vintage (e.g. Clarke, Clinch, Taylor), so num_population_5_plus_moe and pct_limited_english_moe are NULL on those (all, all) rows. Published zeros are real estimates, not suppression: small language groups in rural counties and many tracts are 0 with a positive margin, and a NULL pct_limited_english on a non-English row means the group has no members there (a true absence). pct_limited_english_moe is derived with the Census ratio formula (addition-form fallback whenever the subtraction form's radicand is not positive, so a served margin is never zero; a 0 or 100 percent rate takes the Census's own model margin for such estimates); a degenerate small-sample margin above 1.0 is set to NULL. ACS 5-year period estimates: the year column is the vintage END year and each estimate pools five years of survey responses (2024 = 2020-2024). Consecutive vintages share about 80% of their sample, so the series is heavily smoothed - never difference overlapping vintages as if they were annual change. Estimates are survey-based and carry 90% margins of error (the *_moe columns); tract-level margins can be large relative to the estimate. All levels serve vintages 2020-2024 only, on 2020-vintage tract boundaries. State rows have NULL county_fips, district_code, and tract_geoid; county rows carry only county_fips, district rows only district_code, tract rows only tract_geoid. District rows cover the ~180 standard (city/county) districts only: the Census publishes school-district estimates at unified school district geography, which has no codes for charter schools, RESAs, or state agencies, and its few Census-only districts (e.g. the Fort Stewart military district) have no GCD district code and are dropped.