@perttu/app-store-scraper
v2.0.0
Published
Modern TypeScript library to scrape application data from the iTunes/Mac App Store
Downloads
295
Maintainers
Readme
@perttu/app-store-scraper
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.
Features
- 🎯 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
Installation
npm install @perttu/app-store-scraperUsage
import { 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.
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
Constants
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)
Development
# 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 formatLicense
MIT
