Skip to main content
A Product is a digital good or service sold on Whop. Products may contain plans for pricing and/or experiences for content delivery. Use the Products API to create products, list products visible to your credentials, retrieve product details, update product metadata or merchandising fields, and delete products that should no longer be sold.

Endpoints

EndpointRequest
List ProductsGET /products
Create ProductPOST /products
Retrieve ProductGET /products/{id}
Update ProductPATCH /products/{id}
Delete ProductDELETE /products/{id}

Attributes

company
object
required
The company this product belongs to.

Properties

id
string
required
The unique identifier for the company.
route
string
required
URL slug for the account’s store page, e.g. pickaxe in whop.com/pickaxe.
title
string
required
The display name of the company shown to customers.
created_at
string
required
The datetime the product was created.
custom_cta
string
required
Call-to-action button label shown on the product purchase page.Available options: get_access, join, order_now, shop_now, call_now, donate_now, contact_us, sign_up, subscribe, purchase, get_offer, apply_now, complete_order
custom_cta_url
string | null
required
An optional URL that the call-to-action button links to instead of the default checkout flow. Null if no custom URL is set.
custom_statement_descriptor
string | null
required
Custom bank statement descriptor for product purchases. Maximum 22 characters, including required WHOP* prefix.
description
string | null
required
A brief summary of what the product offers, displayed on product pages and search results.
external_identifier
string | null
required
External identifier for the product. Providing it on a product creation endpoint updates the existing product with this identifier instead of creating a new one.
The gallery images for this product, ordered by position.

Properties

id
string
required
url
string | null
required
A pre-optimized URL for rendering this attachment on the client. This should be used for displaying attachments in apps.
global_affiliate_percentage
number | null
required
Marketplace affiliate commission percentage for this product, or null if program is inactive.
global_affiliate_status
string
required
The enrollment status of this product in the Whop marketplace global affiliate program.Available options: enabled, disabled
headline
string | null
required
A short marketing headline displayed prominently on the product’s product page.
id
string
required
The unique identifier for the product.
member_affiliate_percentage
number | null
required
Member referral commission percentage for this product, or null if program is inactive.
member_affiliate_status
string
required
The enrollment status of this product in the member affiliate program.Available options: enabled, disabled
member_count
integer
required
Active memberships for this product. Returns 0 if the account has disabled public member counts.
metadata
object | null
required
Custom key-value pairs stored on the product and included in payment and membership webhook payloads. Max 50 keys, 100 characters per key, 500 characters per string value.
owner_user
object
required
The user who owns the company that sells this product.

Properties

id
string
required
The unique identifier for the user.
name
string | null
required
The user’s display name shown on their public profile.
username
string
required
The user’s unique username shown on their public profile.
product_tax_code
object | null
required
The tax classification code applied to purchases of this product for sales tax calculation. Null if no tax code is assigned.

Properties

id
string
required
The unique identifier for the product tax code.
name
string
required
Human-readable name of this tax classification, such as ‘Digital - SaaS’.
product_type
string
required
Broad product category this tax code covers, such as physical goods or digital services.Available options: physical, digital, services
published_reviews_count
integer
required
The total number of published customer reviews for this product’s company.
route
string
required
URL slug in the product’s public link, e.g. pickaxe-analytics in whop.com/company/pickaxe-analytics.
title
string
required
The display name of the product shown to customers on the product page and in search results.
updated_at
string
required
The datetime the product was last updated.
verified
boolean
required
Whether this company has been verified by Whop’s trust and safety team.
visibility
string
required
Controls whether the product is visible to customers. When set to ‘hidden’, the product is only accessible via direct link.Available options: visible, hidden, archived, quick_link
Product
{
	"company": {
		"id": "biz_xxxxxxxxxxxxxx",
		"route": "pickaxe",
		"title": "Pickaxe"
	},
	"created_at": "2023-12-01T05:00:00.401Z",
	"custom_cta": "get_access",
	"custom_cta_url": "https://example.com/signup",
	"custom_statement_descriptor": "PICKAXE",
	"description": "Track your revenue, members, and growth in real time.",
	"external_identifier": "ext_prod_12345",
	"gallery_images": [
		{
			"id": "file_xxxxxxxxxxxxx",
			"url": "https://media.whop.com/abc123/optimized.jpg"
		}
	],
	"global_affiliate_percentage": 6.9,
	"global_affiliate_status": "enabled",
	"headline": "Real-time data analytics for creators",
	"id": "prod_xxxxxxxxxxxxx",
	"member_affiliate_percentage": 6.9,
	"member_affiliate_status": "enabled",
	"member_count": 42,
	"metadata": {
		"external_product_id": "prod_123"
	},
	"owner_user": {
		"id": "user_xxxxxxxxxxxxx",
		"name": "John Doe",
		"username": "johndoe42"
	},
	"product_tax_code": {
		"id": "ptc_xxxxxxxxxxxxxx",
		"name": "Digital - SaaS",
		"product_type": "digital"
	},
	"published_reviews_count": 12,
	"route": "pickaxe-analytics",
	"title": "Pickaxe Analytics",
	"updated_at": "2023-12-01T05:00:00.401Z",
	"verified": true,
	"visibility": "visible"
}