App Store Intelligence
Look up app details, ratings, reviews, and search the iOS App Store and Mac App Store using Apple's free iTunes Search & Lookup APIs. No API key required.
For Google Play, use web scraping via web_search and web_fetch.
When to Use
- User asks about an app's ratings or reviews
- User wants to compare apps in a category
- User wants to find apps by keyword
- User asks about a competitor's app store presence
- User wants app metadata (price, size, version, release notes)
API Overview — Apple iTunes Search API
Free. No authentication. No API key.
Two endpoints:
- Search:
https://itunes.apple.com/search - Lookup:
https://itunes.apple.com/lookup
Rate Limit: ~20 calls per minute. Cache results for heavy usage.
Searching for Apps
Basic Search
https://itunes.apple.com/search?term=QUERY&country=COUNTRY&entity=software&limit=N
Use web_fetch to call this URL. Response is JSON.
Parameters
| Parameter | Description | Required | Values |
|---|---|---|---|
term | Search query (URL-encoded, + for spaces) | Yes | Any text |
country | Two-letter country code | Yes | us, gb, de, etc. |
entity | App type | No | software (iPhone), iPadSoftware, macSoftware |
media | Media type | No | software (default for apps) |
limit | Max results | No | 1–200 (default 50) |
lang | Language | No | en_us, ja_jp |
Example
https://itunes.apple.com/search?term=fitness+tracker&country=us&entity=software&limit=10
Looking Up Specific Apps
By App ID (Track ID)
https://itunes.apple.com/lookup?id=APP_ID&country=us
By Bundle ID
https://itunes.apple.com/lookup?bundleId=com.example.app&country=us
Multiple Apps at Once
https://itunes.apple.com/lookup?id=ID1,ID2,ID3&country=us
Response Format
Each result contains:
{
"trackId": 553834731,
"trackName": "App Name",
"bundleId": "com.example.app",
"sellerName": "Company Name",
"artistName": "Developer Name",
"price": 0.00,
"formattedPrice": "Free",
"currency": "USD",
"averageUserRating": 4.5,
"userRatingCount": 125000,
"averageUserRatingForCurrentVersion": 4.3,
"userRatingCountForCurrentVersion": 5000,
"contentAdvisoryRating": "4+",
"trackContentRating": "4+",
"primaryGenreName": "Health & Fitness",
"genres": ["Health & Fitness", "Lifestyle"],
"description": "Full app description...",
"releaseNotes": "What's new in this version...",
"version": "3.2.1",
"currentVersionReleaseDate": "2024-01-10T00:00:00Z",
"releaseDate": "2020-06-15T00:00:00Z",
"fileSizeBytes": "52428800",
"minimumOsVersion": "15.0",
"trackViewUrl": "https://apps.apple.com/us/app/...",
"artworkUrl512": "https://is1-ssl.mzstatic.com/...",
"screenshotUrls": ["url1", "url2"], // ⚠️ Can be 10+ URLs — summarize count, don't dump all
"supportedDevices": ["iPhone15,2", "iPad14,1"], // ⚠️ Can be 100+ items — omit from output to save context
"languageCodesISO2A": ["EN", "FR", "DE"]
}
The response wrapper:
{
"resultCount": 10,
"results": [...]
}
Google Play Lookup
There's no free public Google Play API. Use these approaches:
Web Search
web_search: "site:play.google.com/store/apps QUERY"
Direct App Page Scraping
web_fetch: https://play.google.com/store/apps/details?id=PACKAGE_ID&hl=en&gl=us
⚠️ Google Play pages may return limited content or block automated requests. If web_fetch returns incomplete data, fall back to web_search results which typically include rating, download count, and developer info in the snippet.
Extract from the fetched HTML (when available):
- Title, developer, rating, review count, downloads
- Description, what's new, screenshots
Google Play Package ID
The package ID is in the URL: play.google.com/store/apps/details?id=com.example.app
Step-by-Step Instructions
Search for Apps by Keyword
- URL-encode the search term
- Fetch:
https://itunes.apple.com/search?term=ENCODED_QUERY&country=us&entity=software&limit=10 - Parse JSON response
- For each result, present: name, developer, rating, review count, price, and App Store link
Get Detailed Info for a Specific App
- Find the app's Track ID (from a search, or from the App Store URL — the number after
/id) - Fetch:
https://itunes.apple.com/lookup?id=TRACK_ID&country=us - Present full details: rating, reviews, version, release notes, price, size, description
Compare Two Apps
- Look up both apps:
https://itunes.apple.com/lookup?id=ID1,ID2&country=us - Present side-by-side comparison of key metrics
Check an App's Rating Across Countries
- Look up the same ID with different country codes:
https://itunes.apple.com/lookup?id=APP_ID&country=ushttps://itunes.apple.com/lookup?id=APP_ID&country=gbhttps://itunes.apple.com/lookup?id=APP_ID&country=de
- Compare ratings and review counts by region
Find Both iOS and Android Versions
- Search iOS: iTunes Search API with the app name
- Search Android:
web_search "site:play.google.com/store/apps APP_NAME" - Fetch the Google Play page with
web_fetchfor details - Present both platforms' data
Finding App IDs
- From App Store URL:
apps.apple.com/us/app/app-name/id553834731→ ID is553834731 - From search results: The
trackIdfield - From bundle ID lookup: If you know the bundle ID (e.g.,
com.spotify.client)
Output Format
Single App
### App Name
⭐ 4.5/5 (125K ratings) · Free
By Developer Name · Health & Fitness
Version 3.2.1 (Jan 10, 2024)
📝 What's New: Latest release notes summary...
📱 iOS: https://apps.apple.com/...
🤖 Android: https://play.google.com/...
Search Results
### App Store Results for "query" (N found)
1. **App Name** ⭐ 4.5 (125K) · Free
By Developer · Category
📱 https://apps.apple.com/...
2. **App Name** ⭐ 4.2 (50K) · $4.99
By Developer · Category
📱 https://apps.apple.com/...
Comparison
### App Comparison
| Metric | App A | App B |
|--------|-------|-------|
| Rating | ⭐ 4.5 | ⭐ 4.2 |
| Reviews | 125K | 50K |
| Price | Free | $4.99 |
| Size | 50 MB | 120 MB |
| Last Updated | Jan 10, 2024 | Dec 5, 2023 |
Error Handling
- No results: The search term may be too specific. Try broader terms or check spelling.
- API error / timeout: Retry once. The iTunes API is generally reliable.
- Rate limited: Wait 60 seconds. Consider caching results for batch lookups.
- Country not found: Verify the two-letter ISO country code.
- App removed from store: The lookup will return
resultCount: 0. Inform the user the app may have been removed. - Google Play scraping fails: The page structure may have changed. Fall back to
web_searchresults.
Examples
Example 1: "How's the Spotify app rated?"
Fetch: https://itunes.apple.com/lookup?bundleId=com.spotify.client&country=us
Example 2: "Find fitness apps with good ratings"
Fetch: https://itunes.apple.com/search?term=fitness&country=us&entity=software&limit=20
Then filter results where averageUserRating >= 4.5 and sort by userRatingCount.
Example 3: "Compare Notion and Obsidian on the App Store"
Look up both apps and present a comparison table.
Data Sources
- iOS / Mac: iTunes Search API — Free, no auth
- Android: Google Play Store web pages via
web_fetch— Free, no auth, scraping