Foursquare’s API changes quickly, so this post may be out of date before you get started.
However they offer up to the minute, user generated, location based venue data that makes it well worth the effort, especially if you’re cross referencing it with other location based data sources.
As with many social APIs, there are requests which need oauth (i.e. the end user opts-in) and those which don’t. This post gives an example of integrating with the public (non-oauth) data using ruby.
A quick example :
def foursquare latlon apikey = get_my_foursquare_api_key # sign up as a developer, hardcode your key here apisecret = get_my_foursquare_api_secret # ... and your secret key here @url = "https://api.foursquare.com/v2/venues/search?ll=#{latlon}&client_id=#{apikey}&client_secret=#{apisecret}" hsh = download(@url) # use Curl or some other method to get the json results results = {} results = hsh.response.groups.first.items if hsh.response && hsh.response.groups && hsh.response.groups.first && hsh.response.groups.first.items results end
Hopefully this is quite self explanatory. The result is an array of all nearby venues.
For example if you wanted to find popular venues near DC :
x = foursquare("38.898717,-77.035974") pp x puts x.first.name # West Wing
Or, if you’d like to save some time and avoid this work altogether, we integrate and aggregate a range of interesting data, and deliver it through 1 simple API, so you don’t have to