Ideally I would like to do this using javascript client side scripting only. If that is not possible then I\'d like to do this in such a way as to have the server do the least
Actually, https://graph.facebook.com/?ids=http://www.stackoverflow.com will return the number of SHARES for that url, which is distinct from the number of likes because it also includes comments and other forms of sharing. This may or may not be an important difference.
With Graph API 2.1+ there are two methods...though both now require access tokens. See below on how to get an access token that lasts forever and is not related to a user session.
Like count for URLs:
Like count for Facebook Pages:
How to get a perpetual Access Token (App Access Token):
You can use a user access token to get these results, but often for like-count scripts that is not an option.
You'll need to use the App Access Token instead, which will allow you to run the script "offline" without an active user access token session. Previously you had to request an app access token, now it is as simple as concatenating the app id and secret with | as follows:
MY_APP_ID|MY_APP_SECRET
In otherwords, the full request from above would be something like:
https://graph.facebook.com/10150180465825637/likes/?summary=true&access_token=MY_APP_ID|MY_APP_SECRET
Keep in mind that since the app secret is required for this request you should always perform this request server-side. Client-side requests would expose your app secret to everyone.
In previous versions of Graph API (2.0 and lower) you could use FQL:
SELECT like_count FROM link_stat WHERE url="http://www.stackoverflow.com"
Here is the actual link. There about 200 likes and 2000+ shares as of this writing, so it's a big difference...