Shopify App Store Scraper — Details & Reviews
Pricing
from $2.00 / 1,000 app details fetcheds
Shopify App Store Scraper — Details & Reviews
Reliable, always-fresh Shopify App Store data: app details, app reviews, and catalog discovery. Monitored daily. By FreshActors.
Pricing
from $2.00 / 1,000 app details fetcheds
Rating
0.0
(0)
Developer
Martin Čech
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Shopify App Store Scraper — App Details, Reviews & Catalog Discovery
Scrape the Shopify App Store into clean, structured JSON — app details, store reviews, and full-catalog discovery by keyword. No account, no login, no API key. Look up apps by handle or URL, pull every review with rating and country, or find competitors across the whole catalog.

✅ Last verified working: 2026-06-01. This actor is monitored by an automated daily canary. When Shopify changes its markup, we patch fast and note it in the changelog below — so your data pipeline doesn't silently break.
Why this Shopify App Store scraper
Most Shopify App Store scrapers break the moment Shopify tweaks a page layout — and the worst part is they silently return nothing or a false "0 reviews" instead of erroring loudly. That's the source of nearly every "stopped working" complaint you see on competing actors. This one is built to stay working:
- Stable source of truth for details. App details are read from the page's official
application/ld+jsonstructured-data block — title, rating, review count, category, developer — which is far more durable than scraping CSS class names that change weekly. - Robust, paginated reviews. Every review with its rating, the reviewing store's name and country, how long they've used the app, the date, the full text, and (where present) the developer's reply. An empty-but-
200review page is treated as a soft failure and retried with backoff — never reported as "0 reviews". - Catalog discovery via the official sitemap. Find apps by keyword across the entire Shopify App Store catalog using Shopify's own sitemap (the canonical, always-fresh app index) instead of a fragile, client-rendered search box.
- Stable output schema (
_schemaVersion) so your downstream code never breaks on a field rename. - Monitored daily. A canary tests all three modes every day; any breakage is patched quickly and logged in the changelog at the bottom of this page.
If you've been burned by a scraper that quietly died, the whole reason FreshActors exists is operational reliability — "always-fresh" is the product.
What data you get
The actor runs in three modes. Pick one with the mode input.
Mode details — full app metadata
| Field | Type | Description |
|---|---|---|
handle | string | App slug (e.g. klaviyo-email-marketing) |
url | string | Canonical app listing URL |
title | string | App name |
developer | string | Developer / publisher name |
category | string | App category |
rating | number | Overall star rating |
reviewCount | number | Total number of reviews |
pricingSummary | string | Pricing summary (e.g. "Free to install") |
builtForShopify | boolean | "Built for Shopify" badge flag |
icon | string | App icon image URL |
_type | string | Record type (app_details) |
_schemaVersion | string | Output schema version |
_scrapedAt | string | ISO timestamp of capture |
Mode reviews — store reviews
| Field | Type | Description |
|---|---|---|
handle | string | App the review belongs to |
reviewId | string | Stable review identifier |
rating | number | Star rating (1–5) |
storeName | string | Name of the reviewing store |
country | string | Store's country |
usedAppFor | string | How long the store has used the app |
date | string | Review date |
body | string | Full review text |
developerReply | string|null | Developer's reply, if any |
_scrapedAt | string | ISO timestamp of capture |
Mode discover — find apps across the catalog
Give a keyword (e.g. email, review, crm) and get full details records for matching apps drawn from the whole Shopify App Store catalog via the sitemap. Leave the keyword empty to enumerate the catalog from the top. Ideal for market research and competitor mapping.
Use cases
- App developers doing competitor research. Pull
detailsfor every app in your niche to track rating, review count, pricing, and the "Built for Shopify" badge — the exact data you'd otherwise copy by hand. Searching for a Shopify App Store API or Shopify app data export? This is it. - Agencies & SaaS teams mining reviews for product insight. Use
reviewsmode to export hundreds of reviews per app, then run sentiment or feature-request analysis. Filter byreviewsSortto surface the harshest (lowest_rating) or freshest (newest) feedback first. - Market researchers & VCs mapping the ecosystem. Use
discoverto enumerate apps by keyword across the catalog — build a dataset of email-marketing apps, CRMs, or review widgets to size a market or screen acquisition targets. - Lead-gen & sales teams. Discover apps in a category, then enrich each with developer name and pricing to build a prospect list of Shopify ecosystem players. A faceless, no-API-key way to scrape Shopify App Store listings on demand.
Input
| Field | Type | Notes |
|---|---|---|
mode | string | Required. details | reviews | discover |
appHandles | string[] | App handles (e.g. klaviyo-email-marketing). For details + reviews. |
appUrls | string[] | Alternative to handles: full app URLs. |
query | string | Discovery keyword matched against app handles. For discover. |
maxApps | int | Discovery cap, 1–1000. Default 50. For discover. |
maxReviewsPerApp | int | Reviews cap per app, 1–5000. Default 200. For reviews. |
reviewsSort | string | newest | highest_rating | lowest_rating. Default newest. |
lang | string | Catalog language for the sitemap (two-letter). Default en. For discover. |
Example — details
{"mode": "details","appHandles": ["klaviyo-email-marketing", "judgeme-product-reviews"]}
Example — reviews
{"mode": "reviews","appHandles": ["klaviyo-email-marketing"],"maxReviewsPerApp": 500,"reviewsSort": "newest"}
Example — discover
{"mode": "discover","query": "email marketing","maxApps": 50,"lang": "en"}
Output sample
A single details record:
{"_type": "app_details","_schemaVersion": "1.0","handle": "klaviyo-email-marketing","url": "https://apps.shopify.com/klaviyo-email-marketing","title": "Klaviyo: Email Marketing & SMS","developer": "Klaviyo","category": "DeveloperApplication","rating": 4.6,"reviewCount": 2805,"pricingSummary": "Free to install","builtForShopify": false,"icon": "https://cdn.shopify.com/app-store/listing_images/.../icon.png","_scrapedAt": "2026-06-01T08:00:00.000Z"}
A single review record:
{"_type": "review","_schemaVersion": "1.0","handle": "klaviyo-email-marketing","reviewId": "2186287","rating": 5,"storeName": "Bellaforma Jewelry","country": "United States","usedAppFor": "Over 1 year using the app","date": "May 1, 2026","body": "We've seen significant revenue growth through dialed-in flows and strategic email campaigns.","developerReply": null,"_scrapedAt": "2026-06-01T08:00:00.000Z"}
Pricing
This actor is pay-per-result — no monthly subscription, you pay only for what you actually get:
| Event | What it covers | Price (USD) |
|---|---|---|
| App details fetched | Charged once per app whose full details are returned | $0.002 |
| Discovery result fetched | Charged once per app returned from catalog discovery | $0.001 |
| Review fetched | Charged once per app review returned | $0.0001 |
How much does 100 results cost?
- 100 app details → 100 × $0.002 = $0.20
- 100 reviews → 100 × $0.0001 = $0.01
- 100 discovered apps (full details for each) → 100 × $0.001 = $0.10
So pulling details for 100 apps and 200 reviews each (20,000 reviews) costs about $0.20 + $2.00 = $2.20. (Apify platform usage is billed separately per their standard rates.)
FAQ
Is scraping the Shopify App Store legal? This actor collects only public, non-personal listing data — the same app details, ratings, and reviews any visitor sees, plus Shopify's public sitemap. There's no login and no private account data. As with any scraping, use the data responsibly and in line with applicable terms and laws; consult your own counsel for your specific use case.
Do I need an API key or a Shopify account? No. There is no official public Shopify App Store API, and this actor needs no API key, no login, and no Shopify account. You just provide handles, URLs, or a keyword.
How do I find an app's handle?
The handle is the slug at the end of the app URL. For https://apps.shopify.com/klaviyo-email-marketing, the handle is klaviyo-email-marketing. You can pass either handles (appHandles) or full URLs (appUrls).
Can I get app reviews, including the country and developer replies?
Yes. In reviews mode you get each review's rating, the reviewing store's name and country, how long they've used the app, the date, the full text, and the developer's reply where one exists. Cap the volume with maxReviewsPerApp (up to 5000).
Can I discover or list all apps in a category?
Yes — use discover mode with a keyword like email, review, or crm. It matches against the catalog sitemap and returns full details for up to maxApps (1000) matches. Leave query empty to enumerate the catalog from the top.
Can I get install counts / sold data / revenue?
No — Shopify doesn't publish install counts or revenue on listing pages, so they can't be scraped. You do get reviewCount and rating, which are the standard public popularity signals.
How often is the data updated?
It's live: every run fetches data fresh from Shopify at request time, stamped with _scrapedAt. The actor itself is verified by a daily canary across all three modes.
What format is the output and how do I export it?
Structured JSON per record, with a stable _schemaVersion. From the Apify console or API you can export the dataset to JSON, CSV, Excel, or XML.
What happens if Shopify changes its page layout?
Details are pulled from the durable application/ld+json block, and a daily canary tests every mode. If something breaks, we patch quickly and log it in the changelog — that "always-fresh" reliability is the whole point of FreshActors.
Can I run this on a schedule? Yes. Use Apify Schedules to run any mode on a cron (e.g. daily review pulls), or trigger runs via the Apify API/client from your own code.
Other FreshActors tools
| FreshActors actor | What it scrapes |
|---|---|
| App Store Scraper | Apple App Store — app details, search, reviews |
| Google Play Scraper | Google Play — app details + reviews |
| Shopify App Store Scraper | Shopify App Store — app details, reviews, discovery |
| Redfin Scraper | Redfin — US real-estate listings |
| Greenhouse & Lever Jobs Scraper | Greenhouse + Lever — normalized job postings |
Reliability
An automated daily canary exercises all three modes — details, reviews, and discover — and alerts us the moment Shopify changes something that affects output. When that happens we patch fast and record the fix in the changelog below, so you can see exactly when the actor was last verified working. Combined with the stable _schemaVersion on every record and JSON-LD-backed details, the goal is simple: your pipeline keeps running and never silently returns empty data.
Changelog
- 2026-06-01 — v1.0 launch. Details (JSON-LD structured data), reviews (paginated, with store / country / text / reply), and catalog discovery via the App Store sitemap. Daily canary monitoring across all three modes.
Legal note
Scrapes public, non-personal Shopify App Store listing data (the same data any visitor sees, plus the public sitemap). No login, no personal account data. Use responsibly and in line with applicable terms and laws.
Found a problem? Open an issue on the actor — issues are answered fast. Staying fresh is the whole point.