Shopify App Store Scraper
Pricing
from $5.00 / 1,000 app scrapeds
Shopify App Store Scraper
Scrape Shopify App Store apps, pricing plans, ratings and merchant reviews by search, category or app URL. Works with Apify MCP and the API.
Pricing
from $5.00 / 1,000 app scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
What is Shopify App Store Scraper?
Shopify App Store Scraper turns search keywords, category URLs or app URLs from apps.shopify.com into a dataset of app records and, on request, merchant review records. App rows return the app name, slug, URL, icon, star rating, review count and pricing badge, and detail mode adds the description, developer, pricing plans, categories, works-with integrations, languages and launch date. Review rows return the star rating, review text, store name, country, usage duration, post date and the developer's reply. SaaS founders, Shopify agencies, app marketers and AI agents use it to map a niche, benchmark competitor pricing and mine merchant feedback.
Why app builders use this Shopify App Store scraper
- Four modes in one Actor. Search, category, app detail and reviews, auto-detected from each input so you can mix them in one run.
- Competitor pricing plans. Detail mode returns each plan's name, price, features and extra charges in
pricingPlans. - Merchant voice with replies. Review rows carry
usageDuration,countryanddeveloperReply, which show how vendors handle feedback. - Targeted review pulls. Sort by recency, rating or helpfulness and filter to one star rating, such as only 1-star or only 5-star reviews.
- Two simple caps.
maxAppsandmaxReviewskeep each run's event count predictable.
Best fit for this Actor
- Designed for Shopify app market research: niche sizing, competitor benchmarking, pricing comparison and review mining.
- Use search mode to discover every app for a keyword, then pass the
appUrlvalues back instartUrlswithscrapeReviewson for the apps you want to study. - For the same research on mobile apps, continue with Google Play Store Scraper — Apps, Reviews, Charts.
- When you want the merchants' storefront products instead of their apps, use Shopify Scraper — Products, Collections, Reviews & Emails.
Example workflow: from a niche keyword to a positioning brief
A founder planning an email-marketing app starts with the keyword email marketing. They run search mode with maxApps set to 50 and get every matching app with rating, reviewsCount and pricingBadge. They pick the five apps with the most reviews, pass their appUrl values into startUrls with scrapeReviews on, reviewRating set to 1 and maxReviews set to 100. They export the 1-star reviews, group the complaints by theme, compare them with each competitor's pricingPlans, and feed the result into their positioning brief.
Input
| Field | Type | What it controls |
|---|---|---|
queries | array | Search keywords, one niche per line, for example email marketing. |
startUrls | array | App, category, /reviews or search URLs on apps.shopify.com. |
mode | string | auto (default), search, category, app_detail or reviews. |
enrichDetails | boolean | Visit each search or category result for full detail. Default false. |
scrapeReviews | boolean | Also collect merchant reviews for each app. Default false. |
maxApps | integer | Apps per query or category. Default 50. |
maxReviews | integer | Reviews per app. Default 100. |
reviewSort | string | most_recent, highest_rating, lowest_rating or most_helpful. |
reviewRating | integer | Only reviews with this star rating, 1 to 5; 0 keeps all. |
country | string | Proxy country, which sets the currency shown on listings. Default US. |
maxConcurrency | integer | Parallel requests. Default 10. |
proxyConfiguration | object | Apify Proxy settings. |
{"startUrls": [{ "url": "https://apps.shopify.com/klaviyo-email-marketing" },{ "url": "https://apps.shopify.com/judgeme-product-reviews" }],"scrapeReviews": true,"maxReviews": 200,"reviewSort": "lowest_rating"}
Output
Each row has recordType set to app or review.
App fields:
| Field | What it contains |
|---|---|
appName, appSlug, appUrl, iconUrl | App identity and icon |
rating, reviewsCount, pricingBadge | Star rating, review count and pricing badge from the listing card |
query | The search keyword that found the app |
tagline, description | Marketing copy (detail mode) |
developer, developerUrl | Developer name and partner page (detail mode) |
priceFrom, pricingPlans | Starting price and every plan with features and extra charges (detail mode) |
ratingBreakdown | Review count per star level (detail mode) |
category, categories, worksWith, languages | Classification and integrations (detail mode) |
launchedAt, builtForShopify | Launch date and Built for Shopify badge (detail mode) |
scrapedAt | Collection time |
Review fields:
| Field | What it contains |
|---|---|
appName, appSlug, reviewId | App and review identity |
rating, reviewBody | Star rating and full review text |
storeName, country, usageDuration | Reviewing merchant, country and time using the app |
postedAt | Review date |
developerReply, developerReplyAt | Developer response and its date |
Search-mode app row:
{"recordType": "app","appName": "Klaviyo: Email Marketing & SMS","appSlug": "klaviyo-email-marketing","appUrl": "https://apps.shopify.com/klaviyo-email-marketing","iconUrl": "https://cdn.shopify.com/app-store/listing_images/5edd9000b933a8fa88c152d1e498531f/icon/CP6B2OOv3PYCEAE=.png","rating": 4.7,"reviewsCount": 3335,"pricingBadge": "Free to install","query": "email marketing","scrapedAt": "2026-10-01T13:34:17.429Z"}
Search and category rows are lean listing cards. Turn on enrichDetails, or pass app URLs, when you need developer, plans, categories and integrations on every app.
Pricing
This Actor uses Pay per event with Apify platform usage included in the event price. You pay one App scraped event per app row (listing card or enriched detail), one Review scraped event per review row, and one small Actor Start event per run. The live Pricing tab on this page shows the current event prices.
Worked example: a search with maxApps set to 50 costs 50 app events plus one start event. Adding reviews for five apps with maxReviews set to 100 adds up to five hundred review events.
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~shopify-app-store-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["product reviews"], "maxApps": 20}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("khadinakbar/shopify-app-store-scraper").call(run_input={"startUrls": [{"url": "https://apps.shopify.com/klaviyo-email-marketing/reviews"}],"reviewRating": 1,"maxReviews": 100,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row["recordType"] == "review":print(row["rating"], row["country"], row["reviewBody"][:80])
Use with AI agents (MCP)
Connect the Actor to Claude, ChatGPT, Cursor or any MCP client through Apify MCP, then ask:
List the top 20 Shopify apps for "email marketing" with rating, review count and pricing badge, then summarize the 1-star reviews of the top app.
The agent runs search mode, reads app rows with get-dataset-items, then runs a reviews pass for one appUrl with reviewRating set to 1. Rows are separated by recordType, and appUrl plus scrapedAt give provenance. Cost scales with app and review rows, so keep maxApps and maxReviews tight in chat.
Best results
| Starting situation | Helpful action | Expected outcome |
|---|---|---|
| Sizing a niche | Use queries with a generous maxApps | Every matching app for the keyword |
| A curated shortlist | Paste a /categories/<slug> URL | The category's featured apps |
| Competitor pricing | Pass app URLs or turn on enrichDetails | Plans, features and extra charges |
| Finding pain points | Set reviewRating to 1 or 2 with reviewSort most_recent | Fresh complaints to build against |
| Regional pricing | Set country, for example GB | Listings in that market's currency |
| Large jobs | Lower maxConcurrency to 5 | A steady, even pace |
Builder's note
I built this around the founder's research loop: find the apps in a niche, open the leaders' pricing, then read what merchants complain about. I designed search rows to stay lean and made full detail opt-in, because most niche scans only need names, ratings and badges, and detail visits add time. I found that developer replies say a lot about a competitor's support culture, so every review row keeps the reply and its date.
FAQ
How do I get pricing plans?
Pass app URLs in startUrls, or turn on enrichDetails for search and category runs. Plans are in pricingPlans.
Which popularity signals are available?
The App Store publishes star ratings and review counts, so rating and reviewsCount are the public popularity signals.
Does it need a Shopify login?
No. The Actor reads the public App Store with no login or cookies.
Responsible use
This Actor collects publicly available information from apps.shopify.com. Review text and store names are user-generated public content, so use them in line with the GDPR, CCPA and the Shopify App Store terms, and contact merchants only through lawful channels. Shopify is a trademark of Shopify Inc.; this independent Actor is not affiliated with or endorsed by Shopify. For questions or bugs, open a ticket in the Issues tab.