
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape Gumroad products from Discover search, creator profiles and product URLs: prices, ratings, sales counts, creators, descriptions and covers. No login needed.
Pull Gumroad products straight from Discover search, from any creator's profile, or from a list of product links, and get clean JSON with prices, ratings, review counts, sales counts, creators, full descriptions, cover images and variants. Filter by keyword, category, tags, file type, price and rating, and sort like the Discover page does. No login, no API key, fast and cheap.
| Field | What it does |
|---|---|
searchQueries | Keywords to search on Gumroad Discover, one search each. |
startUrls | Product URLs (creator.gumroad.com/l/slug, gum.co/slug), creator profiles (creator.gumroad.com) and Discover URLs (gumroad.com/discover?query=..., gumroad.com/design/icons?sort=best_sellers). |
maxProducts | Products per keyword, Discover URL or creator (default 20, 0 = no limit). |
category | Discover category, e.g. design/icons or 3d/3d-assets. Used alone it browses the category. |
tags, fileType | Products with any of these tags or file types. |
minPrice, maxPrice | Price range in US dollars. |
minRating | 1 to 4 stars and up. |
sort | featured, best_sellers, hot_and_new, newest, highest_rated, most_reviewed, price_asc, price_desc. |
includeDetails | Open each product page for the full description, sales count, covers, variants and more (default on). |
{
"searchQueries": ["notion template"],
"category": "self-improvement/productivity",
"minRating": 4,
"sort": "best_sellers",
"maxProducts": 50,
"startUrls": ["https://examplecreator.gumroad.com"]
}
| Field | Description |
|---|---|
name, url, id, permalink | Product name, clean product URL and Gumroad IDs |
price, currency, price_cents, currency_code | Price in major units and in cents with the creator's currency |
is_pay_what_you_want, suggested_price, recurrence, recurrences | Pricing model, suggested price and subscription options |
rating, ratingCount, ratings | Average rating, number of ratings and the 1-to-5 star breakdown |
salesCount | Number of sales, when the creator shows it |
sellerName, sellerProfileUrl, sellerId, sellerVerified, sellerTwitter, seller, seller_reputation | Creator details and overall creator rating |
native_type | Product type (digital, course, ebook, membership, bundle, ...) |
thumbnail_url, coverImageUrls, covers | Thumbnail and all cover images |
description, description_html, summary | Full description as text and HTML, plus the short summary |
attributes, options | Product attributes (size, format, pages, ...) and variants with prices |
refund_policy, is_physical, is_recurring_billing, is_tiered_membership, preorder, free_trial, rental, bundle_products | Other product settings |
input, inputType, position, category, detailsScraped, scrapedAt | Which input found the product, its position and when it was scraped |
Example (shortened):
{
"name": "Ultimate Planner Template",
"url": "https://examplecreator.gumroad.com/l/planner",
"price": 19.0,
"currency": "USD",
"price_cents": 1900,
"is_pay_what_you_want": false,
"rating": 4.8,
"ratingCount": 312,
"salesCount": 5400,
"sellerName": "Example Creator",
"sellerProfileUrl": "https://examplecreator.gumroad.com/",
"native_type": "digital",
"description": "An all-in-one planner for your goals, habits and projects...",
"attributes": [{"name": "Size", "value": "2.1 MB"}],
"ratings": {"count": 312, "average": 4.8, "percentages": [1, 1, 2, 8, 88]},
"input": "notion template",
"inputType": "search",
"position": 1,
"detailsScraped": true
}
You pay $8.00 per 1,000 products saved (less than a cent each), plus a small amount of platform usage (compute and datacenter proxy traffic), typically well under a cent per 100 products. A search for 100 products with full details costs about $0.80 in total. Empty searches and invalid links are free.
Is it legal to scrape Gumroad? The actor only reads public product and profile pages that anyone can open without an account. Check Gumroad's terms and your local laws for how you use the data.
Do I need a Gumroad account or a proxy? No login is needed. Datacenter proxies are set by default and work well.
How many products can I get? Gumroad's search returns every matching product, so large keywords and categories give tens of thousands. Set maxProducts to 0 for no limit.
Why is salesCount empty for some products? Gumroad shows the sales count only when the creator enables it. Fields the product page does not have stay empty.
What is the difference between search data and product page details? Search data has the name, price, rating, creator and thumbnail. With includeDetails on (default) you also get the full description, sales count, covers, variants, attributes and refund policy.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start runs and read the dataset through the API.
/l/ link (or a gum.co link).Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchQueriesarrayOptionalSearch keywords
Keywords to search on Gumroad Discover, one per line (e.g. 'notion template', 'lightroom presets'). Each keyword is a separate search. Leave empty to browse a category or all products.
startUrlsarrayOptionalGumroad URLs
Product URLs (creator.gumroad.com/l/product, gum.co links), creator profile URLs (creator.gumroad.com) to get all of a creator's products, or Discover URLs (gumroad.com/discover?query=..., gumroad.com/design/icons?sort=best_sellers).
maxProductsintegerOptionaldefault 20Max products per search or creator
How many products to save for each keyword, Discover URL or creator profile. 0 means no limit. Product URLs are always all saved.
categoryenumOptionaldefault "all"Category
Limit searches to a Discover category. You can also type a path such as 'design/icons'.
tagsarrayOptionalTags
Only products with any of these tags (e.g. 'notion template', 'planner').
fileTypearrayOptionalFile types
Only products containing any of these file types (e.g. pdf, zip, mp4, fig).
minPricenumberOptionalMin price (USD)
Lowest price in US dollars (Gumroad converts other currencies).
maxPricenumberOptionalMax price (USD)
Highest price in US dollars. Leave empty for no limit.
minRatingintegerOptionaldefault 0Min rating
Only products rated at least this many stars (1 to 4). 0 means any rating.
sortenumOptionaldefault "featured"Sort by
Order of search results.
includeDetailsbooleanOptionaldefault trueOpen each product page
Adds the full description, sales count (when the creator shows it), all cover images, variants, attributes (file size, format, etc.), rating breakdown and refund policy. Turn off for faster runs with search data only.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work well for Gumroad.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| thumbnail_url | any | Image |
| name | any | Product |
| url | any | URL |
| price | any | Price |
| currency | any | Currency |
| rating | any | Rating |
| ratingCount | any | Reviews |
| salesCount | any | Sales |
| sellerName | any | Creator |
| sellerProfileUrl | any | Creator page |
| native_type | any | Type |
| input | any | Input |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Product | Charged for each Gumroad product saved, with or without product page details. Empty searches and invalid links are free. | $0.008 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/gumroad-scraper').call({
"searchQueries": [
"notion template"
],
"maxProducts": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/gumroad-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/gumroad-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Products from $1 to $50 rated 4+ stars.
Products from a Gumroad creator profile.
Latest products in a category with details.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.