Package Exports
- app-store-scraper
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (app-store-scraper) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
app-store-scraper
Node.js module to scrape application data from the iTunes/Mac App Store. The goal is to provide an interface as close as possible to the google-play-scraper module.
Installation
npm install app-store-scraperUsage
Available methods:
- app: Retrieves the full detail of an application.
- list: Retrieves a list of applications from one of the collections at iTunes.
- search: Retrieves a list of apps that results of searching by the given term.
- suggest: Given a string returns up to 50 suggestions to complete a search query term.
- similar: Returns the list of "customers also bought" apps shown in the app's detail page.
app
Retrieves the full detail of an application. Options:
id: the iTunes "trackId" of the app, for example553834731for Candy Crush Saga. Either this or theappIdshould be provided.appId: the iTunes "bundleId" of the app, for examplecom.midasplayer.apps.candycrushsagafor Candy Crush Saga. Either this or theidshould be provided.
Example:
var store = require('app-store-scraper');
store.app({id: 553834731}).then(console.log).catch(console.log);Results:
{ id: 553834731,
appId: 'com.midasplayer.apps.candycrushsaga',
title: 'Candy Crush Saga',
url: 'https://itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8&uo=4',
description: 'Candy Crush Saga, from the makers of Candy Crush ...',
icon: 'http://is5.mzstatic.com/image/thumb/Purple30/v4/7a/e4/a9/7ae4a9a9-ff68-cbe4-eed6-fe0a246e625d/source/512x512bb.jpg',
genres: [ 'Games', 'Entertainment', 'Puzzle', 'Arcade' ],
genreIds: [ '6014', '6016', '7012', '7003' ],
primaryGenre: 'Games',
primaryGenreId: 6014,
contentRating: '4+',
languages: [ 'EN', 'JA' ],
size: '73974859',
requiredOsVersion: '5.1.1',
released: '2012-11-14T14:41:32Z',
updated: '2016-05-31T06:39:52Z',
version: '1.76.1',
price: 0,
currency: 'USD',
free: true,
developerId: 526656015,
developer: 'King',
developerUrl: 'https://itunes.apple.com/us/developer/king/id526656015?uo=4',
developerWebsite: undefined,
score: 4,
reviews: 818816,
currentVersionScore: 4.5,
currentVersionReviews: 1323,
screenshots:
[ 'http://a3.mzstatic.com/us/r30/Purple49/v4/7a/8a/a0/7a8aa0ec-976d-801f-0bd9-7b753fdaf93c/screen1136x1136.jpeg',
... ],
ipadScreenshots:
[ 'http://a1.mzstatic.com/us/r30/Purple49/v4/db/45/cf/db45cff9-bdb6-0832-157f-ac3f14565aef/screen480x480.jpeg',
... ],
appletvScreenshots: [],
supportedDevices:
[ 'iPhone-3GS',
'iPadWifi',
... ] }list
Retrieves a list of applications from one of the collections at iTunes. Options:
collection: the collection to look up. Defaults tolist.collection.TOP_FREE_IOS, available options can be found here.category: the application category to filter for. Defaults to no category, available options can be found herecountry: the two letter country code to get the list from. Defaults tous.num: the amount of elements to retrieve. Defaults to50, maximum allowed is200.
Example:
var store = require('app-store-scraper');
store.list({
collection: store.list.collection.TOP_FREE_IPAD,
category: store.list.category.GAMES_ACTION,
num: 2
})
.then(console.log)
.catch(console.log);Returns:
[ { id: '1091944550',
appId: 'com.hypah.io.slither',
title: 'slither.io',
icon: 'http://is4.mzstatic.com/image/thumb/Purple30/v4/68/d7/4d/68d74df4-f4e7-d4a4-a8ea-dbab686e5554/mzl.ujmngosn.png/100x100bb-85.png',
url: 'https://itunes.apple.com/us/app/slither.io/id1091944550?mt=8&uo=2',
price: 0,
currency: 'USD',
free: true,
description: 'Play against other people online! ...',
developer: 'Steve Howse',
developerUrl: 'https://itunes.apple.com/us/developer/steve-howse/id867992583?mt=8&uo=2',
developerId: '867992583',
genre: 'Games',
genreId: '6014',
released: '2016-03-25T10:01:46-07:00' },
{ id: '1046846443',
appId: 'com.ubisoft.hungrysharkworld',
title: 'Hungry Shark World',
icon: 'http://is5.mzstatic.com/image/thumb/Purple60/v4/08/1a/8d/081a8d06-b4d5-528b-fa8e-f53646b6f797/mzl.ehtjvlft.png/100x100bb-85.png',
url: 'https://itunes.apple.com/us/app/hungry-shark-world/id1046846443?mt=8&uo=2',
price: 0,
currency: 'USD',
free: true,
description: 'The stunning sequel to Hungry ...',
developer: 'Ubisoft',
developerUrl: 'https://itunes.apple.com/us/developer/ubisoft/id317644720?mt=8&uo=2',
developerId: '317644720',
genre: 'Games',
genreId: '6014',
released: '2016-05-04T09:43:06-07:00' } ]search
Retrieves a list of apps that results of searching by the given term. Options:
term: the term to search for (required).device: the device to filter for. Defaults tosearch.ALL, available options aresearch.ALL,search.MAC,search.IOS.num: the amount of elements to retrieve. Defaults to50, maximum allowed is200.
Example:
var store = require('app-store-scraper');
store.search({
term: 'panda',
num: 2,
device: store.search.IOS
})
.then(console.log)
.catch(console.log);Results:
[
{ id: 903990394,
appId: 'com.pandarg.pxmobileapp',
title: 'Panda Express Chinese Kitchen',
(...)
},
{
id: 700970012,
appId: 'com.sgn.pandapop',
title: 'Panda Pop',
(...)
}
]suggest
Given a string returns up to 50 suggestions to complete a search query term.
A priority index is also returned which goes from 0 for terms with low traffic
to 10000 for the most searched terms.
Example:
var store = require('app-store-scraper');
store.suggest('panda').then(console.log).catch(console.log);Results:
[
{ term: 'panda pop', priority: '7557' },
{ term: 'panda pop free', priority: '5796' },
{ term: 'panda', priority: '5512' },
{ term: 'panda express', priority: '5174' },
{ term: 'panda games', priority: '4773' },
{ term: 'panda pop 2', priority: '4695' },
...
]similar
Returns the list of "customers also bought" apps shown in the app's detail page. Options:
id: the iTunes "trackId" of the app, for example553834731for Candy Crush Saga. Either this or theappIdshould be provided.appId: the iTunes "bundleId" of the app, for examplecom.midasplayer.apps.candycrushsagafor Candy Crush Saga. Either this or theidshould be provided.
Example:
var store = require('app-store-scraper');
store.similar({id: 553834731}).then(console.log).catch(console.log);Results:
[
{
id: 632285588,
appId: 'com.nerdyoctopus.dots',
title: 'Dots: A Game About Connecting',
(...)
},
{
id: 727296976,
appId: 'com.sgn.cookiejam',
title: 'Cookie Jam',
(...)
}
(...)
]