Shopify App Store Scraper avatar

Shopify App Store Scraper

Pricing

from $1.00 / 1,000 shopify app store results

Go to Apify Store
Shopify App Store Scraper

Shopify App Store Scraper

Pricing

from $1.00 / 1,000 shopify app store results

Rating

0.0

(0)

Developer

Smorgi Apps

Smorgi Apps

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Shopify App Store Scraper — Pay Per Result

Scrape Shopify App Store app listings and public merchant reviews via lightweight HTTP requests. Discover apps by category or search, or pass direct app URLs/handles — aggregate ratings, pricing hints, and optional review rows in one run.

Store search keywords: Shopify App Store scraper · Shopify apps · app reviews · Shopify app ratings · ecommerce app directory


Why this Actor

NeedWhat you get
App intelligenceName, handle, rating, review count, pricing hint, icon, short description
Review monitoringReview text, stars, reviewer, date, country, usage duration
Directory discoveryPaginate category browse pages or Store search results
Failures that shouldn't bill404 / empty / unparseable → not charged
Low costHTTP-only (no Playwright); PPE priced from measured unit economics

Public listing pages only. No Shopify Partner API key required.


Endpoints (public HTTP)

There is no official public REST API for browsing the App Store catalog. This Actor uses the same HTML pages your browser loads:

PurposeURLNotes
Category browseGET https://apps.shopify.com/categories/{slug}?page=NSSR app cards with data-app-card-* attributes (~12–40 apps/page depending on layout)
Store searchGET https://apps.shopify.com/search?q={query}&page=NRequires Turbo-Frame: search_page header — main search shell is JS-deferred (~24 apps/page)
App detailGET https://apps.shopify.com/{handle}JSON-LD SoftwareApplication + Open Graph meta (aggregate rating, pricing hint)
Public reviewsGET https://apps.shopify.com/{handle}/reviews?page=N~10 merchant reviews per page in SSR HTML

Legacy or shortened category slugs may 301-redirect to canonical paths (handled automatically).


Input

{
"categories": ["marketing-and-conversion-marketing-email-marketing"],
"searchQueries": ["email marketing"],
"appUrls": ["https://apps.shopify.com/klaviyo-email-marketing"],
"mode": "both",
"maxItems": 100,
"maxReviewsPerApp": 20,
"requestDelayMs": 400
}

Accepted app URL / handle forms:

  • Handle: klaviyo-email-marketing
  • Detail URL: https://apps.shopify.com/klaviyo-email-marketing
  • Reviews URL: https://apps.shopify.com/klaviyo-email-marketing/reviews

Output fields

recordType: "app" (one row per app)

FieldDescription
handleApp URL slug
nameApp title
shortDescriptionListing blurb or JSON-LD description
developerNameBrand from JSON-LD (detail pages)
iconUrlApp icon URL
storeUrlCanonical detail URL (tracking params stripped)
ratingValue / ratingCountAggregate star rating and total review count
pricingHinte.g. "Free to install", "Free plan available"
sourcelisting (category/search card) or detail (detail page JSON-LD)

recordType: "review" (one row per review)

FieldDescription
reviewIdNumeric review identifier
reviewerNameMerchant / store name
rating1–5 stars
reviewTextReview body (paragraphs joined)
reviewDateHuman-readable date from page
countryReviewer country when listed
usageDuratione.g. "2 months using the app"

Pricing

Pay-per-event for each delivered dataset row (apify-default-dataset-item).

  • Empty pages, 404 apps, and parse failures → not charged
  • Apps-only runs bill one row per app; review runs bill one row per review

~$1 / 1,000 results on the Store pricing tab (HTTP-only; empty/404 free).


Limitations (honest)

  • Search requires turbo-frame: The search results shell at /search?q=… is empty without the Turbo-Frame: search_page header. This Actor sets it automatically; plain curl without the header returns a skeleton page.
  • Reviews pagination: Each /reviews HTTP response embeds ~10 reviews. Deep history requires paginating ?page=N — implemented, but very large review counts mean many HTTP calls.
  • Category layout drift: Listing cards use Stimulus data-app-card-* attributes and Tailwind classes. Shopify redesigns can break parsing.
  • Detail vs listing metadata: Category/search discovery emits lighter listing-card rows (source: listing) unless you also pass the app in appUrls or set mode to include reviews (which fetches detail/review pages).
  • No Partner API: Cannot access install counts, revenue, or private Partner dashboard data — public pages only.
  • Rate limits: High volume may trigger HTTP 429/503; use requestDelayMs and optional Apify Proxy.
  • Removed apps: Return HTTP 404 and are skipped (not charged).

Issues / feature requests: use the Actor Issues tab.