Shopify App Store Scraper: Apps, Rankings and Reviews avatar

Shopify App Store Scraper: Apps, Rankings and Reviews

Pricing

from $1.50 / 1,000 app records

Go to Apify Store
Shopify App Store Scraper: Apps, Rankings and Reviews

Shopify App Store Scraper: Apps, Rankings and Reviews

Returns Shopify App Store data: app details (developer, rating, reviews, pricing plans, categories, launch date, languages, Built for Shopify badge), category rankings with position changes, and merchant reviews with store name, country and developer replies.

Pricing

from $1.50 / 1,000 app records

Rating

0.0

(0)

Developer

Mike Ross

Mike Ross

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Get structured data from the public Shopify App Store at apps.shopify.com in three record types:

  • App details: name, developer, rating, review count, reviews per star level, pricing plans with prices and features, categories, launch date, languages, integrations ("Works with") and the Built for Shopify badge.
  • Category rankings: every app in a category in the order the App Store lists it, with position, rating, review count, pricing summary and badge, plus the position change since your previous run.
  • Reviews: date, star rating, review text, the reviewing store's name and country as published, time using the app, and the developer's reply.

Schedule it daily with Only new items switched on to get just the new reviews and the apps that newly entered a category ranking.

This Actor is not affiliated with, endorsed by or sponsored by Shopify. "Shopify" is a trademark of Shopify Inc. and is used here only to describe the public website the Actor reads.

Who it is for

  • App developers and product teams tracking competitors' ratings, pricing changes, new features and complaints.
  • Agencies and consultants comparing apps in a category for clients.
  • Market researchers and investors sizing categories, spotting fast-growing apps and tracking Built for Shopify adoption.
  • Support and success teams monitoring their own reviews and replies every day.

Quick start

  1. Click Start with the example input. You get two app records, the 20 newest reviews of each, and the top 24 apps in the Product reviews category, in about 10 seconds.
  2. Replace the lists with your own:
    • Apps: a handle such as judgeme or a link such as https://apps.shopify.com/klaviyo-email-marketing. The handle is the part of the link after apps.shopify.com/.
    • Categories: a category handle such as store-design-site-optimization-seo or a category link. Use subcategories; top-level categories such as marketing-and-conversion only show curated sections and have no ranked list (the Actor tells you which subcategories to use instead).
  3. Optional: add Keywords to keep only ranked apps whose name or tagline matches, or pick Only these star ratings (for example 1 and 2) to collect complaints.
  4. Schedule the Actor and switch on Only new items since the previous run. Connect the dataset to email, Slack, Google Sheets or your own system with an Apify integration or webhook.

Input

FieldWhat it doesDefault
appsApp handles or links. Returns app details and reviews for eachexample list
categoriesCategory handles or links. Returns the ranking of eachexample list
keywordsKeep only ranked apps whose name, tagline or handle contains any of these wordsall
includeAppDetailsReturn one app record per apptrue
includeReviewsReturn reviews for each apptrue
maxReviewsPerAppReviews per app (10 per page). 0 means all20
reviewsSortBynewest or relevancenewest
reviewRatingsOnly reviews with these star ratingsall
maxAppsPerCategoryRead each ranking down to this position (24 per page). 0 means the whole category24
includeDetailsForRankedAppsAlso return an app record for every ranked app returnedfalse
onlyNewOnly reviews and ranked apps not returned by a previous run with the same inputfalse
maxItemsStop after this many records in total. 0 means no limit1000

If both apps and categories are empty the example lists are used. Keywords filter category rankings only: the Actor does not use the App Store's search page, because the site's robots.txt asks automated clients not to.

Example input for a daily competitor watch:

{
"apps": ["judgeme", "loox", "okendo-reviews"],
"categories": ["marketing-and-conversion-social-trust-product-reviews"],
"maxReviewsPerApp": 50,
"maxAppsPerCategory": 48,
"onlyNew": true
}

Example input for collecting complaints about one app:

{
"apps": ["https://apps.shopify.com/klaviyo-email-marketing"],
"categories": [],
"includeAppDetails": false,
"reviewRatings": ["1", "2"],
"maxReviewsPerApp": 200
}

What you get

All records share one dataset. The Output tab has three views: Apps, Rankings and Reviews.

App records (recordType: "app")

FieldExample
appHandle, name, tagline, appUrljudgeme, Judge.me Product Reviews App, Collect unlimited product reviews, star ratings, testimonials
developerName, developerUrl, developerWebsite, developerAddressJudge.me, the developer's App Store page, website and business address as published
rating, reviewCount, ratingDistribution5.0, 48932, {"5": 47857, "4": 810, "3": 74, "2": 36, "1": 155}
pricingSummary, hasFreePlan, hasFreeTrial, pricingNoteFree plan available. Free trial available., true, true
pricingPlans[{"name": "Awesome", "priceText": "$15/month", "priceAmount": 15, "currency": "USD", "billingPeriod": "month", "features": [...], "trial": "15-day free trial"}]
categories, categoryFeatures[{"name": "Product reviews", "handle": "...", "url": "..."}], ["Photo reviews", ...]
launchedDate, languages, worksWith2015-06-25, ["English", "Spanish", ...], ["Shopify Flow", "Klaviyo: Email Marketing", ...]
builtForShopifytrue when the app page shows the Built for Shopify badge
headline, description, iconUrlListing headline and introduction text, icon link

Review records (recordType: "review")

FieldExample
reviewId, reviewUrl2405181, https://apps.shopify.com/reviews/2405181
rating, reviewDate, reviewText5, 2026-10-22, explained well thanks (empty for star-only reviews)
storeName, storeCountry, usageDurationFoveaux Cod Catcher, New Zealand, 8 months using the app
developerReply, developerReplyDate, developerReplyAuthorThe developer's public reply, its date and the developer name
isNewWhether the review is new since the previous run with the same input

Store names are the business names the App Store shows next to each review. The Actor returns nothing else about reviewers: no personal names, emails or profile links.

Ranking records (recordType: "ranking")

FieldExample
categoryHandle, categoryName, totalAppsInCategorymarketing-and-conversion-social-trust-product-reviews, Product review apps, 486
position, page, positionOnPage2, 1, 2
appHandle, appName, tagline, appUrlgoogle-review-plus-by-entangle-1, Entangle Google Reviews, ...
rating, reviewCount, pricingSummary, builtForShopify5.0, 601, Free plan available, true
previousPosition, positionChange, isNew, firstSeenAtMovement since the previous run with the same input (positive means the app moved up)
matchedKeywordsWhich of your keywords matched

Every record also has scrapedAt (UTC) and schemaVersion. A RUN_SUMMARY record in the run's key-value store lists counts, pages read and any inputs that could not be read.

Output example

{
"recordType": "review",
"appHandle": "judgeme",
"appName": "Judge.me Product Reviews App",
"appUrl": "https://apps.shopify.com/judgeme",
"reviewId": "2405181",
"rating": 5,
"reviewDate": "2026-10-22",
"reviewDateText": "October 22, 2026",
"reviewText": "explained well thanks",
"storeName": "Foveaux Cod Catcher",
"storeCountry": "New Zealand",
"usageDuration": "8 months using the app",
"developerReply": null,
"developerReplyDate": null,
"developerReplyAuthor": null,
"reviewUrl": "https://apps.shopify.com/reviews/2405181",
"reviewsSortBy": "newest",
"ratingFilter": null,
"isNew": true,
"scrapedAt": "2026-10-23T11:25:19Z",
"schemaVersion": 1
}

Pricing

Pay per event: you pay only for the records you get.

EventPrice per 1,000 records
app-record (one app's details)$2.50
review-record (one review)$2.00
ranking-record (one app's position in one category)$1.50

The example input returns 2 app, 40 review and 24 ranking records, about $0.12. If you set a maximum charge per run, the Actor stops cleanly when it is reached and keeps everything returned so far. maxItems gives you a second cap.

How it works and limits

  • Reads only public App Store pages, without logging in. It checks every link against apps.shopify.com/robots.txt before requesting it, waits at least 1 second between requests and backs off when the site asks it to slow down.
  • Speed: about one page per second. 24 ranked apps or 10 reviews per page. Reading all reviews of an app with tens of thousands of reviews takes hours; keep maxReviewsPerApp modest and use onlyNew for ongoing tracking.
  • Content is read in English. Prices are as published (the App Store states them in USD).
  • Category rankings are the App Store's own default order at the time of the run. It can differ slightly between visitors.
  • With onlyNew, app detail records are always returned (so you can track rating and pricing changes); reviews and ranking rows are filtered. History is kept per input in a key-value store named shopify-app-store-feed-state in your account.
  • The App Store changes its page layout from time to time. If you notice empty fields that should have values, please report it in the Actor's Issues tab.

Responsible use

The data comes from publicly visible pages. Reviews are written by merchants and identify their stores by business name. Use the data in line with the laws that apply to you, including data protection law, and with the website's terms.