Shopify App Store Scraper
Pricing
from $2.50 / 1,000 apps
Shopify App Store Scraper
Scrape the Shopify App Store for app metadata, pricing tiers, ratings, reviews, and Built-for-Shopify badges. Designed for delta-tracking — daily price drops, rating shifts, and badge wins.
Pricing
from $2.50 / 1,000 apps
Rating
0.0
(0)
Developer
Always Prime
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
🛍️ Shopify App Store Scraper — App Intelligence + Reviews + Pricing Tracker
⚡️ Structured app, pricing-tier and review data from apps.shopify.com — fast, complete, ready for delta-tracking.
Pull every public field from the Shopify App Store at scale: app name, developer, rating, full review history, every pricing tier, "Built for Shopify" badge status, screenshots, supported languages, integrations, and launch date. Daily delta-runs catch price drops, rating shifts, and new badge wins the moment they happen.
🚀 Why this scraper
- 📦 All 19,000+ apps discoverable via the public sitemap — full coverage, not just the curated browse pages
- 💰 Every pricing tier parsed individually (name, price, billing, features) — not just the headline price label
- ⭐ Full review history with merchant store name, country, usage duration, and developer reply
- 🏷️ "Built for Shopify" badge flagged on each app — track which apps qualified this week
- 🤖 Incremental mode — pass a
sincedate and only re-scrape apps that changed (sitemaplastmod) - 🧱 Stable selectors built on Shopify's own
data-app-card-*anddata-merchant-reviewattributes - 🛡️ Polite by default — concurrency 5, jittered backoff, fingerprint rotation, never overruns the site
⏱️ Quick start
- Click Try for free above ▶️
- Pick a discovery mode (full sitemap, by category, or specific URLs)
- Hit Start 🟢
- Download the dataset as JSON, CSV, or Excel — or query it via Apify API
That's it. No API key, no proxy setup, no scraper tuning.
🧰 Input
| Field | Default | What it does |
|---|---|---|
discoveryMode | categories | sitemap (all 19k+ apps) / categories (curated subset per Shopify category) / startUrls (your own list) |
categories | ["finding-products"] | One or more of the 7 top-level Shopify categories — only used for categories mode |
startUrls | — | Specific app URLs to monitor — only used for startUrls mode |
scrapeReviews | false | Also scrape every review on every app (paginated) |
since | — | Incremental: only scrape apps whose sitemap lastmod ≥ this date |
maxItems | 50 | Total cap (apps + reviews counted together). Set 0 for unlimited |
maxReviewsPerApp | 100 | Per-app cap on reviews. Set 0 to scrape full review history per app |
concurrency | 5 | Parallel page fetches. Hard cap 25 |
📊 Sample output
App record
{"type": "app","url": "https://apps.shopify.com/klaviyo-email-marketing","handle": "klaviyo-email-marketing","id": "klaviyo-email-marketing","name": "Klaviyo: Email Marketing & SMS","tagline": "AI marketing and customer service automation for email marketing, SMS, and WhatsApp to grow faster.","description": "Klaviyo is a leading email and sms marketing app for Shopify. Improve your marketing ROI with our templates to deliver personalized email and sms campaigns.","developer": "Klaviyo","developer_url": "https://apps.shopify.com/partners/klaviyo","developer_email": "support@klaviyo.com","icon_url": "https://cdn.shopify.com/app-store/listing_images/5edd9000b933a8fa88c152d1e498531f/icon/CP6B2OOv3PYCEAE=.png","screenshots": ["https://cdn.shopify.com/app-store/listing_images/5edd9000b933a8fa88c152d1e498531f/desktop_screenshot/CJa736LdpJEDEAE=.png","https://cdn.shopify.com/app-store/listing_images/5edd9000b933a8fa88c152d1e498531f/desktop_screenshot/CNGT_KLdpJEDEAE=.png","https://cdn.shopify.com/app-store/listing_images/5edd9000b933a8fa88c152d1e498531f/desktop_screenshot/CNHU6KLdpJEDEAE=.png"],"rating": 4.6,"reviews_count": 2700,"price_label": "Free to install","pricing_tiers": [{"name": "Free","price_label": "Free to install","additional_charges": "Free forever for up to 250 contacts.","features": ["Sync Shopify data", "Templates for Email/SMS", "Forms & push notifications", "Segmentation & personalization", "A/B testing"]},{"name": "SMS","price_label": "$15/month","additional_charges": null,"features": ["1,250 SMS/MMS credits", "Two-way conversations", "Quiet hours"]}],"languages": ["English", "French", "Spanish", "German", "Portuguese (Brazil)", "Korean", "Italian", "Polish", "Swedish", "Dutch"],"works_with": ["Checkout", "Shopify Flow", "Loyalty programs"],"launched_at": "2014-12-09","built_for_shopify": false,"featured_in": ["Best email marketing apps", "Top SMS marketing"],"scraped_at": "2026-05-10T17:30:00+00:00"}
Review record
{"type": "review","id": "2186957","app_handle": "klaviyo-email-marketing","url": "https://apps.shopify.com/klaviyo-email-marketing/reviews?#review-2186957","rating": 5,"posted_at": "2026-05-02","body": "We use Klaviyo for more than 5 years and it did help us recover the carts left by sending a series of abandoned cart emails…","store_name": "iSmart Home Gadgets","store_country": "Hong Kong SAR","usage_duration": "Over 5 years using the app","developer_reply": null,"scraped_at": "2026-05-10T17:30:00+00:00"}
🎯 Use cases
| Who | What for |
|---|---|
| 🛠️ Shopify app developers (~30K active) | Competitive intelligence — rivals' pricing changes, rating shifts, "Built for Shopify" wins |
| 🏢 E-commerce agencies | Build curated app shortlists for clients filtered by rating, language support, integrations |
| 📈 Vendor-intelligence platforms (BuiltWith, Similarweb-style) | Continuous Shopify ecosystem dataset for your product |
| 💼 VC / M&A analysts | Diligence on app businesses — pricing model, install base proxy via reviews_count, growth via lastmod |
| 🧪 ML / data teams | Training corpora for pricing models, review sentiment, app-categorization classifiers |
| 📰 Market researchers & journalists | "Top 100 apps by rating", "Average price/month per category", trend pieces |
💡 Tips & tricks
- 🔁 Daily delta runs: schedule with
discoveryMode = sitemapandsince = yesterday. Only refreshes apps that changed. - 🧮 Pricing-only runs: keep
scrapeReviews = falseto keep cost minimal — pricing tiers are part of every app record. - 🔍 Watchlist mode: use
discoveryMode = startUrlswith a list of competitor app URLs for a focused intel run. - 📅 Full review history: set
maxReviewsPerApp = 0andmaxItems = 0(caution — Klaviyo alone has 2,700 reviews / 270 pages). - 🧹 Filter in dataset views: the dataset has two views ("Apps" and "Reviews") that pre-filter the unified stream by record type.
❓ FAQ
How fresh is the data?
Every run is live. The Shopify sitemap publishes daily lastmod dates per app — pair it with the since input for true incremental tracking.
Does this work without an Apify proxy? Yes. Datacenter IPs work out of the box. The actor uses TLS fingerprint rotation and never triggers Cloudflare challenges.
Can it scrape search results by query?
No — that endpoint is Disallow-ed in the public robots.txt. Use category browsing or the full sitemap instead.
What about apps with multi-language listings?
The actor follows the canonical apps.shopify.com/{handle} path which serves English; the languages field still lists every language the app itself supports.
How do I track "Built for Shopify" badge changes?
Run daily with discoveryMode = sitemap, store the built_for_shopify field, and diff against yesterday's snapshot. New trues = badge wins this week.
Pricing model? Pay-per-event: a small charge per scraped app, per scraped review, and per pricing-tier snapshot. Free actor starts give you ~50 records to test before any spend.
📦 What's inside each record
App records (type: "app"): url, handle, name, tagline, description, developer, developer_url, developer_email, icon_url, screenshots[], rating, reviews_count, price_label, pricing_tiers[{name, price_label, additional_charges, features[]}], languages[], works_with[], launched_at, built_for_shopify, featured_in[], scraped_at.
Review records (type: "review"): id, app_handle, url, rating, posted_at, body, store_name, store_country, usage_duration, developer_reply{replied_at, body}, scraped_at.