playstore-competitor-analysis

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".

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "playstore-competitor-analysis" with this command: npx skills add linakis/ai-assistant-skills/linakis-ai-assistant-skills-playstore-competitor-analysis

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:

# 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:

# 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:

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

Examples:

# 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:

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

Example:

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:

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

Examples:

# 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

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

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated
Coding

ask-claude

Delegate a task to Claude Code CLI and immediately report the result back in chat. Supports persistent sessions with full context memory. Safe execution: no data exfiltration, no external calls, file operations confined to workspace. Use when the user asks to run Claude, delegate a coding task, continue a previous Claude session, or any task benefiting from Claude Code's tools (file editing, code analysis, bash, etc.).

Archived SourceRecently Updated
Coding

ai-dating

This skill enables dating and matchmaking workflows. Use it when a user asks to make friends, find a partner, run matchmaking, or provide dating preferences/profile updates. The skill should execute `dating-cli` commands to complete profile setup, task creation/update, match checking, contact reveal, and review.

Archived SourceRecently Updated
Coding

clawhub-rate-limited-publisher

Queue and publish local skills to ClawHub with a strict 5-per-hour cap using the local clawhub CLI and host scheduler.

Archived SourceRecently Updated