# Gumroad Product Details Scraper (`nifty.codes/gumroad-productdetails-scraper`) Actor

Extract product names, sales counts, prices, ratings, and seller details from individual Gumroad product pages. Powered by Gumroad Scraper.

- **URL**: https://apify.com/nifty.codes/gumroad-productdetails-scraper.md
- **Developed by:** [Nifty](https://apify.com/nifty.codes) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Introduction

This actor extracts Product Details from Gumroad. It collects metadata from individual product pages including sales volume, pricing structures, seller information, and rating distributions. It is designed for market research and competitor analysis on the Gumroad platform.

## Data Fields

| Field Name | Description | Example |
| --- | --- | --- |
| Product Name | The title of the product | "Digital Art Brush Pack" |
| Permalink | The unique URL slug | "brush-pack-v1" |
| Product URL | The full URL of the product | "https://gumroad.com/l/brush-pack-v1" |
| Long URL | The canonical URL | "https://seller.gumroad.com/l/brush-pack-v1" |
| Seller ID | Unique identifier for the seller | "123456789" |
| Seller Name | Display name of the creator | "ArtStudio Pro" |
| Seller Avatar URL | Link to seller profile image | "https://public-files.gumroad.com/avatar.png" |
| Seller Profile URL | Link to seller store page | "https://artstudio.gumroad.com" |
| Main Cover ID | ID of the primary cover image | "cover_001" |
| All Images | Array of all product image URLs | ["url1", "url2"] |
| Thumbnail URL | Small preview image link | "https://public-files.gumroad.com/thumb.png" |
| Is Published | Boolean status of the listing | true |
| Is Stream Only | If the content is video stream only | false |
| Streamable | If the content can be streamed | true |
| Sales Count | Total number of sales | 450 |
| Summary | Short product summary | "High quality brushes for Procreate." |
| Description | Full HTML or text description | "Detailed description of the pack..." |
| Ratings Count | Total number of reviews | 85 |
| Average Rating | Mean star rating | 4.8 |
| Rating Percentages | Breakdown of star ratings | {"5": 80, "4": 5} |
| Currency Code | Three-letter currency code | "USD" |
| Price (Cents) | Price in smallest currency unit | 2500 |
| Price Display | Formatted price string | "$25" |
| Rental Price (Cents) | Price for rentals if applicable | 0 |
| Pay What You Want Suggested Price (Cents) | Suggested price for PWYW | 1000 |
| Eligible For Installment Plans | If installments are allowed | false |
| Allow Installment Plan | If installments are active | false |
| Installment Plan Details | Terms of payment plans | null |
| Is Legacy Subscription | If using old subscription model | false |
| Is Tiered Membership | If product has membership tiers | false |
| Is Physical | If product is a physical good | false |
| Is Multiseat License | If license covers multiple users | true |
| Product Type | Category of the product | "digital_product" |
| Is Quantity Enabled | If buyers can select quantity | false |
| Free Trial Duration | Length of trial in days | 0 |
| Recurrences | Subscription billing cycles | null |
| Product Options | Available variants or versions | ["Standard", "Extended"] |
| Is Compliance Blocked | If product is restricted | false |
| Attributes | Custom product attributes | {"software": "Procreate"} |
| Analytics | Internal analytics data | {} |
| Has Third Party Analytics | If external tracking is used | true |
| Refund Policy | Text of the refund policy | "No refunds on digital goods." |
| Bundle Products | List of products in bundle | [] |
| Public Files | List of accessible files | ["readme.pdf"] |
| Audio Previews Enabled | If audio previews are active | false |

## Input

- `urls`: Array of Gumroad product page URLs. Example: `https://gumroad.com/l/example-product`.
- `maxItems`: Maximum number of items to process per URL. Default is 100.

## Example Input

```json
{
  "urls": ["https://gumroad.com/l/digital-product-sample"],
  "maxItems": 10
}
````

## Example Output

```json
[
  {
    "productName": "Advanced Shader Pack",
    "permalink": "shader-pack",
    "productUrl": "https://gumroad.com/l/shader-pack",
    "sellerName": "Graphics Master",
    "salesCount": 1200,
    "averageRating": 4.9,
    "priceCents": 1500,
    "currencyCode": "USD",
    "isPhysical": false
  },
  {
    "productName": "Python Automation Script",
    "permalink": "python-script",
    "productUrl": "https://gumroad.com/l/python-script",
    "sellerName": "Code Solutions",
    "salesCount": 350,
    "averageRating": 4.5,
    "priceCents": 4900,
    "currencyCode": "USD",
    "isPhysical": false
  }
]
```

#### Want more from Gumroad?

This actor only covers **Product Details**. The full **Gumroad Scraper** browser extension also includes **Products in a List, Reviews in a List** with unlimited personal use, real-time scraping with your logged-in sessions, CSV/Excel/JSON export, field customization, and scheduled monitoring.

**[Get the Gumroad Scraper extension](https://nifty.codes/e/gumroad-scraper)**

## Disclaimer

This tool extracts publicly available data. Users are responsible for compliance with applicable terms of service.

# Actor input Schema

## `urls` (type: `array`):

URLs to scrape. Must match: gumroad.com

## `maxItems` (type: `integer`):

Maximum number of items to extract per URL

## Actor input object example

```json
{
  "urls": [
    "https://usamaakrm.gumroad.com/l/100-premium-n8n-templates"
  ],
  "maxItems": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("nifty.codes/gumroad-productdetails-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("nifty.codes/gumroad-productdetails-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call nifty.codes/gumroad-productdetails-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nifty.codes/gumroad-productdetails-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Gumroad Product Details Scraper",
        "description": "Extract product names, sales counts, prices, ratings, and seller details from individual Gumroad product pages. Powered by Gumroad Scraper.",
        "version": "3.2",
        "x-build-id": "cvHaf5ddEfVzpSzcw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nifty.codes~gumroad-productdetails-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nifty.codes-gumroad-productdetails-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/nifty.codes~gumroad-productdetails-scraper/runs": {
            "post": {
                "operationId": "runs-sync-nifty.codes-gumroad-productdetails-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/nifty.codes~gumroad-productdetails-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-nifty.codes-gumroad-productdetails-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "URLs",
                        "type": "array",
                        "description": "URLs to scrape. Must match: gumroad.com",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "https://usamaakrm.gumroad.com/l/100-premium-n8n-templates"
                        ]
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of items to extract per URL",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
