E-commerce
Gumroad Product & Creator Scraper
Scrape Gumroad Discover, creator storefronts, and product pages into one typed schema — pricing, ratings, seller signals — no Gumroad account or API.
Free Apify credit covers a first run. No credit card to try.
What this Actor scrapes
Gumroad renders every page — Discover search results, creator storefronts, and individual product pages — through an Inertia.js single-page app: the entire dataset for that page is embedded as one HTML-entity-encoded JSON blob inside a data-page attribute, and each of the three page types exposes a different subset of fields under a different shape. This Actor normalizes all three into one consistent row schema.
Point it at a Discover query with filters (category, tags, filetype, price, rating, sort), a creator's storefront URL, a list of direct product URLs, or any combination of the three — it de-duplicates overlapping products found across modes and stops the instant your result cap is hit.
What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox / Safari TLS handshakes on every run. - 🔁 Retries with exponential backoff on
429/5xxresponses — up to 5 attempts,Retry-Afterhonoured. - 🧩 Three input modes, one schema — Discover search, creator storefront, and direct product URL all normalize to the same
ResultRowshape, with cross-mode de-duplication on product ID. - 🧊 Clean, typed dataset rows — Pydantic-validated fields, ISO-8601 timestamps, stable IDs. Export as JSON, CSV, or Excel directly from Apify Console.
- 💰 Pay-Per-Event pricing — you pay only for results that land. No data, no charge beyond the small start fee.
Use cases
- Reseller / dropship research — scan Discover by category, tag, or price band to find products worth reselling or bundling.
- Indie-hacker market research — pull a competitor category's full price and rating spread before shipping a similar product.
- Affiliate offer-hunting — filter Discover by rating and sales signal to shortlist products worth promoting.
- Pricing intelligence — snapshot a creator's or category's price points on a recurring schedule to track how they move.
- Creator monitoring — point Creator URLs at a storefront to track new listings and price changes over time.
Input
Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.
| Field | Type | Required | What it does |
|---|---|---|---|
searchQuery | string | no | Free-text query for Gumroad's Discover search (gumroad.com/discover?query=...). One of Search query / Category / Tags / Filetypes / Creator URLs / Product URLs must be set. |
category | string | no | Gumroad taxonomy slug to filter Discover search (Discover mode only). |
tags | array | no | Gumroad tag slugs to filter Discover search (Discover mode only). |
filetypes | array | no | File extensions to filter Discover search, e.g. pdf, zip (Discover mode only). |
minPrice | number | no | Minimum price in whole currency units (Discover mode only). Free items pass regardless of this filter. |
maxPrice | number | no | Maximum price in whole currency units (Discover mode only). |
minRating | number | no | Minimum average product rating, 1–5 (Discover mode only). |
sortBy | string | no | Sort order for Discover search results (Discover mode only). Omit for Gumroad's default relevance ordering. |
creatorUrls | array | no | Gumroad creator storefronts to scrape — a bare username (somecreator) or full URL (https://somecreator.gumroad.com/). Every product listed on the storefront snapshot is emitted. |
productUrls | array | no | Direct Gumroad product URLs, e.g. https://somecreator.gumroad.com/l/permalink. Emits the full product-detail field set (description, sales count). |
maxResults | integer | no | Cap on total emitted, de-duplicated rows across all combined input modes. |
{
"searchQuery": "notion template",
"maxResults": 3,
"proxyConfiguration": {
"useApifyProxy": false
}
} Output
One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.
product_idnameurlseller_nameprice_centscurrency_coderating_averagerating_countis_subscriptionsource_mode
{
"product_id": "ir1eqsEjUjZiCnrtMQiL7g==",
"permalink": "txjewq",
"name": "Italy Arrival Blueprint: Your First 90 Days in Italy",
"url": "https://michelwilfried.gumroad.com/l/txjewq",
"seller_name": "MICHEL WILFRIED",
"seller_profile_url": "https://michelwilfried.gumroad.com/",
"seller_username": "michelwilfried",
"seller_is_verified": false,
"thumbnail_url": "https://public-files.gumroad.com/627orhogh8f08xjlw36t5yrfym47",
"native_type": "digital",
"price_cents": 2700,
"currency_code": "usd",
"is_pay_what_you_want": false,
"is_subscription": false,
"recurrence": null,
"duration_in_months": null,
"rating_average": 4.8,
"rating_count": 52,
"sales_count": null,
"category": null,
"tags": [],
"description": "Most Expats Waste Months Figuring Out Italian Bureaucracy...",
"source_mode": "product_url",
"scraped_at": "2026-07-20T21:45:00Z"
} Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.20 | Once per run, covers warm-up and proxy session setup. |
| Product result | $0.0025 | Per result written to the dataset. |
You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.
Limitations
- No purchase/download/license flows — we never touch
/purchases/or any authenticated Gumroad endpoint. - Creator mode is a storefront snapshot — Gumroad's profile page shows a curated product list, not a verified-exhaustive catalog. Combine with Product URLs for guaranteed coverage of specific listings.
- No seller contact or review-text scraping — existing single-purpose Actors already cover that ground.
- Point-in-time snapshot — this Actor does not track historical price or sales changes across runs.
FAQ
Is this legal?
robots.txt disallows only /purchases/, and we never touch purchase, download, or license flows.Does Creator mode return a seller's entire catalog?
Why are `category` and `tags` null on some rows?
category: null, tags: [].Can I get sales counts?
null fairly often.Do I need a Gumroad account or API key?
Ready to run it?
Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.
Related Actors