Gumroad Creator Lookup: Products, Prices and Ratings
Pricing
from $2.00 / 1,000 product returneds
Gumroad Creator Lookup: Products, Prices and Ratings
Gumroad scraper: paste a creator or product URL to list every product from a Gumroad creator with price, currency, rating, ratings count and type, free and pay what you want flagged. Get a product's description and options by URL. Compare creators' product prices in Google Sheets or CSV. No login.
Pricing
from $2.00 / 1,000 product returneds
Rating
0.0
(0)
Developer
Adriana Voss
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Paste a Gumroad creator or product URL and get every product with its price, currency, rating, ratings count and type. No login, no key. Paste a single product URL to also get its description and options.
Who uses it: people sizing up a creator niche before they launch a Notion template, course or asset pack; agencies and partnership scouts listing a creator's whole catalogue; sellers tracking a competitor's price points; anyone feeding Gumroad products into a spreadsheet, n8n, Clay or an AI agent.
What you get
One row per product. A creator with many products is paged for you (9 per page), up to the cap you set.
| Field | Meaning |
|---|---|
name, url, productId | The product and its canonical link |
price, currency, isPayWhatYouWant | Price in the product's own currency; 0 is a real free product |
ratingAverage, ratingCount | The product rating; ratingAverage is empty when nobody has rated it |
nativeType, recurrence, section | digital / physical / membership, billing period, and the shelf on the profile |
creatorName, creatorRatingAverage, creatorProductCount | The creator, with the rating roll-up Gumroad shows when it shows one |
salesCount | Product-URL input only, and only when the seller shows it on the page (usually empty) |
description, summary, variantCount | Product-URL input only |
Values the page does not show come back empty (null), never as 0.
Example rows
A creator row set (productivesetups, one row per product, trimmed):
{"query":"productivesetups","found":true,"status":"OK","kind":"creator","creatorName":"Productive Setups","productId":"hpqcg","name":"Headquarters Notion Productivity Template","url":"https://productivesetups.gumroad.com/l/hpqcg","price":79,"currency":"AUD","isPayWhatYouWant":false,"ratingAverage":5,"ratingCount":200,"nativeType":"digital","section":"PREMIUM RESOURCES","salesCount":null}
A creator with nothing listed returns no billable row. An unknown creator returns one row with "found": false, "status": "NOT_FOUND" and is never charged.
Price
Pay per event: $4 per 1,000 products returned at the entry tier, less on higher Apify plans, plus a $0.003 start fee. A creator with no products and an unknown creator or product cost nothing. Set "Most products per creator" to cap spend.
How to use
- In the Apify Console. Open the actor page and click Start — the
profilesfield is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found. - Via the API. Call it directly with a POST request — no Console needed once you have an API token:
curl "https://api.apify.com/v2/acts/accountable_eel~gumroad-creator-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"profiles":["productivesetups","aliabdaal"]}'
- On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.
Input
{"profiles": ["productivesetups","aliabdaal"]}
One per line: a creator username (aliabdaal), a profile URL (https://aliabdaal.gumroad.com/) or a single product URL (https://aliabdaal.gumroad.com/l/PHPXy). A creator returns one row per product; a product URL returns that one product with its description. No login. Accepted formats: aliabdaal, https://productivesetups.gumroad.com/, https://aliabdaal.gumroad.com/l/PHPXy.
Set Most products per creator (default 50) to limit a large catalogue; Max results caps the whole run.
Output
| query | found | status | kind | creatorName | creatorUsername | creatorUrl | creatorBio | creatorVerified | creatorRatingAverage | creatorRatingCount | creatorProductCount | productCount | totalAvailable | truncated | products | productId | name | url | price | currency | isPayWhatYouWant | nativeType | ratingAverage | ratingCount | salesCount | recurrence | quantityRemaining | thumbnailUrl | section | summary | description | variantCount | scrapedAt |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| productivesetups | true | OK | <creator rating (average)> | <creator products (all)> | <all products (full list)> | <rating (average)> | <options / tiers> | 1970-01-01T00:00:00.000Z |
A miss comes back as a row with "found": false and is never charged.
Pay-per-event. A flat per-run fee covers session/proxy warmup; you're billed
per item only when data is actually found and returned — see
.actor/pay_per_event.json for exact prices. A miss is never charged.
Use it from Clay, n8n, Make, or an AI agent
This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.
curl "https://api.apify.com/v2/acts/accountable_eel~gumroad-creator-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"profiles":["productivesetups","aliabdaal"]}'
n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~gumroad-creator-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"profiles":["productivesetups","aliabdaal"]} (swap in an expression from an earlier node for a real value).
Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~gumroad-creator-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"profiles":["{{creator or product}}"]}, mapping the row's creator or product into the profiles array.
MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "gumroad scraper" — the agent will find and run this actor.
Limits
- Public pages only: no login, no purchases, no buyer or customer data.
- Gumroad shows sales counts only where the seller chose to show them;
salesCountis mostly empty. - Creators on a custom domain (not
name.gumroad.com) are not supported. - A creator's profile shelves are paged 9 at a time; if Gumroad refuses a later page the run keeps what it has and marks
truncated.
Example runs
Three keyless runs, no key or login needed. Run 1 is a real run (build 1.0.1, 256 MB, 34 rows in under 2 seconds of crawling, about $0.0005 of platform usage); runs 2 and 3 use the same code paths as the saved-page tests.
1. Two creators. {"profiles":["productivesetups","aliabdaal"]} returned 34 products: 33 for productivesetups (the 25-product free shelf paged over three requests, plus two premium shelves of 4) and 1 for aliabdaal. price was filled on 34 of 34, ratingAverage on 31 of 34, salesCount on 0 of 34 (the sellers do not show it).
2. One product URL. {"profiles":["https://aliabdaal.gumroad.com/l/PHPXy"]} returns one row for that product with the full description, summary and variantCount.
3. A creator that does not exist. {"profiles":["zzqqxx-no-such-creator-91"]} returns one row, "found": false, "status": "NOT_FOUND", and is not charged.