> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/gumroad/product>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/gumroad/product.mdx>

---

# Gumroad Product API

One Gumroad product record with its price, ratings, tiers, options and first reviews.

`GET /v1/gumroad/product` takes a product `url`, or `creator` plus `permalink`, or a bare `permalink`. The response is `{ data, meta }`; `data.lookupStatus` is `found` or `not_found`, and `data.product` is the record or null.

On `found`, `data.product` carries `id` (which the reviews endpoint needs), `permalink`, `name`, `type`, `url`, `createdAt`, `updatedAt`, `creator`, `price`, `subscription`, `description`, `descriptionHtml`, `summary`, `media`, `attributes`, `ratings`, `reviews`, `salesCount`, `options`, `stock`, `isPhysical` and `refundPolicy`. `price.amount` is in the product's own currency in Gumroad's smallest unit for it (cents for most currencies, whole yen for JPY), with `price.formatted` as Gumroad prints it. `ratings.distribution` is the share of 1 to 5 star ratings, and `reviews` is only the first page; use the reviews endpoint for the rest.

The same product can show a short id on a list route and the seller's custom permalink on another. Both forms resolve here; keep the creator username with the permalink.

## Request

- **Endpoint:** `GET /v1/gumroad/product`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by URL, creator and permalink, or permalink
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/gumroad/product/get)
- **Platform page:** [/platforms/gumroad](https://www.socialfetch.dev/platforms/gumroad)

## FAQ

### How do I name a product?

Give url, or creator and permalink, or a bare permalink. A bare permalink such as latonc and the seller's custom permalink both resolve to the same product. A permalink copied from a list route can be a short id or the custom one; pass the creator username with either form.

### Where are prices and tiers?

Read data.product.price for amount, currency, formatted and the pay-what-you-want fields. originalAmount is null on this route because the product record does not carry a pre-sale price; it appears on search, related and wishlist rows. Variants and membership tiers are in data.product.options, including each tier's recurrencePriceValues, and membership periods are in data.product.subscription.recurrences.

### Does the response include reviews?

data.product.reviews holds the first written reviews. For paging, reviewer details and the creator's reply, call the product reviews route with data.product.id.

### What does not_found mean here?

An unknown permalink or creator answers HTTP 200 with data.lookupStatus not_found and data.product null. HTTP 200 only means the request finished, so branch on lookupStatus.

### How many credits does a product lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
