This is a fork of @perttu/app-store-scraper to use updated dependencies to avoid security vulnerabilities. It comes with no warranty. Test it with your own code.
Modern TypeScript library to scrape application data from the iTunes/Mac App Store.
This is a complete TypeScript rewrite of facundoolano/app-store-scraper with full type safety and modern dependencies.
- 🎯 Full TypeScript support with comprehensive type definitions
- 🔄 Modern dependencies (no deprecated packages)
- 📦 Dual ESM/CJS support for maximum compatibility
- 🌍 Multi-region support with 140+ country codes
- 🎨 Tree-shakeable exports for optimal bundle size
Want rate limiting or memoization? See this blog post: Throttling and memoizing App Store scraper calls
npm install @perttu/app-store-scraperimport { app, search, list, reviews, collection, category } from '@perttu/app-store-scraper';
// Get app details
const appData = await app({ id: 553834731 });
// Search for apps
const results = await search({ term: 'minecraft', num: 10 });
// Get top free games
const games = await list({
collection: collection.TOP_FREE_IOS,
category: category.GAMES,
num: 50,
});
// Get reviews
const appReviews = await reviews({ id: 553834731, page: 1 });📖 See examples/all-methods.ts for comprehensive examples of all 10 API methods.
app()- Get detailed app informationlist()- Get curated app lists from collectionssearch()- Search for apps by keyworddeveloper()- Get all apps from a developerreviews()- Get user reviews for an appratings()- Get rating distribution histogramsimilar()- Get similar/related appssuggest()- Get search suggestionsprivacy()- Get privacy policy detailsversionHistory()- Get version release history
collection- App Store collections (TOP_FREE_IOS, etc.)category- App categories (GAMES, BUSINESS, etc.)sort- Sort options for reviews (RECENT, HELPFUL)device- Device types (IPAD, MAC, ALL)
# Install dependencies
npm install
# Build
npm run build
# Run example (tests all methods)
npm run example
# Type check
npm run typecheck
# Lint
npm run lint
# Format code
npm run formatMIT