views:

270

answers:

3

I am building a website that will allow you to find restaurants upto a certain distance from your house/or office. ineed to collect a database of all the restaurants. The criteria is based on the below details 1: Maximum distance you can walk/drive from a location 2: cusines of your choice.

i need Restaurants Name, Phone number, address, neighborhood, cusine. Ofourse i have other functinalites as well for the website but the above details can be gathered from the API's

What will be a better API to get this information. YELP, Citysearch, Google, Yahoo they have public API's but yelp does allow you to store the data in our local database. Should i use an API or just have someone scrape or manually copy all the data?

+1  A: 
  1. You should not scrape or copy data from another website without first acquiring their permission to use that data.

  2. If an API provides the information that you require, then that would be the preferred method if you are not able to acquire the data on your own to store locally.

  3. This is a personal choice, but YELP's API is easy to use and I am a personal user of their service, so this seems like a good choice :-)

Joel Martinez
What will happen if yelp gets acquired(by MS or google), i am not sure if they will continue giving access to API or change the terms or merge it google's own. Also will it not be convenient to store all the data in your own local d/b rather than always having a call to their api or to store all the data from some other api (if they allow it).
Oh I never suggested that it would be bad to cache the data locally. That depends on what exactly your service is going to be. As far as the API being discontinued, I doubt they would unless yelp just goes out of business ... but in that case, you should write your code in such a way that you could switch out data providers should such a case arise.
Joel Martinez
Also you suggested that you use YELP's API, is there a way you can share the script with me or guide me to the places where i can get a basic structure of it and then i can make the changes/adjustments according my d/b and cache it locally.
YELP has a developer site which has examples and documentation: http://www.yelp.com/developers/examples
Joel Martinez
+1  A: 

Do not manually copy or scrape. It is bad practice and could be illegal if the content is protected by copyright.

Use public APIs or build your database using public information like the phone book.

As far as what API to use I would use the one that is easiest to develop against and is most likely to remain available. They can and do change things in API so it may be a good idea to use an API while building a proprietary database to be used later.

Todd Moses
What will be the method to get the data if i am not using an api, do i just enter it manually from yellow pages into the database?i doubt if it will have all the restaurants compared to yelp or other restaurant sites.
You can purchase the data from a list broker in a CSV or similar electronic format or manually enter it from the phone book or other records.
Todd Moses
A: 

Depends on scale(US, Europe, Worlds) and extensibility(restaurants, pubs, theaters, and so on) of the system you want:
Following are few alternatives:
1: Yelp API
2: Open Street Map
3: Freebase (unsure about quality of its data)

I believe a combination of Yelp API and Open Street Map would work just fine. This is another helpful alternative for building the database, (though not for getting the data) http://code.google.com/apis/maps/documentation/mapsdata/