AgentSkillsCN

playstore-competitor-analysis

研究并分析 Google Play 商店中的竞品应用。可提取应用元数据(标题、描述、评分、评价、分类、开发者、版本号、价格、安装量)并下载应用截图。支持同时分析多款竞品应用以进行对比,或按关键词搜索热门竞品。适用于用户希望分析竞争对手、研究 Play 商店应用列表、收集竞争情报、对比多款应用,或查找某一品类下的热门应用时使用。触发条件包括 Play 商店网址(play.google.com)、应用包名,或诸如“分析竞品”、“研究这款应用”、“对比这些应用”、“十大即时通讯应用”、“寻找 X 的竞品”等请求。

SKILL.md
--- frontmatter
name: playstore-competitor-analysis
description: Research and analyze competitor apps on the Google Play Store. Extracts app metadata (title, description, rating, reviews, category, developer, version, price, installs) and downloads screenshots. Supports analyzing multiple competitor apps for comparison, or searching for top competitors by keyword. Use when user wants to analyze competitors, research Play Store listings, gather competitive intelligence, compare multiple apps, or find top apps in a category. Triggers on Play Store URLs (play.google.com), app package IDs, or requests like "analyze competitor", "research this app", "compare these apps", "top 10 messenger apps", "find competitors for X".

Play Store Competitor Analysis

Extract comprehensive app data and screenshots from Google Play Store listings for competitive analysis. Supports single app analysis, multi-app comparison, or searching for top competitors by keyword.

Requirements

Install the google-play-scraper package. On modern macOS/Linux systems, you'll need to use a virtual environment:

bash
# Create a virtual environment in the skill directory (one-time setup)
python3 -m venv .venv

# Activate and install the package
source .venv/bin/activate
pip install google-play-scraper

Then run the script with the virtual environment's python:

bash
# Use the venv python directly (no activation needed)
.venv/bin/python3 scripts/scrape_play_store.py --search "messenger" ./output

# Or activate first, then run
source .venv/bin/activate
python3 scripts/scrape_play_store.py --search "messenger" ./output

Workflow

  1. Determine the analysis type:
    • Single app: User provides a Play Store URL or package ID
    • Comparison: User provides multiple URLs/package IDs
    • Search: User wants to find top competitors for a keyword (e.g., "top 10 messenger apps")
  2. Run the appropriate scraper command
  3. Review the generated outputs with the user

Usage

Single App Analysis

Run the scraper with a Play Store URL or package ID:

bash
python3 scripts/scrape_play_store.py "<play_store_url_or_package_id>" "<output_directory>"

Examples:

bash
# Using URL
python3 scripts/scrape_play_store.py "https://play.google.com/store/apps/details?id=com.slack" ./competitor-analysis/slack

# Using package ID directly
python3 scripts/scrape_play_store.py com.slack ./competitor-analysis/slack

Multiple App Comparison

Run the scraper with multiple URLs or package IDs:

bash
python3 scripts/scrape_play_store.py --compare "<id1>" "<id2>" "<id3>" "<output_directory>"

Example:

bash
python3 scripts/scrape_play_store.py --compare \
  com.slack \
  com.microsoft.teams \
  com.discord \
  ./competitor-analysis/messaging-apps

Search for Top Competitors

Search for top apps by keyword and automatically analyze them:

bash
python3 scripts/scrape_play_store.py --search "<query>" "<output_directory>" --limit <N>

Examples:

bash
# Find and analyze top messenger apps
python3 scripts/scrape_play_store.py --search "messenger apps" ./competitor-analysis/messenger --limit 10

# Find top 5 podcast apps
python3 scripts/scrape_play_store.py --search "podcast" ./competitor-analysis/podcasts --limit 5

# Default limit is 10 if not specified
python3 scripts/scrape_play_store.py --search "fitness tracker" ./competitor-analysis/fitness

Output

Single App Output

code
output_dir/
├── {package-id}.json    # Full structured data
├── {package-id}.md      # Formatted report
├── icon.png             # App icon
└── screenshots/
    ├── screenshot_01.png
    ├── screenshot_02.png
    └── ...

Comparison/Search Output

code
output_dir/
├── comparison.json      # All apps data for programmatic use
├── comparison.md        # Side-by-side comparison report
├── {app-1-package-id}/
│   ├── {package-id}.json
│   ├── {package-id}.md
│   ├── icon.png
│   └── screenshots/
├── {app-2-package-id}/
│   └── ...
└── {app-3-package-id}/
    └── ...

Data Extracted

FieldDescription
titleApp name
descriptionFull app description
short_descriptionBrief summary
ratingAverage star rating (1-5)
rating_countNumber of ratings
reviews_countNumber of text reviews
histogramRating distribution [1-star, 2-star, 3-star, 4-star, 5-star]
installsInstall count range (e.g., "10,000,000+")
real_installsActual install count estimate
categoryPrimary category
category_idCategory ID (e.g., GAME_ACTION)
pricePrice or 0 for free
freeBoolean: is app free
currencyPrice currency code
contains_adsBoolean: has advertisements
offers_iapBoolean: has in-app purchases
iap_rangeIn-app purchase price range
developerDeveloper name
developer_idDeveloper ID
developer_emailDeveloper contact email
developer_websiteDeveloper website URL
developer_addressDeveloper address
privacy_policyPrivacy policy URL
versionCurrent version
android_versionMinimum Android version (text)
content_ratingContent rating (Everyone, Teen, etc.)
content_rating_descriptionContent rating details
releasedOriginal release date
last_updatedLast update timestamp
screenshotsAll screenshot URLs
videoPromo video URL if available
icon_urlApp icon URL
header_imageHeader/feature graphic URL

Comparison Report Includes

MetricDescription
Rating comparisonSide-by-side ratings with visual indicators
Install baseRelative market presence with actual numbers
Update frequencyLast update dates
MonetizationFree/paid, ads, IAP comparison
Feature highlightsKey differentiators from descriptions
Competitive insightsHighest rated, most installed, etc.

Notes

  • Uses the google-play-scraper Python package for reliable data extraction
  • Screenshots are downloaded at high resolution
  • Rate limiting is applied automatically to avoid blocking
  • For comparison/search mode, apps are processed sequentially with delays
  • Output directories are created if they don't exist
  • The comparison report highlights competitive advantages and gaps
  • Search results are ordered by Play Store's ranking algorithm