Gumroad hub

Gumroad Related Products API

Products bought with the ones you name, including the co-purchase flag.

GET /v1/gumroad/product/related

1 credit Failed requests are free

About this endpoint

GET /v1/gumroad/product/related takes one to ten productIds, comma-separated or repeated, and an optional limit from 1 to 100 (default 20). Product ids come from data.product.id on the product, search, related-products or wishlist responses.

This list route always answers found. data.products holds the related products, and each has the product reference fields plus coPurchase. The reference fields are id, permalink, name, type, url, thumbnailUrl, coverUrl, summary, creator, ratings, price, saleLabel, stock and subscription. coPurchase is true when Gumroad labels the row as bought together. If one id in a set cannot be answered, the route still returns the rows for the ids that can instead of reporting an outage.

A seller can have no related products, so an empty products array is a valid answer. The route does not page: raise limit to 100 for the deepest answer, or make several calls with different product ids.

Gumroad Related Products API FAQ

How many product ids can I pass?

One to ten, comma-separated or repeated in the query. Duplicates are removed before the request.

What is coPurchase?

coPurchase is true when Gumroad marks the products as bought together, the case Gumroad labels as customers who bought one also bought the other. It is null when Gumroad does not say.

Why is the list empty?

A product can have no co-purchase results. An empty products array on found is valid, not an error, and the request is still billed as one lookup.

Which list fields come back?

Each product has id, permalink, name, type, url, thumbnailUrl, coverUrl, summary, creator, ratings, price, saleLabel, stock and subscription. These are the same reference fields the search route returns.

How many credits does a related-products request 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.