Gumroad Product Scraper
Pricing
from $0.60 / 1,000 product scrapeds
Gumroad Product Scraper
Extract Gumroad digital products: name, price, ratings, seller info, product type, and more. Scrape by keyword search, seller profile, or direct product URL. No API key needed.
Pricing
from $0.60 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
🛒 What does Gumroad Product Scraper do?
Gumroad Product Scraper extracts digital product data from Gumroad — the leading marketplace for indie creators selling ebooks, courses, templates, software, and more.
You can scrape by:
- 🔍 Search keywords — find all products matching "notion template", "python course", or any other term
- 🏷️ Category/tag — scrape all products in a category (e.g. design, education, development)
- 📦 Product URL — extract data from a specific product page
- 👤 Seller profile — collect every product from a specific creator
The scraper extracts product name, price, ratings, seller info, product type, thumbnail, tags, description, and more — no API key required.
👥 Who is Gumroad Product Scraper for?
Market researchers tracking pricing and demand across the creator economy.
Indie hackers and entrepreneurs studying what digital products are selling in their niche before launching their own.
Affiliate marketers building product comparison sites in Gumroad niches.
Data analysts studying the creator economy, ebook market, or digital goods pricing trends.
Developers and agencies building tools for clients who sell on Gumroad.
Investors and VCs validating market size for creator economy opportunities.
🌟 Why use Gumroad Product Scraper?
- ✅ No API key or Gumroad account needed — public data, no authentication
- ✅ No proxy required — Gumroad serves HTML without bot blocking
- ✅ Paginated search — automatically loops through all result pages
- ✅ Multiple input modes — search, product URL, seller profile, or discover URL
- ✅ Optional detail enrichment — fetch full description, attributes, and covers
- ✅ Structured JSON output — ready for spreadsheets, databases, or analytics tools
- ✅ Cheap to run — HTTP-only, 256 MB, fast
📊 What data does it extract?
| Field | Description |
|---|---|
name | Product title |
productUrl | Full canonical product URL |
permalink | Gumroad short ID |
priceUsd | Price in USD (float) |
priceCents | Raw price in cents |
currency | Currency code (usd, eur, etc.) |
isPayWhatYouWant | PWYW flag |
productType | Type: ebook, course, template, bundle, software, etc. |
ratingAverage | Average star rating (1–5) |
ratingCount | Total number of ratings/reviews |
sellerName | Creator display name |
sellerProfileUrl | Creator's Gumroad profile URL |
sellerVerified | Whether creator is Gumroad-verified |
thumbnailUrl | Product cover/thumbnail image URL |
description | Short product summary |
descriptionHtml | Full HTML description (when detail fetch enabled) |
salesCount | Number of sales (when available) |
isPhysical | Physical product flag |
isSubscription | Recurring billing/subscription flag |
tags | Tags from search aggregation |
attributes | Product attributes (pages, file size, etc.) |
scrapedAt | ISO 8601 timestamp |
💡 How much does it cost to scrape Gumroad products?
This actor uses Pay-Per-Event (PPE) pricing — you pay only for what you collect:
| Event | FREE tier | What it covers |
|---|---|---|
| Actor start | $0.005 | One-time per run |
| Product scraped | $0.001 | Per product saved |
Example costs:
- 100 products: ~$0.105
- 500 products: ~$0.505
- 1,000 products: ~$1.005
Higher Apify subscription tiers (Bronze, Silver, Gold, Platinum, Diamond) get up to 60% discount on per-product pricing. No Apify subscription? You still get a generous free tier.
🚀 How to scrape Gumroad products — step by step
- Open Gumroad Product Scraper on Apify
- Enter your search — type keywords like
notion templateorpython coursein Search queries - Set max results — choose how many products to collect per query (default: 50)
- Optional: paste URLs — add specific product, seller, or Gumroad Discover URLs
- Click Start — the actor runs and populates your dataset
- Download results — export as JSON, CSV, or Excel from the dataset tab
⚙️ Input configuration
Search queries
List of keywords to search on Gumroad Discover. One search per line. Example:
notion templatepython coursefigma ui kit
Start URLs
Gumroad URLs to scrape directly. Supports:
- Product page:
https://seller.gumroad.com/l/permalink - Seller profile:
https://seller.gumroad.com - Discover/category:
https://gumroad.com/discover?tags[]=design
Max results per query/URL
Maximum number of products to collect per query or URL. Set to 0 for unlimited. Default: 50.
Fetch product details
When enabled, visits each product page to retrieve: full HTML description, short summary, product attributes (pages, size, length), and additional cover images. Adds one extra HTTP request per product but significantly enriches the data.
Sort by
How to order search results:
- Featured (default) — Gumroad's editorial ranking
- Newest — most recently published
- Top rated — highest rated products first
- Most reviewed — most reviewed products first
📤 Output format
Each product is stored as a JSON object in the dataset:
{"name": "The Freelancer's SEO Playbook","permalink": "xgdmn","productUrl": "https://johndoe.gumroad.com/l/xgdmn","priceUsd": 29.00,"priceCents": 2900,"currency": "usd","isPayWhatYouWant": false,"productType": "ebook","ratingAverage": 4.9,"ratingCount": 143,"sellerName": "John Doe","sellerProfileUrl": "https://johndoe.gumroad.com","sellerVerified": false,"thumbnailUrl": "https://public-files.gumroad.com/...","description": "A complete SEO guide for freelancers...","descriptionHtml": null,"salesCount": null,"isPhysical": false,"isSubscription": false,"tags": ["seo", "freelance", "marketing"],"attributes": [],"scrapedAt": "2026-04-06T12:00:00.000Z"}
💡 Tips for best results
- Use specific keywords —
notion productivity templatereturns more relevant results than justtemplate - Combine search + profile scraping — search for a niche, then deep-dive on top sellers
- Disable detail fetch for bulk — scraping 1,000 products is 2x faster without detail pages
- Use discover URLs for categories — go to Gumroad, filter by category/tag, then copy the URL and paste it as a start URL
- Set maxResults = 0 carefully — popular queries can have 10,000+ products
🔗 Integrations
Export to Google Sheets for market research
Run a search → download CSV → import to Sheets → sort by ratingAverage and ratingCount to find proven products in your niche.
Build a product comparison dashboard
Use the Apify API to feed Gumroad data into a Notion database, Airtable, or custom app for your content site.
Automate competitor monitoring
Schedule weekly runs on specific seller profiles to track new product launches and price changes from competitors.
Zapier / Make automation
Trigger Zapier or Make scenarios when new products appear in your target niche — send Slack alerts, add to CRM, or update databases.
🤖 API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/gumroad-product-scraper').call({searchQueries: ['notion template', 'figma ui kit'],maxResults: 100,fetchProductDetails: false,sortBy: 'top_rated',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/gumroad-product-scraper").call(run_input={"searchQueries": ["notion template", "figma ui kit"],"maxResults": 100,"fetchProductDetails": False,"sortBy": "top_rated",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["name"], item["priceUsd"])
cURL
curl -X POST \'https://api.apify.com/v2/acts/automation-lab~gumroad-product-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"searchQueries": ["notion template"],"maxResults": 50,"sortBy": "featured"}'
🤖 Use with AI agents via MCP
Gumroad Product Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Your AI assistant will use OAuth to authenticate with your Apify account on first use.
Example prompts
Once connected, try asking your AI assistant:
- "Use automation-lab/gumroad-product-scraper to search for 'notion template' and find the top 20 products sorted by rating"
- "Get all products from Gumroad seller profile https://johndoe.gumroad.com"
- "Find the cheapest ebooks on Gumroad tagged 'marketing' using gumroad-product-scraper"
Learn more in the Apify MCP documentation.
⚖️ Is scraping Gumroad legal?
This actor only collects publicly available data — the same information visible to any visitor without logging in. No authentication, private data, or paywalled content is accessed.
Web scraping of public data is protected under the Computer Fraud and Abuse Act (CFAA) and affirmed by multiple court rulings (hiQ v. LinkedIn, 2022). Always use scraped data responsibly and in accordance with applicable laws in your jurisdiction.
❓ FAQ
Does the actor require a Gumroad account or API key? No — it accesses only public pages, just like a normal browser visit. No login required.
Does it need a proxy? No. Gumroad returns standard HTTP 200 responses without bot-blocking. This makes runs fast and cheap.
Can I scrape all products from a specific seller?
Yes — paste the seller's Gumroad profile URL (e.g. https://johndoe.gumroad.com) as a start URL and set maxResults to 0 for unlimited.
Why is salesCount null for some products?
Gumroad does not expose exact sales counts publicly in most cases. The field is null when Gumroad hides this data.
The actor returned fewer results than expected — why?
Gumroad's search may return fewer results than the total count suggests if some products are unpublished, region-restricted, or removed mid-scrape. This is a Gumroad-side limitation.
I'm getting empty results for a query — what should I try? Try a simpler query (fewer words), check the spelling, or try the URL of a Gumroad Discover search with your filters applied.
🔗 Related scrapers
- Etsy Scraper — scrape Etsy digital product listings
- Amazon Scraper — extract Amazon product data at scale
- WooCommerce Scraper — scrape WooCommerce stores