A simple PHP library for determining the popularity of a URL across social networks.

2.0.0 2014-05-03 05:50 UTC


Latest Stable Version Build Status Coverage Status License

A simple PHP library for determining the popularity of a given URL by querying social network APIs.

It presently supports:

  • Twitter (counts mentions and retweets)
  • Facebook (counts likes, comments and shares)
  • Google+ (+1s)
  • Pinterest (shares)
  • Reddit (counts submitted stories and upvotes)
  • StumbleUpon views
  • LinkedIn shares
  • Hacker News API service is currently offline.
  • Mozscape Backlinks Retired.

There a variety of use cases for this library; generating a list of your blog's most popular articles for optimizing placement, or featuring social network counters on your pages without relying on bloated external JavaScript includes.


To add this package as a dependency for your project, simply add evansims/socialworth to your project's composer.json file. Here is an example of a minimal composer.json file:

    "require": {
        "evansims/socialworth": "*"

Then run composer install to install the library. Composer generates a vendor/autoload.php file that you'll need to include in your project before invoking Socialworth:

require 'vendor/autoload.php';


To query all supported services for a URL:

use Evansims\Socialworth;

$socialworth = new Socialworth('https://github.com/');

Alternatively you can query just one service:

use Evansims\Socialworth;


Or leave out specific services from your query:

use Evansims\Socialworth;

$socialworth = new Socialworth('https://github.com/');
$socialworth->linkedin = false;


The all() method will return an object that you can use to grab individual service results or find the combined popularity from the services:

use Evansims\Socialworth;

$socialworth = new Socialworth('https://github.com/');
$response = $socialworth->all();

var_dump($response->total); // Total likes, shares, upvotes, etc.
var_dump($response->reddit); // Just shares and upvotes from reddit.
var_dump($response->twitter); // Just mentions, retweets and shares on Twitter.

Demo Script

A demo script is provided that allows you to query the library from your browser, or the command line.

To call the script from the command line ...

$ php demo.php https://github.com/

Or, to query individual services ...

$ php demo.php --twitter --facebook https://github.com/

If the demo script is accessible from your web server, you can pass a url ...


Whether from the CLI or the browser, you will receive a JSON object back.

    "total": 48217,
    "twitter": 26582,
    "facebook": 15284,
    "pinterest": 157,
    "reddit": 5,
    "googleplus": 6049,
    "stumbleupon": 297,
    "linkedin": 0

This work was inspired by Jonathan Moore's gist: https://gist.github.com/2640302