Gumroad Scraper — Products, Discover & Creator Storefronts
Pricing
from $3.50 / 1,000 product results
Gumroad Scraper — Products, Discover & Creator Storefronts
Gumroad scraper for Discover search, category and tag listings, creator storefronts, and product URLs. Prices, ratings, sales counts, variants, and seller profiles. HTTP-only public data, no login.
Pricing
from $3.50 / 1,000 product results
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Gumroad, Inc or its affiliates. Data is read from publicly accessible pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Gumroad scraper for Apify — a Gumroad products scraper for Discover search, category / tag listings, creator storefronts, and product URLs. Built for digital product research, creator competitor tracking, and affiliate offer discovery. Export prices, ratings, sales counts, variants, and seller profiles as JSON. A practical Gumroad API alternative for Python, Node.js, Sheets, and MCP / AI assistants. HTTP-only (no browser).
Crawloop Marketplace & E-commerce Suite — marketplace scrapers for product discovery and pricing intelligence.
| Gumroad Scraper ◄── you are here | Creative Market Scraper | Etsy Scraper | Unity Asset Store Scraper |
|---|---|---|---|
| Gumroad Discover, storefronts & products | Fonts, templates, shops & license tiers | Handmade / POD search, shops, reviews | Game assets, prices, publishers |
Also see: Amazon Search Scraper · eBay Sold Listings Scraper · eBay Active Listings Scraper
When to use this Actor
- Gumroad Discover scraper — keyword, tag, or category listings with price, rating, and seller
- Gumroad product scraper — paste
/l/permalinkURLs for sales count, variants, description, and rating histogram - Creator storefront scraper — every public product on a Gumroad profile (subdomain or custom domain)
- Niche & affiliate research — Notion templates, presets, courses, memberships, 3D assets
- Gumroad API alternative — public-page dataset when you need structured rows, not a seller OAuth key
- Change monitor — scheduled runs that emit only new or changed products (price, ratings, sales)
When not to use this Actor
- Private purchases, payouts, or customer emails — public pages only; no login
- Seller-owned Gumroad API (your own products/subscribers) — use Gumroad’s official OAuth API instead
- Written review text / seller replies — v1 exports rating averages, counts, and (in details mode) the star histogram. Review bodies are not public without a session
- Creative Market fonts/templates, Etsy handmade catalogs, or Unity packages — use the sibling scrapers linked above
- Unlimited uncapped crawls — set
maxItems/maxPagesto control spend
Key features
- All-in-one Gumroad data — Discover search, tags, categories, storefronts, and product URLs in one Actor
- HTTP-first — Inertia
data-pageJSON on Discover/storefronts + public{product}.jsondetails. No headless browser - Sales counts & variants — optional details pass adds
salesCount, options/tiers, covers, attributes, refund policy - Typed dataset rows —
recordType:productwith seller, price, ratings, and source - Filters — price, rating, file type, native type (digital, course, membership, …), free/PWYW, verified sellers
- Monitor mode — remember products between runs; emit only
neworchanged - Caps that save budget —
maxItems,maxPages(36 products per Discover page) - Proxy optional — public catalog usually works without Apify Proxy
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | Array | — | Discover keyword queries |
tags | Array | — | Discover tag slugs |
categories | Array | — | Taxonomy slugs (design, software-development, 3d, …) |
startUrls | Array | — | Discover, product, or storefront URLs (auto-detected) |
productUrls | Array | — | Direct /l/permalink product links |
sellerUrls | Array | — | Creator storefront URLs |
sort | String | featured | newest / hot_and_new / best_sellers / highest_rated |
minPrice / maxPrice | Number | 0 | Price filter (0 = off) |
minRating | Number | 0 | Minimum average stars |
fileTypes | Array | — | Discover file-type filter (pdf, zip, mp4, …) |
nativeTypes | Array | — | digital, course, ebook, membership, … |
freeOnly | Boolean | false | Free or pay-what-you-want only |
payWhatYouWantOnly | Boolean | false | PWYW listings only |
sellerVerifiedOnly | Boolean | false | Verified creators only |
scrapeDetails | Boolean | false | Extra .json request per Discover/storefront hit (sales, description, options) |
includeHtmlDescription | Boolean | false | Add descriptionHtml when details are scraped |
maxItems | Integer | 50 | Hard product cap (0 = unlimited) |
maxPages | Integer | 0 | Discover page cap per query (0 = unlimited) |
monitorMode | Boolean | false | Emit only new & changed rows |
monitorKey | String | default | Isolated monitor memory per saved search |
requestDelaySecs | Number | 0.2 | Delay between HTTP requests |
proxyConfiguration | Object | off | Enable only if you see 403/429 |
Provide at least one of: searchQueries, tags, categories, startUrls, productUrls, sellerUrls.
Input example — Discover search
{"searchQueries": ["notion template"],"sort": "best_sellers","maxItems": 50,"scrapeDetails": false}
Input example — product URLs + details
{"productUrls": ["https://goodsnooze.gumroad.com/l/macwhisper"],"scrapeDetails": true,"maxItems": 10}
Input example — creator storefront
{"sellerUrls": ["https://goodsnooze.gumroad.com"],"maxItems": 100}
Output Format
| Field | Description |
|---|---|
recordType | product |
id / permalink | Gumroad product id and URL slug |
name / url | Title and canonical product URL |
nativeType | digital, course, membership, … |
price / priceCents / currencyCode / priceFormatted | Listed price |
isPayWhatYouWant | Buyer-set price |
ratingsAverage / ratingsCount / ratingsPercentages | Stars (histogram needs details) |
salesCount | Public sales count (details or product URL) |
sellerName / sellerUrl / sellerVerified | Creator |
sellerTwitter / sellerYoutubeChannelId | Public socials from the storefront |
description / options / attributes / coverUrls | Details pass |
source | discover / storefront / product_url |
monitorChange | new or changed when monitor mode is on |
scrapedAt | UTC timestamp |
Discover cards do not include salesCount. Turn on scrapeDetails (or pass productUrls) to fill sales, description, variants, and the rating histogram.
{"recordType": "product","permalink": "macwhisper","name": "MacWhisper","url": "https://goodsnooze.gumroad.com/l/macwhisper","nativeType": "digital","priceCents": 0,"currencyCode": "eur","ratingsAverage": 4.5,"ratingsCount": 2618,"salesCount": 570054,"sellerName": "Jordi Bruin","sellerVerified": true,"source": "product_url"}
Use cases
- Validate a digital-product niche (templates, presets, courses) before you build
- Track competitor prices, ratings, and public sales counts on a schedule
- Build an affiliate shortlist from Discover best sellers in a category
- Export a creator’s full public catalog from their Gumroad storefront
- Feed MCP / AI assistants a structured Gumroad dataset instead of HTML
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/gumroad-scraper').call({searchQueries: ['notion template'],maxItems: 50,scrapeDetails: false,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("crawloop/gumroad-scraper").call(run_input={"searchQueries": ["notion template"],"maxItems": 50,"scrapeDetails": False,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items[:5])
cURL
curl "https://api.apify.com/v2/acts/crawloop~gumroad-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries":["notion template"],"maxItems":20}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP.
Connect your Apify account, then call this Actor by its Store ID crawloop/gumroad-scraper.
Example prompts:
- "Run Gumroad Scraper for search query notion template, max 30 products, and return name, price, rating, and URL as JSON"
- "Scrape the Gumroad storefront for a creator URL and list every public product with price and ratings"
- "Chain Gumroad Scraper then Creative Market Scraper to compare digital products vs design-asset listings in the same niche"
Suite next step
After a Gumroad catalog dump, run Creative Market Scraper for fonts, templates, and license-price comps, or Etsy Scraper for handmade / POD. Game assets: Unity Asset Store Scraper.
FAQ
Does this use the official Gumroad API? No. The seller API is for your own products. This Actor reads the same public Discover, storefront, and product JSON any visitor gets in the browser.
Why is sales count empty?
Discover cards omit sales. Enable scrapeDetails or pass productUrls.
Can I scrape custom-domain Gumroad shops?
Yes — paste the shop URL in sellerUrls or startUrls. The Actor detects the Inertia Users/Show storefront payload.
Do I need a proxy? Usually not. Turn on Apify Proxy only if Discover starts returning 403/429.
Are written reviews included? Not in v1. You get rating average, count, and (with details) the star histogram.
Related Actors
- Creative Market Scraper — fonts, templates, shops, licenses
- Etsy Scraper — search, shops, reviews
- Unity Asset Store Scraper — packages, prices, monitor
- Amazon Search Scraper — marketplace SERP
- eBay Sold Listings Scraper — sold comps