I am overwhelmed looking through dead ends on the US census website. Could someone that has solved this puzzle tell me where I can get the demographic and shapefile data? Race and income are my biggest interests but I would like to pull any other data I can for my city, Anchorage, AK by census block.
Try NHGIS, it has built a resource that offers what you are looking for.
The race question is available at the block level from the 2010 Census Summary File 1 release; but the income question is available only through the American Community Survey (ACS) Summary File release which goes down to the block group level. If you want the information together, I would recommend using the ACS as a source.
Otherwise, if you have ArcGIS 10.1, you can just download this. It may work in previous versions, but it's a roll of the dice.
Here is what's available in the pre-joined Census data:
Update: There are new resources for:
This is a bit involved, but for a project I worked on, we developed some tools to make it a little easier to load 2010 decennial census data ("SF1") into a SQL database. (This has been tested in Postgres and MySQL.)
First, you'd run these SQL scripts:
Then, download the SF1 data for Alaska. Inside that ZIP file is one "geoheader" file and 47 "segment" files. You want to import these into the tables created by the SQL scripts above. Note that the geoheader file is in fixed width, not CSV. There are some notes about using the csvkit library to convert the geoheaders into CSV here but if you know how to import fixed width files into your SQL database, that may not be necessary.
Then run all_sf1_tables_as_views.sql to create views that are more aligned with the SF1 documented tables, instead of the segmented files used for distribution.
You can join the geoheader table to the appropriate view on LOGRECNO. If you're using more than one state, you need to join on the compound keys STUSAB and LOGRECNO as LOGRECNO values are not unique across the entire 2010 SF1 data set. You can use various values from the geoheader table to filter down to blocks (summary level 101) in specific counties or places.
Block level shapefiles are here.
If you are satisfied with tract-level instead of block level, the project we did this work for, census.ire.org may be helpful. There's a Bulk Data page that allows you to download all data for a single table for a state at five major summary levels (state, county, place, tract, and county subdivision), as well as quickly download the corresponding shapefile for the state. This data also has changes since 2000 for columns wherever possible, including adjusting 2000 tract-level data to 2010 tract boundaries. If you want to use this data in SQL, there are SQL scripts that align to the bulk data format in the GitHub repo.
I've have been working with census data for newspaper projects for many years, and I would never, ever, use ACS data for small geography levels. The data is survey-based and the margins of error are laughably large. I don't know why they even release some of that data. (For example, a very recent product purported to show what counties people move to and from, nationwide. It had results such as, zero people moved from county x to county y, plus or minus 98. That's worse than useless). So, if you must use ACS data, take a good hard look at the margins of error.
Be aware that the Census Bureau puts out a lot of guidance for ACS users. They stress caution in using ACS data across different periods and in comparison with the decennial census.
Also keep in mind that the ACS is not designed to produce population counts (but is designed to produce estimates of population characteristics). For example, users are encouraged to report the percent of population by race rather than the actual numbers by race if using the ACS.
Here's the user guidance page from the ACS Website: http://www.census.gov/acs/www/guidance_for_data_users/guidance_main/