agentleFS
dylanfeltusdylanfeltus/skills/appstore-intel/SKILL.md

appstore-intel

Skill179 starsChanged 9 months agoMITView on GitHub

Look up app details, ratings, reviews, and search the iOS App Store, Mac App Store, and Google Play. Use when the user asks about app ratings, wants to compare apps, or research a competitor's app store presence. No API key required.

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Look up app details, ratings, reviews, and search the iOS App Store and Mac App Store using Apple's free iTunes Search & Lookup APIs.

    line 8
  2. Very specific:

    Use web_fetch to call this URL.

    line 38
  3. Very specific:

    Look up both apps: https://itunes.apple.com/lookup?id=ID1,ID2&country=us

    line 165
  4. Distinctive:

    Look up the same ID with different country codes:

    line 170
  5. Distinctive:

    Search iOS: iTunes Search API with the app name

    line 178
  6. Very specific:

    From bundle ID lookup: If you know the bundle ID (e.g., com.spotify.client)

    line 187
  7. Distinctive:

    Rate limited: Wait 60 seconds. Consider caching results for batch lookups.

    line 237
  8. Distinctive:

    Country not found: Verify the two-letter ISO country code.

    line 238
  9. Distinctive:

    Look up both apps and present a comparison table.

    line 259

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

ParameterDescriptionRequiredValues
termSearch query (URL-encoded, + for spaces)YesAny text
countryTwo-letter country codeYesus, gb, de, etc.
entityApp typeNosoftware (iPhone), iPadSoftware, macSoftware
mediaMedia typeNosoftware (default for apps)
limitMax resultsNo1–200 (default 50)
langLanguageNoen_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

  1. URL-encode the search term
  2. Fetch: https://itunes.apple.com/search?term=ENCODED_QUERY&country=us&entity=software&limit=10
  3. Parse JSON response
  4. For each result, present: name, developer, rating, review count, price, and App Store link

Get Detailed Info for a Specific App

  1. Find the app's Track ID (from a search, or from the App Store URL — the number after /id)
  2. Fetch: https://itunes.apple.com/lookup?id=TRACK_ID&country=us
  3. Present full details: rating, reviews, version, release notes, price, size, description

Compare Two Apps

  1. Look up both apps: https://itunes.apple.com/lookup?id=ID1,ID2&country=us
  2. Present side-by-side comparison of key metrics

Check an App's Rating Across Countries

  1. Look up the same ID with different country codes:
    • https://itunes.apple.com/lookup?id=APP_ID&country=us
    • https://itunes.apple.com/lookup?id=APP_ID&country=gb
    • https://itunes.apple.com/lookup?id=APP_ID&country=de
  2. Compare ratings and review counts by region

Find Both iOS and Android Versions

  1. Search iOS: iTunes Search API with the app name
  2. Search Android: web_search "site:play.google.com/store/apps APP_NAME"
  3. Fetch the Google Play page with web_fetch for details
  4. Present both platforms' data

Finding App IDs

  • From App Store URL: apps.apple.com/us/app/app-name/id553834731 → ID is 553834731
  • From search results: The trackId field
  • 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_search results.

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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.