I wrote a simple function that loops through the returned JSON after performing a basic lat/long venue search in foursquare, printing out the names of the venues in the order they are received. When I refresh the page (in essence, refreshing the venue search), I sometimes get the same results, but oftentimes will get slightly or completely different results. Is this known foursquare behavior? How can I receive more "accurate" results? The coordinates I was testing are 35.689/-80.400.
EDIT I used my client_id and client_secret in the url. the url, without those attributes, is https://api.foursquare.com/v2/venues/search?ll=35.689,-80.400&client_id=CLIENTID&client_secret=CLEINTSECRET&v=20120427
I refreshed immediately. In this instance, the first 20 or so results usually remain the same, with slight changes (most rearranging) occurring around the 20th venue or so.
EDIT - 5/1/2010 At the moment, the 19th listing using the coordinates above (Ellum Exterminator Company) will disappear at random upon refreshing the listing. Because I'm not sure I can add images, I will show you what it looks like. At the moment, I am printing the Name, Latitude, Longitude, and whether or not the venue is "verified." Here is the list, starting at the 15th venue:
Fusion Salon: 35.71441892127211, -80.40389854058888 false
Post Office - Spencer NC: 35.690008835998356, -80.43374140190426 false
Spencer Buffet & Grill: 35.70414673708548, -80.41535441848875 false
Used Appliance Center: 35.69485855102539, -80.42138671875 false
Elium Exterminator Company: 35.69004942268509, -80.43178796768188 true
FOOD LION: 35.691928, -80.425676 false
Hanford Dole: 35.6699838, -80.42572423333333 false
and upon two immediate refreshes
Fusion Salon: 35.71441892127211, -80.40389854058888 false
Post Office - Spencer NC: 35.690008835998356, -80.43374140190426 false
Spencer Buffet & Grill: 35.70414673708548, -80.41535441848875 false
Used Appliance Center: 35.69485855102539, -80.42138671875 false
FOOD LION: 35.691928, -80.425676 false
Hanford Dole: 35.6699838, -80.42572423333333 false
and back to the first sample after a third refresh