Bulk API requests return request ID to validate request:
Request ID is sent via X-Request-ID HTTP Header. You may get the status of request using Request Status API.
Compression
Our REST API allows the use of compression on the request and the response, using the standards
defined by the HTTP 1.1 specification. Some clients will automatically use compression but for
some it has to be turned on manually.
To use compression make sure your requests to our API include the following header
Accept-Encoding: gzip. Our API will compress the response if this header is specified. For more
information on how to add this header refer to code examples below.
Authentication
Requests to the REST API are protected with HTTP Basic authentication. You must provide your API
key to each request made against our API. You can always get a new one here .
If you lost your key you can just enter your email again and we will retrieve it for you.
Errors
The API uses the following error codes:
Error Code
Meaning
400
Bad input parameter or malformed request. The error message should indicate what is specifically wrong.
401
Missing or bad API key (email datageeks[at]appmonsta.com if you need a new API key).
403
You're requesting something your subscription doesn't cover (email datageeks[at]appmonsta.com if you'd like to change your subscription).
404
The data isn't available yet. This may be because we're still collecting it.
429
You've exceeded the rate limit for the API you're trying to access. Wait a little or contact datageeks[at]appmonsta.com.
500
Something went wrong on our end. Email us at datageeks[at]appmonsta.com with the details of your API request, and we'll troubleshoot it ASAP.
Platform Specific Fields
Some of the fields are limited to only a particular platform (either Google Play or App Store).
In that case we tag the field description with the appropriate icon:
Icon
Meaning
Field available only for Android apps.
Field available only for iOS apps.
App rankings
General rankings
Don't forget to replace {API_KEY} with your actual API key.
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".country_code="US"# Two letter country code.date="2024-03-20"# Date in YYYY-MM-DD format.# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/android/rankings.json?date=#{date}&country=#{country_code}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".country_code="US"# Two letter country code.date="2024-03-20"# Date in YYYY-MM-DD format.req_params={"date":date,"country":country_code}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your own API key.password="X"# Password can be anything.# Request URLrequest_url="https://api.appmonsta.com/v1/stores/%s/rankings.json"%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".countryCode="US";// Two letter country code.date="2024-03-20";// Date in YYYY-MM-DD format.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/rankings.json";// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("country",countryCode),.queryString("date",date),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$countryCode="US";// Two letter country code.
$date="2024-03-20";// Date in YYYY-MM-DD format.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/rankings.json?country=$countryCode&date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
{"rank_list":"apps_movers_shakers-ANDROID_WEAR","app_name":"Robinhood: Invest in Stock, Crypto, ETF & Coin","timestamp":"2018-10-01 17:13:59","country":"US","price":"Free","app_id":"com.robinhood.android","rank":1,"publisher_id":"Robinhood","icon_url":"https://lh3.googleusercontent.com/LvWOyUYOe8xovqUdbIoMCIUnqoW2gInudnwzczSFsCAvP20BqKTFZHWBdTl_j9WdPBPW=w170-rw","publisher_name":"Robinhood","avg_rating":"4.6"}
Request all rankings by date and by country. This call returns ranking records with all the available meta-data from the store's ranking list page.
The following countries are supported (outside of these countries we only get data for “Overall” category):
GET https://api.appmonsta.com/v1/stores/<store>/rankings.json?country=<country_code>&date=<date>
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
country_code
Yes
The two letter country code of any country you've subscribed to.
E.g.: US, DE, AU, FR, GB, HK, etc.
date
Yes
In the following format: YYYY-MM-DD.
Response Fields
Field
Description
app_id
The app ID of the app.
app_name
The name of the app.
avg_rating
An average of the individual ratings, based on a 1-5 scale.
country
The country this ranking list is for; 2 letter country code.
icon_url
The url of the app icon.
price
The price of the app, if it can be scraped from the ranking list.
publisher_id
The ID of the publisher of this app as assigned by the store.
publisher_name
The display name of the publisher of this app.
rank
The numerical rank of this app in the given ranking list. Ie, the first app in the list would have 1 for this field, second app would have 2, etc.
rank_list
The identifier of which ranking list this is for. We try and use whatever identifier the store uses when possible. If not, we use the display name of the ranking list from the store.
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".country_code="US"# Two letter country code.date="2024-03-20"# Date in YYYY-MM-DD format.# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/android/rankings/aggregate.json?date=#{date}&country=#{country_code}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".country_code="US"# Two letter country code.date="2024-03-20"# Date in YYYY-MM-DD format.req_params={"date":date,"country":country_code}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your own API key.password="X"# Password can be anything.# Request URLrequest_url="https://api.appmonsta.com/v1/stores/%s/rankings/aggregate.json"%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".countryCode="US";// Two letter country code.date="2024-03-20";// Date in YYYY-MM-DD format.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/rankings/aggregate.json";// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("country",countryCode),.queryString("date",date),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$countryCode="US";// Two letter country code.
$date="2024-03-20";// Date in YYYY-MM-DD format.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/rankings/aggregate.json?country=$countryCode&date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
Request aggregated rankings by date and by country. This call returns records with ranked app IDs per country and per genre/category. It's ideal if you're only interested in app rank positions.
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/rankings/aggregate.json?country=<country_code>&date=<date>
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
country_code
Yes
The two letter country code of any country you've subscribed to.
E.g.: US, DE, AU, FR, GB, HK, etc.
date
Yes
In the following format: YYYY-MM-DD.
Response Fields
Field
Description
country
The country this ranking list is for; 2 letter country code.
genre_id
String representing ranking list genre/category, as returned by the store. We force "overall" ID value for top level ranking lists.
rank_id
Ranking list type (string), which serves as identifier and it's set by stores.
ranks
A list of ordered app IDs. (array of strings for consistency between iTunes and Google Play stores).
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date in YYYY-MM-DD format.# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/rankings/genres.json?date=#{date}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date in YYYY-MM-DD format.req_params={"date":date}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your own API key.password="X"# Password can be anything.# Request URLrequest_url="https://api.appmonsta.com/v1/stores/%s/rankings/genres.json"%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".date="2024-03-20";// Date in YYYY-MM-DD format.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/rankings/genres.json";// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("country",countryCode),.queryString("date",date),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$date="2024-03-20";// Date in YYYY-MM-DD format.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/rankings/genres.json?date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
Request all available ranking genres (also known as categories) by date. If you use aggregated API call, then this call will map genre IDs to human-readable genre names.
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/rankings/genres.json?date=<date>
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date in YYYY-MM-DD format.# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/rankings/types.json?date=#{date}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date in YYYY-MM-DD format.req_params={"date":date}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your own API key.password="X"# Password can be anything.# Request URLrequest_url="https://api.appmonsta.com/v1/stores/%s/rankings/types.json"%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".date="2024-03-20";// Date in YYYY-MM-DD format.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/rankings/types.json";// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("country",countryCode),.queryString("date",date),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$date="2024-03-20";// Date in YYYY-MM-DD format.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/rankings/types.json?date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
{"rank_id":"topfreeapplications","name":"Top Free"}{"rank_id":"newapplications","name":"New Applications"}{"rank_id":"newgameswelove","name":"New Games We Love RSS"}
Request all ranking list types by date. These are ranking list types (names) as defined by the Google Play or iTunes store. If you use aggregated ranks API call, then this call will map ranking types to their human-readable names.
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/rankings/types.json?date=<date>
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/ids")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Print one app ID per linebeginchunk.each_linedo|line|printlineendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLrequest_url='https://api.appmonsta.com/v1/stores/%s/ids'%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Print one app ID per lineprintline
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"android/ids"// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/ids";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Print one app ID per line
echo($data);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".country_code="US"# Two letter country code.app_id="com.facebook.orca"# Unique app identifier (bundle ID).# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/details/#{app_id}.json?country=#{country_code}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".country_code="US"# Two letter country code.app_id="com.facebook.orca"# Unique app identifier (bundle ID).req_params={"country":country_code}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your own API key.password="X"# Password can be anything.# Request URLrequest_url="https://api.appmonsta.com/v1/stores/%s/details/%s.json"%(store,app_id)# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".countryCode="US";// Two letter country code.appId="com.facebook.orca";// Unique app identifier (bundle ID).// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/details/"+appId+".json"// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("country",countryCode).asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$countryCode="US";// Two letter country code.
$appId="com.facebook.orca";// Unique app identifier (bundle ID).
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/details/$appId.json?country=US";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one app record and prints it out:
{"content_rating":"Everyone","app_name":"Messenger – Text and Video Chat for Free","top_developer":false,"publisher_id_num":"5629993546372213086","requires_os":"Varies with device","related":{"related_apps":["com.soundcloud.android","com.spotify.music","com.facebook.workchat",...,"com.facebook.lite","com.whatsapp","com.viber.voip"],"more_from_developer":["com.facebook.katana","com.facebook.mlite",...,"com.facebook.study","com.facebook.viewpoints"]},"video_urls":[],"publisher_name":"Facebook","id":"com.facebook.orca","price_currency":"USD","genres":["Communication"],"app_type":"APPLICATION","icon_url":"https://lh3.googleusercontent.com/rkBi-WHAI-dzkAIYjGBSMUToUoi6SWKoy9Fu7QybFb6KVOJweb51NNzokTtjod__MzA","content_rating_info":"","interactive_elements":"Users Interact, Shares Location, Digital Purchases","version":"Varies with device","publisher_url":"https://www.facebook.com/games/fbmessenger_android/","contains_ads":false,"whats_new":"In efforts to make it easier to connect with businesses on Messenger, we are focusing on more contextual...","publisher_id":"Facebook","price":"Free","screenshot_urls":["https://lh3.googleusercontent.com/AG0QK9DwMCnhIMxBzqmCvB8T7YINdg6HzhInEoW5r72f2KaKhJ63TLwnb0GYNrOMICc",...,"https://lh3.googleusercontent.com/f-d7nreVZFtpS7d1Fxc6n2RjYeCN1DzXsorep0iv0thslN0akBNk4ATma5FFPK1jnzaQ"],"status":"updated","publisher_email":"android-support@fb.com","description":"Be together whenever with a simple way to text, video chat and rally the group...","price_value":0,"all_rating":4.2,"store_url":"https://play.google.com/store/apps/details?id=com.facebook.orca","downloads":"1,000,000,000+","publisher_address":"1 Hacker Way\nMenlo Park, CA 94025","status_unix_timestamp":1578526140,"genre":"Communication","privacy_url":"https://m.facebook.com/policy.php","editors_choice":true,"genre_ids":["COMMUNICATION"],"iap_price_range":"$0.99 - $399.99 per item","all_histogram":{"1":7649347,"3":4624657,"2":2246616,"5":48309851,"4":7605518},"release_date":"2014-01-30","all_rating_count":70435991,"bundle_id":"com.facebook.orca","permissions":["receive text messages (SMS)","change your audio settings",...,"control Near Field Communication","read the contents of your USB storage","control vibration"],"status_date":"January 8, 2020","genre_id":"COMMUNICATION"}
Request the most recent app details with the app's unique ID.
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/details/<app_id>.json?country=<country_code>
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
country_code
Yes
The two letter country code of the country to fetch this app's details for, or ALL if you don't care which country.
app_id
Yes
The unique app identifier (bundle ID) for the correct store.
show_dead
No
If show_dead=1 is present, show apps that aren't currently available in the store.
Response Fields
Field
Description
all_histogram
The histogram breakdown of ratings for all versions of this app. A dictionary with the keys 1-5 (as strings) mapped onto number of reviews with that number of stars.
all_rating
The average rating for all versions of this app.
all_rating_count
The number of ratings for all versions of this app.
all_reviews
The number of reviews for all versions of this app, if available as a summarized number.
app_name
The name of the app.
app_type
Whether the app is categorized as GAME or APPLICATION.
bundle_id
The internal bundle identifier of the app binary.
contains_ads
Whether the app is marked on the store as containing ads or not.
content_rating
The age-appropriate content rating of the app.
content_rating_info
Additional info on content rating of the app if present.
current_histogram
The histogram breakdown of ratings for the current version of this app. Should be a dictionary with the keys 1-5 (as strings) mapped onto number of reviews with that number of stars.
current_rating
The average rating for the current version of this app.
current_rating_count
The number of ratings for the current version of this app.
current_reviews
The number of reviews for the current version of this app, if available as a summarized number.
description
The text of the description of the app.
downloads
The number of downloads this app has, if available.
editors_choice
Whether the app is marked on the store as an editor's choice or not.
genre
The primary category of an app, as it appears on the store side.
genre_id
The ID of the primary category of an app, as returned by the store.
genres
All categories of an app, as they are returned from the store side.
genre_ids
List of category IDs of an app, as returned by the store.
has_game_center
A boolean (0 or 1) indicating whether this app supports Game Center.
iap_price_range
Price range of all in-app products available for the app.
icon_url
The url of the app icon.
id
The unique identifier for the app as assigned by the store.
in_app_purchases
In the iTunes store a list containing all available in-app products.
"in_app_purchases":[{"rank":"1","name":"Town Folk - Skin Pack","price":"$0.99"},{"rank":"2","name":"City Folk - Skin Pack","price":"$0.99"}],
interactive_elements
A string containing interactive elements as listed on the app page.
is_universal
Whether the app is universal, meaning it's optimized for both iPhone and iPad.
languages
Languages that the app supports, as they're defined on the store side.
permissions
List of permissions required by this app.
"permissions":["prevent device from sleeping","view network connections","find accounts on the device","full network access","receive data from Internet","access extra location provider commands","read phone status and identity","precise location (GPS and network-based)","approximate location (network-based)"]
price
The price of the app, as displayed on the store side.
price_currency
Price currency, according to ISO 4271 standard.
price_value
Price value, expressed as digits only.
privacy_url
Privacy policy URL provided by the publisher, if present.
publisher_address
Physical address of the publisher if listed in the app store.
publisher_email
The email address of the publisher of this app, if present.
publisher_id
The ID of the publisher of this app as assigned by the store.
publisher_id_num
The numeric ID of the publisher of this app as assigned by the store.
publisher_name
The display name of the publisher of this app.
publisher_url
The website of the publisher of this app.
related
A dictionary of related apps as presented by the source system. The keys are an identifier for the section of related apps, such as also_installed. The values are lists of app IDs.
release_date
String containing app release date in ISO format.
requires_hardware
A list indicating which hardware is required to run this app.
requires_os
A string indicating the minimum OS/platform version this app requires, if present.
screenshot_urls
An array of screenshot urls.
seller
App seller name as it appears on Apple’s App Store.
status
Indicates an app status, in relationship to its status_date. If it is either "updated" or "released", the app is available for download. If it is "dead", the app is no longer present in the store.
status_date
The date the app was updated or released, as a string in whatever format it's displayed on the store.
status_unix_timestamp
The parsed unix timestamp of the status_date field.
store_url
App store URL.
support_url
A support url for this app, if it differs from publisher_url.
translated_description
Translated app description, when in other language than expected.
version
The current version of the app.
video_urls
An array of urls of demo videos for this app, if present.
whats_new
The text of the "What's new in this version" writeup, if present.
Details for all apps
Don't forget to replace {API_KEY} with your actual API key.
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".country_code="US"# Two letter country code.date="2024-03-20"# Date to check app details against (YYYY-MM-DD).# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/details.json?date=#{date}&country=#{country_code}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".country_code="US"# Two letter country code.date="2024-03-20"# Date to check app details against (YYYY-MM-DD).req_params={"date":date,"country":"US"}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your own API key.password="X"# Password can be anything.# Request URLrequest_url="https://api.appmonsta.com/v1/stores/%s/details.json"%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".countryCode="US";// Two letter country code.date=2024-03-20;// Date to check app details against (YYYY-MM-DD).// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/details.json"// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("date",date).queryString("country",countryCode).asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$countryCode="US";// Two letter country code.
$date="2024-03-20";// Date in YYYY-MM-DD format.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/details.json?country=$countryCode&date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one app record per line and prints them out:
{"content_rating":"Everyone","app_name":"Churchbridge Credit Union","requires_os":"4.4 and up","related":{"related_apps":["com.grppl.android.shell.halifax","com.bbva.compassBuzz","com.popular.android.mibanco","nz.co.kiwibank.mobile",],"more_from_developer":[]},"video_urls":[],"iap_price_range":"","publisher_name":"Churchbridge Credit Union","id":"md.classic.sk.churchbridge.mobileapp","price_currency":"USD","genres":["Finance"],"app_type":"APPLICATION","icon_url":"https://lh3.googleusercontent.com/K-Dvu373lxa1c4KjfZO1reaFmNguzMs7CMDRK-jpUXeXXRfHUjNK2Te275KFrcBnIw","content_rating_info":"","interactive_elements":"","version":"13.5.1","publisher_url":"http://www.churchbridgecu.ca","whats_new":"Lock'N'Block","publisher_id":"Churchbridge Credit Union","price":"Free","screenshot_urls":["https://lh3.googleusercontent.com/IUBvJbfBd6jwkWvoq2RCqBcMkGd2UUt9DNihJDTw8X-Flcxmdhy9Ol5uuaQueAM9JgY","https://lh3.googleusercontent.com/BAfxyHOFru8mwP8FdviOQNymqqztb9NNH9kB_-qqqn7DhStJ_N-wqStYqc4n5Zx3tg"],"status":"updated","publisher_email":"info@churchbridgecu.ca","description":"Shopping, on vacation, or from the comfort of your home – get instant and secure access to your accounts, ...","price_value":0,"all_rating":5,"store_url":"https://play.google.com/store/apps/details?id=md.classic.sk.churchbridge.mobileapp","downloads":"100+","publisher_address":"","status_unix_timestamp":1529367053,"genre":"Finance","bundle_id":"md.classic.sk.churchbridge.mobileapp","genre_ids":["FINANCE"],"all_histogram":{"1":0,"3":0,"2":0,"5":7,"4":0},"release_date":"2016-03-09","all_rating_count":7,"permissions":["prevent device from sleeping","install shortcuts","view network connections","approximate location (network-based)"],"status_date":"June 19, 2018","genre_id":"FINANCE"}
Request the most recent app details for all apps.
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/details.json?country=<country_code>&date=<date>
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
country_code
Yes
The two letter country code of the country to fetch app details for, or ALL to fetch details for every app, regardless of country.
date
Yes
In the following format: YYYY-MM-DD.
show_dead
No
If show_dead=1 is present, show apps that aren't currently available in the store.
only_changed
No
If only_changed=1 is present, only show apps that have changed (in any field) since the previous date.
old_values
No
If old_values=1 then each returned record will have _old_values key holding a dictionary of previous key:value entries. It can be only used in combination with only_changed=1.
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date to check app details against (YYYY-MM-DD).# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/publishers.json?date=#{date}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Print one app ID per linebeginchunk.each_linedo|line|printlineendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date in YYYY-MM-DD format.req_params={"date":date}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLrequest_url='https://api.appmonsta.com/v1/stores/%s/publishers.json'%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Print one app ID per lineprintline
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".date="2024-03-20";// Date in YYYY-MM-DD format.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"android/publishers.json"// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("date",date),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$date="2024-03-20";// Date in YYYY-MM-DD format.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/publishers.json?date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Print one app ID per line
echo($data);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date to check app details against (YYYY-MM-DD).# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/availability.json?date=#{date}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date to check app details against (YYYY-MM-DD).req_params={"date":date}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLrequest_url='https://api.appmonsta.com/v1/stores/%s/availability.json'%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".date="2024-03-20";// Date in YYYY-MM-DD format.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"android/availability.json"// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("date",date),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
date="2024-03-20"# Date to check app details against (YYYY-MM-DD).// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/availability.json?date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".country="US"# Two letter country code.date="2024-03-20"# Date in YYYY-MM-DD format.app_id="com.candy.sweet.dog.puzzle.match"#The unique app identifier (bundle ID) for the correct store.# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/android/estimates/downloads.json?date=#{date}&country=#{country}&app_id=#{app_id}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".country="US"# Two letter country code.date="2024-03-20"# Date in YYYY-MM-DD format.app_id="com.robinhood.android"#The unique app identifier (bundle ID) for the correct store.req_params={"date":date,"country":country,"app_id":app_id}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your own API key.password="X"# Password can be anything.# Request URLrequest_url="https://api.appmonsta.com/v1/stores/%s/estimates/downloads.json"%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".countryCode="US";// Two letter country code.date="2024-03-20";// Date in YYYY-MM-DD format.app_id="com.robinhood.android"#The unique app identifier (bundle ID) for the correct store.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/estimates/downloads.json";// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("country",countryCode),.queryString("date",date),.queryString("app_id",app_id),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$countryCode="US";// Two letter country code.
$date="2024-03-20";// Date in YYYY-MM-DD format.
$appId="com.candy.sweet.dog.puzzle.match";// Unique app or bundle id.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/estimates/downloads.json?country=$countryCode&date=$date&app_id=$appId";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
Request download estimates for an app by date and by country. This call returns download estimates with all the available meta-data from the store's details list page and our predicted datasets.
The following countries are supported:
AE, AR, AT, AU, BE, BR, CA, CH, CL, CN, CO, CZ, DE, DK, EC, EG, ES, FI, FR, GB, HK, HU, ID, IE, IL, IN, IT, JP, KE, KR, LK, MX, MY, NG, NL, NO, NZ, PE, PH, PK, PL, PT, RO, RU, SA, SE, SG, TH, TR, TW, US, UY, VE, VN, ZA
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/estimates/downloads.json?country=<country_code>&date=<date>&app_id=<app_id>
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
country_code
Yes
The two letter country code of any country you've subscribed to.
E.g.: US, DE, AU, FR, GB, HK, etc.
date
Yes
In the following format: YYYY-MM-DD.
app_id
Yes
Unique app or bundle id
Response Fields
Field
Description
id
The ID of the app.
publisher_name
The display name of the publisher of this app.
downloads
The estimated downloads of the app for the date & country requested.
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".country="US"# Two letter country code.date="2024-03-20"# Date in YYYY-MM-DD format.app_id="com.houndsllc.dungeonmaster"#The unique app identifier (bundle ID) for the correct store.# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/android/estimates/revenue.json?date=#{date}&country=#{country_code}&app_id=#{app_id}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".country="US"# Two letter country code.date="2024-03-20"# Date in YYYY-MM-DD format.app_id="com.houndsllc.dungeonmaster"#The unique app identifier (bundle ID) for the correct store.req_params={"date":date,"country":country,"app_id":app_id}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your own API key.password="X"# Password can be anything.# Request URLrequest_url="https://api.appmonsta.com/v1/stores/%s/estimates/revenue.json"%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".countryCode="US";// Two letter country code.date="2024-03-20";// Date in YYYY-MM-DD format.app_id="com.houndsllc.dungeonmaster"#The unique app identifier (bundle ID) for the correct store.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/estimates/revenue.json";// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("country",countryCode),.queryString("date",date),.queryString("app_id",app_id),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$countryCode="US";// Two letter country code.
$date="2024-03-20";// Date in YYYY-MM-DD format.
$appId="ccom.candy.sweet.dog.puzzle.match";// Unique app or bundle id.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/estimates/downloads.json?country=$countryCode&date=$date&app_id=$appId";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
Request revenue estimates for an app by date and by country. This call returns revenue estimates with all the available meta-data from the store's details list page and our predicted datasets.
The following countries are supported:
AE, AR, AT, AU, BE, BR, CA, CH, CL, CN, CO, CZ, DE, DK, EC, EG, ES, FI, FR, GB, HK, HU, ID, IE, IL, IN, IT, JP, KE, KR, LK, MX, MY, NG, NL, NO, NZ, PE, PH, PK, PL, PT, RO, RU, SA, SE, SG, TH, TR, TW, US, UY, VE, VN, ZA
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/estimates/revenue.json?country=<country_code>&date=<date>&app_id=<app_id>
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
country_code
Yes
The two letter country code of any country you've subscribed to.
E.g.: US, DE, AU, FR, GB, HK, etc.
date
Yes
In the following format: YYYY-MM-DD.
app_id
Yes
Unique app or bundle id
Response Fields
Field
Description
id
The ID of the app.
revenue
The estimated revenue of the app for the date & country requested.
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".language="en"# Two letter language code.# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/reviews.json?language=#{language}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Load json object and print it outbeginchunk.each_linedo|line|json_record=JSON.parse(line)printjson_recordendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".language="en"# Two letter language code.req_params={"language":language}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your own API key.password="X"# Password can be anything.# Request URLrequest_url="https://api.appmonsta.com/v1/stores/%s/reviews.json"%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}response=requests.get(request_url,auth=(username,password),headers=headers,params=req_params,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Load json object and print it outjson_record=json.loads(line)printjson_record
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".language"US";// Two letter language code.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/reviews.json"// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("language",language).asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$language="en";// Two letter language code.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/reviews.json?language=$language";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Load json object and print it out
$json_record=json_decode((string)$data,true);echojson_encode($json_record);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code returns a streaming response with one record per line:
{"rating":5,"review_id":"Z3A6QU9xcFRPSDNlbTBHR0dTdy1GSkhrWFJjYnl4dThZamhKNm4zTUwtYzBkZW9Ud0owWDBLUDBlRWJZSVFNbUdnbEViNlJRclRCMzZCbXh6eENZUm9hVXc","language":"en","title":"Heartbleed Detector","user_name":"Ken Mosburg","app_id":"com.trendmicro.tool.heartbleeddetector","review_text":"So far so good, fast, Said Weather Channel & Tune-In Radio apps vulnerable. 4 other weather apps not affected?","date":"2014-04-19","date_str":"April 19, 2014"}
Request most recent app reviews dump.
This is a bulk API call, returning a streaming response with one record per line.
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/reviews.json?language=<language>
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
language
Yes
Specify language with two letter language code (EN, FR, IT, etc.).
start_date
No
Only returns reviews we have collected after this date. This can sometimes include few days older records than start_date, since it can take some time for us to scrape the reviews. It can also include even older reviews if they have changed in any way since the first time we have collected them.
end_date
No
Used with start_date parameter to get reviews we have collected within a particular time frame. If not specified we default this parameter to current date.
Response Fields
Field
Description
app_id
The app ID of the app this review is for.
app_version
The app version this review is for, if present.
date
Review date as a string in ISO format: YYYY-MM-DD.
date_str
The original review date format, a string.
id
The globally unique reviews ID. For iTunes apps, we use ID provided by App Store. For Android apps we generate them by calculating MD5 hash from: app_id, review_text, user_name, rating, title, language.
language
The language the review was written in.
rating
The star rating the user gave with this review. 1-5.
review_id
The reviews ID assigned by the store. May be non-unique across apps.
review_text
The text of the body of the review.
title
The title/subject line of the review, as written by the user, if there is one.
require'net/https'require'json'# Request Parametersdate="2024-03-20"# Date to check app details against (YYYY-MM-DD).# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/android/chromestore.json?date=#{date}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Print one app ID per linebeginchunk.each_linedo|line|printlineendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersdate="2024-03-20"# Date in YYYY-MM-DD format.req_params={"date":date}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLrequest_url='https://api.appmonsta.com/v1/stores/android/chromestore.json'# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Print one app ID per lineprintline
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersdate="2024-03-20";// Date in YYYY-MM-DD format.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/android/chromestore.json"// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("date",date),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$date="2024-03-20";// Date in YYYY-MM-DD format.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/android/chromestore.json?date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Print one app ID per line
echo($data);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
{"developer_address":"Edisom\nEdison, NJ 08840\nUS","overview":"'Correct My Text' extension uses \u2018OpenAI\u2019 technology to grammatically correct your text.","related":{"more_from_developer":["thanksgiving-turkey\/ihjkdmoogblbchapooeicdoibajbbkfa","quotes-and-riddles\/nddoggpicmnfmibnfconkmaldbapfgeh","decorate-tree-with-santa\/mhofelpcecmlmdmmjbhdjkbilfkkdfih","speech-to-text\/hlcahlccangeommmhjafmeaedknenbjk","text-to-read\/fnekpmegljpkfjlmcidjniongadjloil","countdown-to-new-year\/bgdhobdnkhfhnafnmofmnemikbdeijaj","kidz-learn-applications-v\/pfjmbkppopjcopjlpobjkfkpmcdbjkii","my-notes-petit\/omjoocjdcbmidioahigglgjeidddcjfn","crazy-bingo\/ndmpnoligdfdilegakdckfbffbohdfdc","space-objects-from-apod\/fokkijamchjbkhmpdcooanpakobbkafj"],"related":["online-text-editor-like-n\/kfhdpjbckdfhoifldfblejigfpgpiigd","metagramm-grammar-checker\/jmhhcpnkjmnnogdhbjcphnjhgofpnibc","language-comparer-for-wik\/hdbhhabjdaagipnndchmlfhidamkoimd","amazoncouk-search-highlig\/jihiglpebmiffbgjgnggndoeldcdgmld","typegenie-for-zendesk-cha\/kndnolkfdfpinfkbnjicimdlecdjnnnb","\u0447\u0438\u0442\u0430\u043b\u043a\u0430\/khmdffokcemjjobnbciocdfhoejglloi","tuat-autofill-extension\/nnnckhaffpfnflhcgdhikjbkfdhnmode","ai-content-detector-for-c\/gbcfdjgipmpinkahpiambcikjkijimhi","corrector-app\/doaojboplmdndmcabhamneefilppggai","trace-gpt-ai-detector-by\/jlkgehfplidjjhkhhnjakobmiajignpe","\u30b5\u30c6\u30e9\u30a4\u30c8ai\u8b70\u4e8b\u9332\u4f5c\u6210ai\/pigcoaliboahgcijpogmfhkjjampmidm","helpshift-issue-translato\/hjbgffgbolibjdjemepeaaleedidnkbb","\u0635\u062d\u062d\u0647\u0627\/bbgoecbaifekpocglagjffnlbdmnlkmn","iread4u\/pkmbaacpdcnaaeeddokcpdahdokceppb","mail-daddy\/ibglibkdgmpfbnipcollllmaaecpinaj","moliai\/elpieiapbmjggdpkibjdncjflohdabal","apple-docs-force-default\/hknflkbaoljcfdedkkdccacgnfpglcfp","\u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435-\u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432-eias\/lapdihljijojmlhbbjjnndbhgclleodm","email-gpt\/gjkkbbbjdcdickanchomafbcddjgpnpn","grammify\/gkiibdckejnnkjljhfdakbcmlfbcphol","\u4e2d\u6587\u5b57\u6578\u8a08\u7b97\/ejemnnbcokmjefnbopdegfonjlbocico","cursive-text-generator-\u1408\/cccfkdgmgcfdpkcaidimhmpjpndmceea","morse-code-translator\/iikagiceefnnjomifjkkfihhcefebkeo","open-in-cyberchef\/aandeoaihmciockajcgadkgknejppjdl"]},"num_ratings":0,"play_store_url":null,"developer_url":"www.kidzlearn.co","size":"559KiB","developer_email":"gomathyshankaran@gmail.com","icon_url":"https:\/\/lh3.googleusercontent.com\/o6LEfSNom5CeS9hbw8wSkAGGSBNI1bHG37f68sr1qSsKpIqG5JCqSanpo32JAStPFGovXpkm7LL1VRcTxTeeHLoq=w50-h50-e365-rj-sc0x00ffffff","id":"correct-my-text\/cdkagfnhcelbhdhmfeacblcpbbfdogio","languages":["English"],"version":"1.0.0","developer":"GS","price":"Free","website_url":"","status":"updated","privacy_policy":"https:\/\/kidzlearn.co\/kidz-learn-apps-privacy-policy.html","description":"Correct My Text' extension uses \u2018OpenAI\u2019 technology to grammatically correct your text. The user of this tool can upload any text file to check the grammar. The correct grammatical text is displayed in a separate text area using OpenAI technology. The user can e-mail, print and download and even listen to the corrected text.","status_date":"2023-11-06","collection":"Productivity","media_urls":["https:\/\/lh3.googleusercontent.com\/tAXN09_icYKfF_3QGLLuuHL_8_YeRfIXj7-ewqyZ6ItGdxDJdHxfXEBrqrwyElus5CRXN7Z7WDIbwKaVH6p2sipw=w440-h280-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/peUGz2fQy_TdqP7-I-CLJBAc3YaTAtGWAIcpybJ1TK5GxrjOG5UizX8ArmXXSsmG8k14M0aN_1oOyXOw5neEoM7O-H0=w120-h90-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/tAXN09_icYKfF_3QGLLuuHL_8_YeRfIXj7-ewqyZ6ItGdxDJdHxfXEBrqrwyElus5CRXN7Z7WDIbwKaVH6p2sipw=w141-h90-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/o6LEfSNom5CeS9hbw8wSkAGGSBNI1bHG37f68sr1qSsKpIqG5JCqSanpo32JAStPFGovXpkm7LL1VRcTxTeeHLoq=w50-h50-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/DaU2q91RZmqNar2b-sqrWZYIOwNjW8mD7EQxfy2cIjjxCvKzJdoR-nNjAU1keI8A0iZ4L0jkDiHZ3dPoMgi4AjCQZA=w120-h90-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/peUGz2fQy_TdqP7-I-CLJBAc3YaTAtGWAIcpybJ1TK5GxrjOG5UizX8ArmXXSsmG8k14M0aN_1oOyXOw5neEoM7O-H0=w640-h400-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/o6LEfSNom5CeS9hbw8wSkAGGSBNI1bHG37f68sr1qSsKpIqG5JCqSanpo32JAStPFGovXpkm7LL1VRcTxTeeHLoq=w128-h128-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/fDdY5CbcFJhYuu8xMSkJHpFW2O7tKDHv7ViifGBTbdRLcx3bhRcknzf5AEh6CVfMn6VMgqPEGc7euf7tHGkt00vc0g=w120-h90-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/tAXN09_icYKfF_3QGLLuuHL_8_YeRfIXj7-ewqyZ6ItGdxDJdHxfXEBrqrwyElus5CRXN7Z7WDIbwKaVH6p2sipw=w220-h140-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/ymntkkkmECft1nyFfIH0_jMiIiWMLqRoMappP4rTU_UH87e04rI5kyd63vp6REGu_PcXLQ6tRDjhtlfdAJbYXLeZwQ=w700-h280-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/DaU2q91RZmqNar2b-sqrWZYIOwNjW8mD7EQxfy2cIjjxCvKzJdoR-nNjAU1keI8A0iZ4L0jkDiHZ3dPoMgi4AjCQZA=w640-h400-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/fDdY5CbcFJhYuu8xMSkJHpFW2O7tKDHv7ViifGBTbdRLcx3bhRcknzf5AEh6CVfMn6VMgqPEGc7euf7tHGkt00vc0g=w640-h400-e365-rj-sc0x00ffffff","https:\/\/lh3.googleusercontent.com\/o6LEfSNom5CeS9hbw8wSkAGGSBNI1bHG37f68sr1qSsKpIqG5JCqSanpo32JAStPFGovXpkm7LL1VRcTxTeeHLoq=w100-h100-e365-rj-sc0x00ffffff"],"name":"Correct My Text","avg_rating":0,"num_users":"0"}
Get a list of all chromestore extensions and their information that AppMonsta knows about.
HTTPS Request
GET https://api.appmonsta.com/v1/stores/android/chromestore.json?date=<date>
Request Parameters
Parameter
Required
Value
date
Yes
In the following format: YYYY-MM-DD.
Response Fields
Parameter
Description
name
Name of the extension.
collection
Collection/category under which the extension is listed.
id
Unique id of the extension.
developer
Developer's display name.
developer_address
Developer's address, if present.
overview
Overview of the extension.
description
Description of the extension.
play_store_url
Playstore URL of the extension.
website_url
The website of the extension.
developer_url
The URL of the developer.
developer_email
The email of the developer, if present.
version
Version number of the extension.
icon_url
Icon URL of the extension.
related
Related extensions and other extensions of the developer.
media_urls
Numerious images and/or screenshots of the extension.
languages
Language(s) in which the extension is available.
size
Size of the extension.
price
Price of the extension.
num_ratings
Number of ratings in the extension.
avg_rating
Average rating of the extension.
num_users
Number of users of the extension.
status
Status of the extension whether inactive or updated.
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date to check app details against (YYYY-MM-DD).# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/privacy.json?date=#{date}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Print one app ID per linebeginchunk.each_linedo|line|printlineendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date in YYYY-MM-DD format.req_params={"date":date}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLrequest_url='https://api.appmonsta.com/v1/stores/%s/privacy.json'%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Print one app ID per lineprintline
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".date="2024-03-20";// Date in YYYY-MM-DD format.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/privacy.json"// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("date",date),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$date="2024-03-20";// Date in YYYY-MM-DD format.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/privacy.json?date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Print one app ID per line
echo($data);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
{"app_id":"au.edu.vic.sholem.schoolapp","Data shared":[{"category":"App activity","subcategories":[{"data":"App interactions","purpose":"Analytics"}]},{"category":"Device or other IDs","subcategories":[{"data":"Device or other IDs","purpose":"App functionality, Account management"}]}],"Data collected":[{"category":"App activity","subcategories":[{"data":"App interactions","purpose":"Analytics"},{"data":"Other user-generated content","purpose":"App functionality","optional":true}]},{"category":"Device or other IDs","subcategories":[{"data":"Device or other IDs","purpose":"App functionality, Account management"}]}],"Security practices":[{"practice":"Data is encrypted in transit","description":"Your data is transferred over a secure connection"},{"practice":"Data cannot be deleted","description":"The developer doesnot provide a way for you to request that your data be deleted"}]}
Both Google Play Store and Apple App Store require app developers to disclose data safety practices. Developers explain data collection, sharing, and handling. This ensures transparency and allows users to understand how their data is used. The goal is to empower users with control over their data privacy.
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/privacy.json?date=<date>
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
date
Yes
In the following format: YYYY-MM-DD.
Response Fields
Parameter
Description
app_id
The unique app identifier (bundle ID) for the correct store.
Data shared
Information/policy about data they share.
Data collected
Information/policy about data they collect.
Security practices
Information/privacy about their security practices.
require'net/https'require'json'# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date to check app details against (YYYY-MM-DD).# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLuri=URI("https://api.appmonsta.com/v1/stores/#{store}/app-ads.json?date=#{date}")# Ruby Main Code SampleNet::HTTP.start(uri.host,uri.port,:use_ssl=>uri.scheme=='https')do|http|request=Net::HTTP::Get.newurirequest.basic_authusername,passwordhttp.requestrequestdo|response|response.read_bodydo|chunk|# Print one app ID per linebeginchunk.each_linedo|line|printlineendrescueJSON::ParserErrorendendendend
# This example uses Python Requests library http://docs.python-requests.org/en/master/importrequestsimportjson# Request Parametersstore="android"# Could be either "android" or "itunes".date="2024-03-20"# Date in YYYY-MM-DD format.req_params={"date":date}# Auth Parametersusername="{API_KEY}"# Replace {API_KEY} with your API own key.password="X"# Password can be anything.# Request URLrequest_url='https://api.appmonsta.com/v1/stores/%s/app-ads.json'%store# This header turns on compression to reduce the bandwidth usage and transfer time.headers={'Accept-Encoding':'deflate, gzip'}# Python Main Code Sampleresponse=requests.get(request_url,auth=(username,password),params=req_params,headers=headers,stream=True)printresponse.status_codeforlineinresponse.iter_lines():# Print one app ID per lineprintline
// This example uses java Unirest library http://unirest.io/java.html// Request Parametersstore="android";// Could be either "android" or "itunes".date="2024-03-20";// Date in YYYY-MM-DD format.// Auth Parametersusername="{API_KEY}";// Replace {API_KEY} with your own API key.password="X";// Password can be anything.// Request URLrequestUrl="https://api.appmonsta.com/v1/stores/"+store+"/app-ads.json"// Java Main Code SampleHttpResponseresponse=Unirest.get(requestUrl)// This header turns on compression to reduce the bandwidth usage and transfer time..header("Accept-Encoding","deflate, gzip").basicAuth(username,password).queryString("date",date),.asString();intstatus=response.getStatus();BufferedReaderin=newBufferedReader(newInputStreamReader(response.getRawBody()));Stringline=null;while((line=in.readLine())!=null){System.out.println(line);}
<?php// Request Parameters
$store="android";// Could be either "android" or "itunes".
$date="2024-03-20";// Date in YYYY-MM-DD format.
// Auth Parameters
$username="{API_KEY}";// Replace {API_KEY} with your own API key.
$password="X";// Password can be anything.
// Request URL
$url="https://api.appmonsta.com/v1/stores/$store/app-ads.json?date=$date";// PHP Main Code Sample
$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_USERPWD,$username.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,500);curl_setopt($ch,CURLOPT_WRITEFUNCTION,function($curl,$data){// Print one app ID per line
echo($data);returnstrlen($data);});curl_exec($ch);curl_close($ch);?>
The above code loads one JSON per line and prints it out:
Authorized digital sellers for apps or popularly known as 'app-ads.txt' is a peer-reviewed standard for application developers and publishers to authorize specific ad networks to sell their digital ad inventory. The goal is to improve transparency between buyers and sellers.
HTTPS Request
GET https://api.appmonsta.com/v1/stores/<store>/app-ads.json?date=<date>
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
date
Yes
In the following format: YYYY-MM-DD.
Response Fields
Parameter
Description
app_ids
The unique app identifiers (bundle ID) for all listed stores.
bundle_ids
The unique app identifiers (bundle ID) for all listed stores.
Tell us about an app we don't know about yet.
We do our best to find all apps, but occasionally we miss one (there isn't a complete list for Google Play).
HTTPS Request
PUT https://api.appmonsta.com/v1/stores/<store>/details/<app_id>.json
Request Parameters
Parameter
Required
Value
store
Yes
android or itunes.
app_id
Yes
The ID of the app to add, e.g. com.rovio.angrybirds.
Response Code
202 if successfully added.
Get Request Status
Validate a bulk API request to see if it is successfully completed or had any errors.
HTTPS Request
https://api.appmonsta.com/v1/request/<request_id>
Request Method: GET
Request Parameters
Parameter
Required
Value
request_id
Yes
The ID that's sent via X-Request-ID.
Response Fields
Field
Description
status
Can be SUCCESS, ERROR, or ABORTED, if the request completed successfully, there are server side errors or the client aborted the request, respectively.
request_id
Equals to the request ID given as parameter.
records
Number of records sent as response. Only available on SUCCESS.
md5
md5 sum of the response data. This does not include headers, but only the HTTP body sent. Only available on SUCCESS.