ACS Data Users Group

 View Only
  • 1.  Basic API question (I watched several videos already)

    Posted 10-04-2022 03:50 AM

    It looks like to only practical way to get data is the API. I've watched several videos, read pages etc, and am still lost.

    All ACS API's start with https://api.census.gov/data/2021/acs

    For acs-1 its https://api.census.gov/data/2021/acs/acs1

    api.census.gov/data/2021/acs/acs1?get=NAME,group(B01001)

    api.census.gov/data/2021/acs/acs1/subject?get=NAME,group(S0101)

    api.census.gov/data/2021/acs/acs1/profile?get=group(DP02)

    api.census.gov/data/2021/acs/acs1/cprofile?get=group(CP05)

    api.census.gov/data/2021/acs/acs1/spp?get=NAME,group(S0201)

    Then there is ^&^&^ I don't understand and then to get county level data this goes at the end &for=county:*

    I want table S0101 for all counties with;

    County name

    County ID

    S0101_C01_001E

    S0101_C01_032E

    S0101_C01_036E
    S0101_C02_036E

    S0101_C06_001E

    Long day at work and now its 1am and I'm doing this???



  • 2.  RE: Basic API question (I watched several videos already)

    Posted 10-04-2022 09:20 AM

    Heya! Looks like you might be getting close. For your specific ask, this is the API call that would return what you are looking for:

    https://api.census.gov/data/2021/acs/acs1/subject?get=S0101_C01_001E,S0101_C01_032E,S0101_C01_036E,S0101_C02_036E,S0101_C06_001E,NAME&for=county:*

    Note that using the 1-year ACS estimates means that you will only get data for counties with large enough populations (65,000+). For all counties, you could use 5-year ACS.

    If you are an R user, I'd recommend checking out tidycensus, which is a package that makes it simpler to access data from the Census API. Here for example is the tidycensus call that would return the same as the API call above:

    tidycensus::get_acs(
    geography = "county",
    variables = c("S0101_C01_001", "S0101_C01_032", "S0101_C01_036",
    "S0101_C02_036", "S0101_C06_001"),
    year = 2021,
    survey = "acs1",
    show_call = TRUE
    )



  • 3.  RE: Basic API question (I watched several videos already)

    Posted 10-05-2022 03:34 AM

    Thanks so Much! It works. I was under the assumption the column-meta-data file fields would all have data. So I have to check the download data file, find fields I want and make sure there is data, then create the URL. I think it will take me 30-60 minutes for each download file and I have around 18 tables to download.

    Add a day to download the URL data into tabs, clean it up and make it into 1 happy table with all the fields together. Then Tableau.

    If I ever do this again, and nothing big changes to the tables it might take me 4-6 hours

    I could use the methodology for ACS-5, although the data and tables might be slightly different.

    Thanks again !