Important: This version of the API has been deprecated an is no longer supported. v1.1 will be completely deactivated on May 31st, 2015.

Generating a Ranks Report


GET ranks/{productIds}/{granularity}/{startDate}/{endDate}/?countries={countries}&filter={filter}


(productId | productId1;productId2;productIdN) the product(s) to get ranks data for.
The productId must belong to your account. To access public ranks through the API please contact us about our Public Data API.
(hourly | daily) whether to show daily or hourly data
(yyyy-MM-dd) Day to start the report on
(yyyy-MM-dd) Day to end the report on
countries (optional)
(isoCode | countryId | isoCode1;countryId1;isoCode2;isoCodeN) Countries to run report on. (default: US)
tz new (optional)
(user | utc | est) specifies which timezone to use, defaults to est
filter (optional)
(int[1-400], default 100) top N ranks. A filter value of 100 will only show records where the rank position is better than 100 (less than 100)
format new (optional)
Output format: json or csv. Defaults to json.


The response is in the form {date=>[point1, point2] …} where a point is an array of [productId, countryId, categoryId, subcategory, rank_position, delta] (see table below).

Points will always be in the same order for each date, however they may not have the same index in each date as the app might fall below the filter threshold for the report

productId Id of the product
countryId ID of the country in the app store. Full name can come from /data/countries
categoryId ID of the category in the app store. Full name can come from /data/categories
subcategory A string representing the sub category. free | paid | topgrossing.
rank_position Rank for given timestamp
delta The change from the previous rank

Example Response

// GET /ranks/320459/daily/2010-07-05/2010-07-07/?countries=gb;us

    "07/07/2010 00:00:00": [
    "07/08/2010 00:00:00": [