How to get share counts using graph API
Solution 1:
Here's a list of API links to get your stats:
Facebook: https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json
Reddit:http://buttons.reddit.com/button_info.json?url=%%URL%%
LinkedIn: http://www.linkedin.com/countserv/count/share?url=%%URL%%&format=json
Digg: http://widgets.digg.com/buttons/count?url=%%URL%%
Delicious: http://feeds.delicious.com/v2/json/urlinfo/data?url=%%URL%%
StumbleUpon: http://www.stumbleupon.com/services/1.01/badge.getinfo?url=%%URL%%
Pinterest: http://widgets.pinterest.com/v1/urls/count.json?source=6&url=%%URL%%
Edit: Removed the Twitter endpoint, since that one has been deprecated.
Edit: Facebook REST API is deprecated
Solution 2:
UPDATE - April '15:
If you want to get the count that is available in the Like button, you should use the engagement
field in the og_object
object, like so:
https://graph.facebook.com/v2.2/?id=http://www.MY-LINK.com&fields=og_object{engagement}&access_token=<access_token>
Result:
{
"og_object": {
"engagement": {
"count": 93,
"social_sentence": "93 people like this."
},
"id": "801998203216179"
},
"id": "http://techcrunch.com/2015/04/06/they-should-have-announced-at-420/"
}
It's possible with the Graph API, simply use:
http://graph.facebook.com/?id=YOUR_URL
something like:
http://graph.facebook.com/?id=http://www.google.com
Would return:
{
"id": "http://www.google.com",
"shares": 1163912
}
UPDATE: while the above would answer how to get the share count. This number is not equal to the one you see on the Like Button, since that number is the sum of:
- The number of likes of this URL
- The number of shares of this URL (this includes copy/pasting a link back to Facebook)
- The number of likes and comments on stories on Facebook about this URL
- The number of inbox messages containing this URL as an attachment.
So getting the Like Button number is possible with the Graph API through the fql
end-point (the link_stat
table):
https://graph.facebook.com/fql?q=SELECT url, normalized_url, share_count, like_count, comment_count, total_count,commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url='http://www.google.com'
total_count
is the number that shows in the Like Button.
Solution 3:
You should not use graph api. If you either call:
- http://graph.facebook.com/http://www.apple.com
or
- http://graph.facebook.com/?id=http://www.apple.com
both will return:
{
"id": "http://www.apple.com",
"shares": 1146997
}
But the number shown is the sum of:
- number of likes of this URL
- number of shares of this URL (this includes copy/pasting a link back to Facebook)
- number of likes and comments on stories on Facebook about this URL
- number of inbox messages containing this URL as an attachment.
So you must use FQL.
Look at this answer: How to fetch facebook likes, share, comments count from an article
Solution 4:
After August 7, 2016 you can still make your call like this:
http://graph.facebook.com/?id=https://www.apple.com/
but the response format is going to be different: it won't be
{
"id": "http://www.apple.com",
"shares": 1146997
}
but instead it will be
{
"og_object": {
"id": "388265801869",
"description": "Get a first look at iPhone 7, Apple Watch Series 2, and the new AirPods \u2014 the future of wireless headphones. Visit the site to learn more.",
"title": "Apple",
"type": "website",
"updated_time": "2016-09-20T08:21:03+0000"
},
"share": {
"comment_count": 1,
"share_count": 1094227
},
"id": "https://www.apple.com"
}
So you will have to process the response like this:
reponse_variable.share.share_count
Solution 5:
What I found useful and I found on one link above is this FQL query where you ask for likes, total, share and click count of one link by looking at the link_stat table
https://graph.facebook.com/fql?q=SELECT%20like_count,%20total_count,%20share_count,%20click_count,%20comment_count%20FROM%20link_stat%20WHERE%20url%20=%20%22http://google.com%22
That will output something like this:
{
data: [
{
like_count: 3440162,
total_count: 13226503,
share_count: 7732740,
click_count: 265614,
comment_count: 2053601
}
]
}