Python and the WordPress Jetpack Stats API

I found myself refreshing the WordPress Jetpack stats page a lot, so I wrote a short script to take care of that for me. It refreshes every 10 minutes hour. Don’t forget to add your Jetpack API key. And your own sites.

(assumptions: you have Python installed http://python.org and have a plain-text editor handy. PyCharm and Emacs are probably overkill for this exercise, but that’s all I’ve got.)

# your API key, maybe hidden in your dashboard somewhere?
api_key = 'your_api_key'
refresh_rate = 3600 # in seconds, so, every hour.

# all of your sites you care about and are allowed to check
sites = [
    'http://oversimplified.net',
    'http://jameskersey.com',
    'http://theamokbros.com',
]

import urllib2
import time
from datetime import datetime

# make the url that gets the data
def get_api_string(key, blog_uri):
    return 'http://stats.wordpress.com/csv.php?api_key=' + key + '&blog_uri=' \
        + blog_uri + '&table=views&days=1&summarize'

# get the views from the url that gets the data
def get_views(key, uri):
    views_url = get_api_string(key, uri)
    response = urllib2.urlopen(views_url)
    result = response.read()
    views = result.split("\n")[1]
    return views


# do the things!
while True:
    print str(datetime.now())
    for site in sites:
        print site + ": " + get_views(api_key, site)
    time.sleep(refresh_rate)

Then run it like this in a terminal window:

c:\Users\jkersey\Dashboard>python MainWindow.py

Then kind of resize the window and put it someplace.

Terminal Image

And you’re all set!

Leave a Reply