Skip to content
Because you know you hate Apple's Stats
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Because Apple hates you.

What is it?

Piano is a simple Sinatra app that displays your iTunes download data. It lets you browse your applications and view daily reports with totals and graphs. Its still a little rough but its getting there. Maybe you want to help?

How does it work?

Apple hates you. Why else would they give you such terrible sales statistics? Number of downloads? Yeah, that really helps a ton. They don’t even respect you enough to give you a total for your daily sales.

Piano gets your daily stats for your iPhone applications and stores them in a local sqlite database. Now we can interact with the data like you wish you could on Apple’s site.



  • Sinatra
  • Mechanize
  • ActiveRecord
  • Yaml
  • sqlite3-ruby
  • googlecharts

Other stuff

  • sqlite

Getting Started!

Create the database

rake db:migrate

Set up configs

Enter your authentication info in config/config.yml. itunes_connect is your iTunes Connect login information. Piano is login information for Piano. You know, so you don’t publish your sales data to the world.

Get today’s reports

ruby lib/get_reports.rb

Get up to 7 days worth of past reports by overriding the date. Sorry. Apple hates you, so they only provide up to 7 days of old reports.

ruby lib/get_reports.rb 2008-12-14

Start application

ruby piano.rb

Voila. There’s all your reports.

Set up a cron for get_reports.rb so it automatically fetches your reports every day.


The feature set is tiny for now. But its growing.

  • Dashboard interface showing sales data via graph
  • Browse reports by day
  • http basic authentication to protect your sales data
Something went wrong with that request. Please try again.