List Products
Returns a paginated list of products. Omit account_id to search the public marketplace.
Query parameters
The unique identifier of the account to list products for. Omit to search the public marketplace.
Ranked search against product title and headline. Omit to browse by recency.
Only return marketplace products assigned to this category route, such as trading.
Filter to products with a buyable plan of these billing models, such as one_time or renewal.
Only return products whose advertised buyable plan has a displayed price of at least this amount. Recurring plans use renewal price.
Only return products whose advertised buyable plan has a displayed price of at most this amount. Recurring plans use renewal price.
Filter to only products matching these visibility states. Ignored on the public marketplace list, which only returns visible products.
[ "visible" ]
Filter to only products matching these types.
[ "regular" ]
Filter to only products carrying all of these labels. Labels are matched lowercased.
The sort direction for results. Defaults to descending.
The field to sort results by. Account lists default to created_at. Marketplace lists default to discoverable_at and accept created_at or discoverable_at. Cannot be combined with query.
The number of products to return (default and max 100).
A cursor; returns products after this position.
The number of products to return from the end of the range.
A cursor; returns products before this position.
Only return products created after this ISO 8601 timestamp.
Only return products created before this ISO 8601 timestamp.
Response
marketplace products listed without an account
Example response
{
"data": [
{
"account": {
"id": "biz_xxxxxxxxxxxxxx",
"route": "biz_xxxxxxxxxxxxxx",
"title": "Shine Time Auto Detailing"
},
"created_at": "2026-01-01T12:00:00.000Z",
"default_plan": {
"billing_period": 30,
"id": "plan_xxxxxxxxxxxxxx",
"initial_price": {
"amount": "-2.50",
"currency": "usd",
"decimals": 2,
"display_decimals": 2
},
"plan_type": "renewal",
"renewal_price": {
"amount": "-2.50",
"currency": "usd",
"decimals": 2,
"display_decimals": 2
},
"unlimited_stock": true,
"visibility": "visible"
},
"description": "Two-stage paint correction, a three-year ceramic coating, and sealed wheel faces.",
"external_identifier": "SHINE-CERAMIC-01",
"gallery_images": [
{
"content_type": "image/png",
"id": "file_xxxxxxxxxxxxxx",
"url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"headline": "A showroom finish that lasts three years",
"id": "prod_xxxxxxxxxxxxxx",
"labels": [
"courses"
],
"metadata": {},
"route": "ceramic-coating-package",
"title": "Ceramic Coating Package",
"updated_at": "2026-01-01T12:00:00.000Z",
"visibility": "visible"
}
],
"page_info": {
"end_cursor": "WyJjdXJzb3IiLDFd",
"start_cursor": "WyJjdXJzb3IiLDFd"
}
}