I can get the share count of an URL using PHP SDK and using the deprecated rest API, but didn't find a way to get the share counts of an URL using graph API.
Is there any way to find out?
I can get the share count of an URL using PHP SDK and using the deprecated rest API, but didn't find a way to get the share counts of an URL using graph API.
Is there any way to find out?
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
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:
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.
You should not use graph api. If you either call:
or
both will return:
{
"id": "http://www.apple.com",
"shares": 1146997
}
But the number shown is the sum of:
So you must use FQL.
Look at this answer: How to fetch facebook likes, share, comments count from an article
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
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
}
]
}
Check out this gist. It has snippets for how to get the sharing count for the following services:
The facebook like button does two things that the API does not do. This might create confusion when you compare the two.
If the URL you use in your like button has a redirect the button will actually show the count of the redirect URL versus the count of the URL you are using.
If the page has a og:url property the like button will show the likes of that url instead of the url in the browser.
Hope this helps someone
Simply type in https://graph.facebook.com/?fields=share&id=https://www.example.com
and replace example with your url or page you are looking for.
Example of Google: https://graph.facebook.com/?fields=share&id=https://www.google.com
Using FQL you could do that:
http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'
There is a ruby gem for it - SocialShares
Currently it supports following social networks:
Usage:
:000 > url = 'http://www.apple.com/'
=> "http://www.apple.com/"
:000 > SocialShares.facebook url
=> 394927
:000 > SocialShares.google url
=> 28289
:000 > SocialShares.twitter url
=> 1164675
:000 > SocialShares.all url
=> {:vkontakte=>44, :facebook=>399027, :google=>28346, :twitter=>1836, :mail_ru=>37, :odnoklassniki=>1, :reddit=>2361, :linkedin=>nil, :pinterest=>21011, :stumbleupon=>43035}
:000 > SocialShares.selected url, %w(facebook google linkedin)
=> {:facebook=>394927, :google=>28289, :linkedin=>nil}
:000 > SocialShares.total url, %w(facebook google)
=> 423216
:000 > SocialShares.has_any? url, %w(twitter linkedin)
=> true
You can use the https://graph.facebook.com/v3.0/{Place_your_Page_ID here}/feed?fields=id,shares,share_count&access_token={Place_your_access_token_here} to get the shares count.
when i used FQL I found the problem (but it is still problem) the documentation says that the number shown is the sum of:
but on my website the shown number is sum of these 4 counts + number of shares (again)