I need a table that will map each US zip code to the average price of commercial real estate (office space) in that zip code. It doesn't matter to me if the prices are to rent or to buy. It also doesn't matter if the figure is limited to just office space or if it includes all commercial real estate. What does matter is that the same thing is measured in each zip code, so that I have an apples-to-apples comparison.
great question! hoping this gets some traction! here's best resource i know of monmouth.edu/business-school/real-estate-research-sources.aspx– albertSep 11, 2016 at 19:10
I'm the head researcher for a commerical real estate brokerage firm. I don't know of a perfect source for what you are looking for, but here are some proxys you might try
Paid option: Costar http://www.costar.com/ has what some of what you want, but they are a pay-for service. From time to time I've heard of them gifting data access for research purposes. I don't think they cover the entire US, and they only look at CRE above a certain dollar size (something like $5,000)
Free option: Craigslist Scrape craigslist.org for office building listings. The URL's are fairly easy to generate for scrapping; for example, I can download the first 100 office spaces listed in New York at the URL http://newyork.craigslist.org/search/off
If you add "?s=100" to the end of that URL (i.e., "http://newyork.craigslist.org/search/off?s=100"), you get listings 100-199 out of 2500. By incrementally changing the "off?s=x" part, you can get all 2500.
Of course, c-listings will on average be smaller properties, but I bet the coverage is pretty good and the bias will be consistent across geographies.
Update: Scraping all base URL's from the about page
If you use R, here's a way to use rvest() to scrape all of the base URL's from the clist about page:
library(rvest) url <- "http://www.craigslist.org/about/sites" aboutclist <- read_html(url) aboutclist %>% html_nodes(".colmask:nth-child(4) a") %>% html_attr("href")
Will return a list of URL's like:
 "//auburn.craigslist.org/" "//bham.craigslist.org/"  "//dothan.craigslist.org/" "//shoals.craigslist.org/"  "//gadsden.craigslist.org/" "//huntsville.craigslist.org/"  "//mobile.craigslist.org/" "//montgomery.craigslist.org/"
Thanks for responding. Ideally I'm looking for a free solution. The Craigslist idea is interesting, but unfortunately Craigslist doesn't provide the zip code, and I need this information for all zip codes.– Mike WSep 18, 2016 at 20:55
2Cragslist does have the option to filter by zip code, at least in some places. The URL looks like: newyork.craigslist.org/search/off?postal=10001 . It would take some work to figure out all the possible URL's but it could be done!– Tim_KSep 19, 2016 at 14:13
not to be rude here at all, but this is open data se, so every solution should be open, not just "ideally". tim's answer is perfect, providing more than one solution, but just feel inclined to point out that paid is not open.– albertSep 19, 2016 at 17:13
valid point albert! I wonder if Open Data SE should post that somewhere to make it absolutely clear? Or maybe it's completely obvious to everyone but me ;)– Tim_KSep 19, 2016 at 23:16