OrbTop

Shopify Theme Store Scraper

ECOMMERCEDEVELOPER TOOLSLEAD GENERATION

Shopify Theme Store Scraper

Scrapes every theme from the Shopify Theme Store. That includes pricing, feature lists, designer contact details, ratings, presets, and — if you opt in — the full text of user reviews with designer replies.

Shopify Theme Store Scraper Features

  • Collects all ~280 themes in the store, with pagination handled automatically
  • Extracts designer email and physical address straight from the theme page — no guesswork, no enrichment step
  • Pulls the complete feature list organized by Shopify's own categories (cart and checkout, merchandising, marketing, product discovery)
  • Returns rating percentages and review counts so you can sort by what actual store owners think
  • Fetches full user reviews as a premium add-on, including designer replies when they exist
  • Paginates through up to 5 pages of reviews per theme — enough to capture the conversation without running up your bill

Who Is This For?

  • Shopify theme developers — See how competitors price, what features they ship, and what their users complain about
  • Agency owners — Build a shortlist of themes filtered by rating, price, and feature set before recommending anything to a client
  • Market researchers — Track the full Shopify theme catalog over time, spot pricing trends, and identify gaps in the market
  • Lead gen teams — Every theme listing includes the developer's email and address, which is the kind of thing that would take you an afternoon to compile manually
  • Review analysts — Aggregate review text across themes to find recurring pain points or feature requests that nobody is building yet

How Shopify Theme Store Scraper Works

  1. Starts at the theme listing page sorted by newest, then walks through every pagination page collecting theme URLs.
  2. Visits each theme's detail page and parses the name, price, description, designer info, features, presets, ratings, version, release date, and contact details.
  3. If review fetching is enabled, follows the reviews link for each theme and paginates through up to 5 pages, collecting reviewer names, dates, review text, and any designer replies. These get merged back into the theme record before saving.

Input

{
    "maxItems": 30,
    "do_fetch_reviews": false
}
Field Type Default Description
maxItems integer (required) Maximum number of themes to scrape. The store has about 280 total.
do_fetch_reviews boolean false Fetch full user reviews for each theme. This is a premium feature — costs more per result but gives you the actual review text and designer replies.

Scrape themes only (default)

{
    "maxItems": 50
}

Scrape themes with reviews

{
    "maxItems": 10,
    "do_fetch_reviews": true
}

Keep maxItems lower when fetching reviews. Each theme can have multiple pages of reviews, so the run takes longer and costs more per record.

Shopify Theme Store Scraper Output Fields

Theme data (always included)

{
    "themeId": "dawn",
    "name": "Dawn",
    "price": 0,
    "priceText": "Free",
    "description": "A beautifully simple, clean, and adaptable theme that works for most store types.",
    "designer": "Shopify",
    "features": [
        "Quick buy",
        "Sticky cart",
        "Cross-selling",
        "Product filtering and sorting",
        "Enhanced search"
    ],
    "ratingPercent": 72,
    "reviewCount": 4138,
    "presets": ["Default"],
    "publisherAddress": "151 O'Connor Street, Ottawa ON K2P 2L8, CA",
    "publisherEmail": "theme-support@shopify.com",
    "versionNumber": "16.0.0",
    "releaseDate": "2021-06-29",
    "link": "https://themes.shopify.com/themes/dawn",
    "imageUrl": "https://themes.shopify.com/services/...",
    "scrapedAt": "2026-03-09T14:22:31.000Z"
}
Field Type Description
themeId string Unique identifier extracted from the theme URL
name string Theme name
price number Price in USD. Free themes return 0.
priceText string Formatted price string (e.g., "$380 USD" or "Free")
description string Theme description from the detail page
designer string Theme designer or developer name
features array List of theme features by category
ratingPercent number Positive rating percentage
reviewCount number Total number of user reviews
presets array Available theme presets/variants
publisherAddress string Designer's contact address
publisherEmail string Designer's contact email
versionNumber string Current theme version
releaseDate string Theme release date
link string URL to the theme page on Shopify
imageUrl string Theme preview image URL
scrapedAt string ISO 8601 timestamp of when this record was scraped

Review data (when do_fetch_reviews is enabled)

Each theme record gets an additional reviews array:

{
    "themeId": "dawn",
    "name": "Dawn",
    "price": 0,
    "reviews": [
        {
            "reviewerName": "Kara M.",
            "reviewDate": "2025-11-14",
            "reviewText": "Clean and fast out of the box. Customization options are solid for a free theme.",
            "designerReply": "Thanks for the kind words, Kara."
        },
        {
            "reviewerName": "Shop Owners Co.",
            "reviewDate": "2025-10-02",
            "reviewText": "Decent theme but the mega menu is limited compared to paid options."
        }
    ]
}
Field Type Description
reviewerName string Name of the reviewer
reviewDate string Date the review was posted
reviewText string Full text of the review
designerReply string Designer's reply to the review, if one exists

FAQ

How many themes does Shopify Theme Store Scraper return? The Shopify Theme Store has roughly 280 themes. Set maxItems to 300 or higher to get all of them, or set it lower to grab a subset. The scraper stops as soon as it hits your limit.

How long does a full run take? A full scrape of all themes without reviews takes about 15-20 minutes. With reviews enabled, it depends on how many reviews each theme has — budget closer to an hour for a full catalog run with reviews.

What does the premium reviews feature cost? Review-enabled records are billed at a higher per-result rate than standard theme records. The exact cost depends on your Apify plan, but the tradeoff is straightforward: you get the actual words people wrote instead of just a number.

Can I scrape just free themes or just paid themes? Not directly through the input parameters. The scraper collects all themes and you filter afterward — the price field makes this trivial.

Does the scraper handle rate limiting? Yes. It runs with built-in delays and automatic retry logic. Shopify's theme store is not aggressive about blocking, but the scraper is polite about it anyway.

Need More Features?

Need custom fields, filters, or a different target site? File an issue or get in touch.

Why Use Shopify Theme Store Scraper?

  • Complete catalog coverage — Scrapes the entire Shopify Theme Store in one run, including fields like designer email and physical address that you will not find in any public API
  • Reviews with context — Most scrapers give you a star rating and call it a day. This one pulls the full review text and designer replies, which is where the actual signal lives.
  • Simple two-knob input — Set how many themes you want and whether you want reviews. That is the entire configuration.