Gumroad

Get Gumroad product

Get Gumroad product: price, ratings, tiers, covers, attributes, refund policy and reviews.

GET/v1/gumroad/product
1credit
x-api-keystringheader

API key (`sfk_...`)

Parameters
3
urlstringquery

A product URL, e.g. https://clifhuman.gumroad.com/l/latonc or https://gumroad.com/l/latonc.

creatorstringquery

Gumroad creator username (the storefront subdomain), e.g. `clifhuman`. A profile URL such as https://clifhuman.gumroad.com/ or https://gumroad.com/clifhuman is also accepted.

permalinkstringquery

Product permalink, e.g. `latonc`.

pattern: ^[A-Za-z0-9._~-]{1,200}$

Response fields
88

Endpoint-specific response payload.

datalookupStatus
string

Whether the item exists. `not_found` covers an unknown or deleted item (Gumroad does not tell those apart).

one of: found, not_found

The product when found; otherwise null.

dataproductid
string

Product id, which the reviews endpoint needs.

dataproductpermalink
string

The product's permalink. A list route can show a different short id or custom permalink for the same product; either form resolves when you also pass the creator.

dataproductname
string

Product name.

dataproducttype
stringnullable

Native product type.

dataproducturl
stringnullable

Canonical product URL.

dataproductthumbnailUrl
stringnullable

Thumbnail URL.

dataproductcreatedAt
stringnullable

When the product was created.

dataproductupdatedAt
stringnullable

When the product was last changed.

The creator.

dataproductcreatorid
stringnullable

Creator's external id.

dataproductcreatorusername
stringnullable

Storefront subdomain label, e.g. `clifhuman`.

dataproductcreatorname
stringnullable

Display name.

dataproductcreatorurl
stringnullable

Storefront URL.

dataproductcreatoravatarUrl
stringnullable

Avatar URL.

dataproductcreatorisVerified
booleannullable

Whether Gumroad verified the creator.

The product's price in its own currency.

dataproductpriceamount
integernullable

Price in the product's own currency, in Gumroad's smallest unit for it: cents for most currencies, whole yen for JPY, and 1/100 for KRW and TWD. 0 means free.

≥ 0

dataproductpricecurrency
stringnullable

ISO 4217 code of the product's own currency, e.g. `usd`.

dataproductpriceformatted
stringnullable

Price as Gumroad displays it, e.g. `$0+` or `€150`. A trailing `+` means pay-what-you-want or tiers.

dataproductpriceoriginalAmount
integernullable

Price before a sale, in the same unit as `amount`; null when not on sale or on the product record, which does not carry it.

≥ 0

dataproductpricepayWhatYouWant
booleannullable

Whether the buyer may pay another amount.

dataproductpricesuggestedAmount
integernullable

Suggested amount in the same unit as `amount`; null when the product does not set one.

≥ 0

dataproductpricedefaultAmount
integernullable

Default pay-what-you-want amount in the same unit as `amount`; null when the product does not set one.

≥ 0

Subscription terms.

dataproductsubscriptionisRecurring
booleannullable

Whether the product bills repeatedly.

dataproductsubscriptionisTiered
booleannullable

Whether the product has membership tiers.

Billing periods; null when the product is not a membership.

dataproductsubscriptionrecurrencesdefault
stringnullable

Default billing period, e.g. `monthly`.

Billing periods the creator offers.

dataproductsubscriptionrecurrencesenabled[]id
stringnullable

Recurrence id.

dataproductsubscriptionrecurrencesenabled[]recurrence
stringnullable

`monthly`, `quarterly`, `biannually`, `yearly` or `every_two_years`.

dataproductsubscriptionrecurrencesenabled[]priceAmount
integernullable

Price for this period, in the same unit as the product's `price.amount`.

≥ 0

dataproductsubscriptionfreeTrial
nullableoptional

The free-trial object; null in every capture. The shape is unverified.

dataproductdescriptionHtml
stringnullable

Product description as the creator wrote it, in HTML.

dataproductdescription
stringnullable

The same description as plain text.

dataproductsummary
stringnullable

One-line summary.

Cover images and videos.

dataproductmedia[]type
stringnullable

`image` or `video` (pass through any other value).

dataproductmedia[]url
stringnullable

Display URL of the media.

dataproductmedia[]originalUrl
stringnullable

The original file URL; null when not published.

dataproductmedia[]thumbnailUrl
stringnullable

Thumbnail URL; null when not published.

dataproductmedia[]width
integernullable

Width in pixels.

≥ 0

dataproductmedia[]height
integernullable

Height in pixels.

≥ 0

Attributes such as `Format` or `Pages`.

dataproductattributes[]name
stringnullable

Attribute name, e.g. `Format`.

dataproductattributes[]value
stringnullable

Attribute value.

Rating summary with the share of ratings at each star count.

dataproductratingsaverage
numbernullable

Average rating, 1 to 5; null when there are no ratings.

dataproductratingscount
integer

Number of ratings.

≥ 0

Percent of ratings at 1, 2, 3, 4 and 5 stars, in that order; null when Gumroad does not send it.

dataproductratingsdistribution[]
numberoptional

The first written reviews; use the reviews endpoint for all.

dataproductreviews[]id
string

Review id.

dataproductreviews[]rating
integer

Stars, 1 to 5.

≥ 1 · ≤ 5

dataproductreviews[]body
string

Review text.

dataproductreviews[]postedAt
stringnullable

When the review was written.

Who wrote it.

dataproductreviews[]authorname
stringnullable

Public display name.

dataproductreviews[]authoravatarUrl
stringnullable

Avatar URL.

The creator's reply; null when there is none.

dataproductreviews[]creatorReplybody
stringnullable

The creator's reply text.

dataproductreviews[]isNew
booleannullable

Whether Gumroad marks the review as new.

dataproductsalesCount
integernullable

Sales count when the creator shows it; null otherwise.

≥ 0

Variants and membership tiers.

dataproductoptions[]id
stringnullable

Option id.

dataproductoptions[]name
stringnullable

Option name.

dataproductoptions[]description
stringnullable

Option description.

dataproductoptions[]priceDifference
integernullable

Amount added to the base price, in the same unit as the product's `price.amount`.

dataproductoptions[]isPwyw
booleannullable

Whether this option is pay-what-you-want.

dataproductoptions[]quantityLeft
integernullable

Units left for this option.

≥ 0

dataproductoptions[]durationInMinutes
integernullable

Length of a call or commission option, in minutes.

≥ 0

dataproductoptions[]recurrencePriceValues
objectnullable

Price per billing period for a membership option, keyed by `monthly`, `quarterly`, `yearly` and so on; null when the option has no recurring price.

Stock state.

dataproductstockremaining
integernullable

Units left when the creator limits sales.

≥ 0

dataproductstockquantityEnabled
booleannullable

Whether the creator limits the quantity.

dataproductstockisLimited
booleannullable

Whether the creator marked the product as limited.

dataproductisPhysical
booleannullable

Whether the product ships.

The creator's refund policy; null when none is set.

dataproductrefundPolicytitle
stringnullable

Policy title.

dataproductrefundPolicyfinePrint
stringnullable

Policy text as HTML.

dataproductrefundPolicyupdatedAt
stringnullable

When the policy was last changed.

Metadata describing the request and billing outcome.

metarequestId
string

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integer

Credits charged for this request.

≥ 0

metaversion
string

Public API version that served the response.

one of: v1

Code example

curl "https://api.socialfetch.dev/v1/gumroad/product?url=https://clifhuman.gumroad.com/l/latonc" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Gumroad product.