# Social Fetch API - Gumroad endpoints # Base URL: https://api.socialfetch.dev # Auth: x-api-key header (sfk_...) # Full catalog: https://www.socialfetch.dev/llms-endpoints.txt | JSON: https://www.socialfetch.dev/llms.json # Docs hub: https://www.socialfetch.dev/docs/api | OpenAPI: https://www.socialfetch.dev/openapi.json 16 documented Gumroad operations. Do not invent paths - only the routes below (and their linked markdown pages) are supported. ## GET /v1/gumroad/product Get Gumroad product Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/product/get.mdx SDK: client.gumroad.getProduct({ permalink: "latonc" }) Parameters: - url (optional, string) - A product URL, e.g. https://clifhuman.gumroad.com/l/latonc or https://gumroad.com/l/latonc. - creator (optional, string) - 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. - permalink (optional, string) - Product permalink, e.g. `latonc`. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/product?url=https://clifhuman.gumroad.com/l/latonc" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/product/details Get Gumroad product details Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/product/details/get.mdx SDK: client.gumroad.getProductDetails({ creator: "meshhouse", permalink: "tracktools" }) Parameters: - url (optional, string) - A product URL, e.g. https://clifhuman.gumroad.com/l/latonc or https://gumroad.com/l/latonc. - creator (optional, string) - 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. - permalink (optional, string) - Product permalink, e.g. `latonc`. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/product/details?url=https://meshhouse.gumroad.com/l/tracktools" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/product/reviews List Gumroad product reviews Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/product/reviews/get.mdx SDK: client.gumroad.listProductReviews({ productId: "bwnHm1v-yDVdtDf4fXYfvg==" }) Parameters: - productId (required, string) - Product id as returned in `product.id` by the product endpoint, e.g. `bwnHm1v-yDVdtDf4fXYfvg==`. - page (optional, integer) - Page number, 1 to 1,000. Default: 1. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters; start again without it. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/product/reviews?productId=bwnHm1v-yDVdtDf4fXYfvg==" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/product/related List Gumroad related products Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/product/related/get.mdx SDK: client.gumroad.listProductRelated({ productIds: ["rS7gSD0HH4dRnYrlzIQHkg=="], limit: 8 }) Parameters: - productIds (required, array) - One to ten product ids, comma-separated or repeated. - limit (optional, integer) - How many related products to return, 1 to 100. Default: 20. Outcome field: `data.lookupStatus` in `found` curl "https://api.socialfetch.dev/v1/gumroad/product/related?productIds=rS7gSD0HH4dRnYrlzIQHkg==" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/product/call-slots List Gumroad call product open slots Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/product/call-slots/get.mdx SDK: client.gumroad.listProductCallSlots({ creator: "picturebookcreators", permalink: "fqrme" }) Parameters: - url (optional, string) - A call product URL, e.g. https://picturebookcreators.gumroad.com/l/fqrme. - creator (optional, string) - 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. - permalink (optional, string) - Product permalink, e.g. `latonc`. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/product/call-slots?url=https://picturebookcreators.gumroad.com/l/fqrme" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/search Search Gumroad products Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/search/get.mdx SDK: client.gumroad.search({ query: "notion", sort: "highest_rated", limit: 10 }) Parameters: - query (optional, string) - Search text, in any language. Empty or omitted browses every product. - sort (optional, string, enum: featured | newest | highest_rated | most_reviewed | price_asc | price_desc | curated | hot_and_new) - How results are ordered. `hot_and_new` narrows the set to recent products with traction; the others only reorder it. Default: Gumroad's default order. - category (optional, string) - Category path from the categories endpoint, e.g. `3d/3d-modeling`. An unknown path is not rejected; Gumroad ignores the filter and the results are unfiltered. - tags (optional, array) - Tag names, OR-ed. Up to 10. - fileTypes (optional, array) - File types such as `pdf`, OR-ed. Up to 10. - minPrice (optional, integer) - Minimum price in whole units of the product's own currency, e.g. `5` for $5, not cents. The filter compares a tier or suggested price, so a row's listed price can differ. A EUR product is compared in EUR. - maxPrice (optional, integer) - Maximum price in whole units of the product's own currency, e.g. `10` for $10, not cents. The filter compares a tier or suggested price, so a row's listed price can differ. A EUR product is compared in EUR. - minRating (optional, integer) - Only products rated at least this many stars, 1 to 5. - attributeFilters (optional, array) - Category attribute filters of the form `name:value`, e.g. `product_type:script`. Requires `category`; up to 10. - page (optional, integer) - Page number, 1 to 1,000. Default: 1. A search stops at 10,000 results; narrow the query or add filters for deeper pages. - limit (optional, integer) - Rows per page, 1 to 100. Default: 20. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters; start again without it. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found` curl "https://api.socialfetch.dev/v1/gumroad/search?query=notion&sort=highest_rated&limit=10" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/search/suggestions Get Gumroad search suggestions Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/search/suggestions/get.mdx SDK: client.gumroad.listSearchSuggestions({ query: "notion" }) Parameters: - query (optional, string) - Text to autocomplete. Empty or omitted returns Gumroad's trending products. Outcome field: `data.lookupStatus` in `found` curl "https://api.socialfetch.dev/v1/gumroad/search/suggestions?query=notion" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/categories List Gumroad categories Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/categories/get.mdx SDK: client.gumroad.listCategories() Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/categories" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/tags Search Gumroad tags Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/tags/get.mdx SDK: client.gumroad.searchTags({ query: "design" }) Parameters: - query (optional, string) - Tag text to prefix match. Empty or omitted returns the most used tags. Outcome field: `data.lookupStatus` in `found` curl "https://api.socialfetch.dev/v1/gumroad/tags?query=design" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/creator Get Gumroad creator Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/creator/get.mdx SDK: client.gumroad.getCreator({ creator: "clifhuman" }) Parameters: - creator (required, string) - 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. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/creator?creator=clifhuman" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/creator/products List Gumroad creator products Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/creator/products/get.mdx SDK: client.gumroad.listCreatorProducts({ creator: "clifhuman", limit: 9 }) Parameters: - creator (required, string) - 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. - sectionId (optional, string) - Only this profile section. Omit to walk the creator's product sections in tab order; a product listed in several sections appears once per section. `page.sectionId` names the section whose rows a page holds. - sort (optional, string, enum: featured | newest | highest_rated | most_reviewed | price_asc | price_desc | curated | hot_and_new) - How results are ordered. `hot_and_new` narrows the set to recent products with traction; the others only reorder it. Default: Gumroad's default order. - page (optional, integer) - Page number, 1 to 1,000. Default: 1. - limit (optional, integer) - Rows per page, 1 to 100. Default: 20. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters; start again without it. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/creator/products?creator=clifhuman" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/creator/posts List Gumroad creator posts Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/creator/posts/get.mdx SDK: client.gumroad.listCreatorPosts({ creator: "gumroad" }) Parameters: - creator (required, string) - 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. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/creator/posts?creator=gumroad" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/post Get Gumroad post Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/post/get.mdx SDK: client.gumroad.getPost({ creator: "gumroad", slug: "updated-oss-hackathon-extended-to-sept-15-100k-grand-prize" }) Parameters: - url (optional, string) - A post URL, e.g. https://clifhuman.gumroad.com/p/some-post. - creator (optional, string) - 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. - slug (optional, string) - Post slug, e.g. `some-post`. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/post?url=https://riggingpro.gumroad.com/p/master-the-node-editor-7-pro-tips-for-riggers" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/post/comments List Gumroad post comments Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/post/comments/get.mdx SDK: client.gumroad.listPostComments({ postId: "TpoCZ_m_1kAgW8ea4OwDzw==", creator: "riggingpro" }) Parameters: - postId (required, string) - postId, as returned by the Gumroad endpoint that names it. - creator (required, string) - 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. - page (optional, integer) - Page number, 1 to 1,000. Default: 1. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters; start again without it. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/post/comments?postId=TpoCZ_m_1kAgW8ea4OwDzw==&creator=riggingpro" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/wishlist Get Gumroad wishlist Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/wishlist/get.mdx SDK: client.gumroad.getWishlist({ url: "https://aliceman666.gumroad.com/wishlists/1-588657779" }) Parameters: - url (required, string) - Public wishlist URL, e.g. https://clifhuman.gumroad.com/wishlists/some-list. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/wishlist?url=https://aliceman666.gumroad.com/wishlists/1-588657779" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/gumroad/wishlist/items List Gumroad wishlist items Credit cost: 1 credit. Failed requests are free. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/gumroad/wishlist/items/get.mdx SDK: client.gumroad.listWishlistItems({ wishlistId: "GCNaB6KFAA5mlIj83tg18g==", owner: "aliceman666" }) Parameters: - wishlistId (required, string) - wishlistId, as returned by the Gumroad endpoint that names it. - owner (required, string) - 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. - page (optional, integer) - Page number, 1 to 1,000. Default: 1. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters; start again without it. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/gumroad/wishlist/items?wishlistId=GCNaB6KFAA5mlIj83tg18g==&owner=aliceman666" \ -H "x-api-key: YOUR_API_KEY"