Skip to main content
Products API
Updated this week

Overview

NOTE: Using the ClickBank Products API may require a rudimentary understanding of computer programming. If you do not feel equipped to proceed, we encourage you to seek assistance from someone who has computer programming experience.

The Products API lets you perform CRUD product management operations.

URL

Methods

This section provides details about the methods available within the Products API, including required keys and roles, output types, and supported and required parameters.

The following methods are covered in this section:

GET /1.3/products/schema

This method returns the XML schema for product results.

Required Keys and Roles

  • None

Return Type

XML schema for Product Information

Supported Output Types

  • application/xml

GET /1.3/products/{sku}

This method returns the product with the specified SKU.

Request Parameters

Name

Required

Description

site

Yes

The account owning the product.

Required Keys and Roles

  • ClickBank API Key

    • API Products Client Role

Return Type

Supported Output Types

  • application/xml

  • application/json

GET /1.3/products/list

This method returns a list of all products associated with an account.

Request Parameters

Name

Required

Description

site

Yes

The account owning the products to be returned.

type

No

The product types to return. Must be either STANDARD or RECURRING. If you do not specify a type, all types are returned.

Required Keys and Roles

  • ClickBank API Key

    • API Products Client Role

Return Type

Supported Output Types

  • application/xml

  • application/json

PUT /1.3/products/{sku}

This method creates a product with the specified parameters.

Request Parameters

Name

Required

Description

currency

Yes

The currency the product is sold in, in three-character format. See the Currencies ClickBank Accepts article for a full list.

language

Yes

The language of the product. The valid values are:

  • DE – German

  • EN – English

  • ES – Spanish

  • FR – French

  • IT – Italian

  • PT – Portuguese

price

Yes

The initial price for the product.

site

Yes

The account nickname that owns the new product.

title

Yes

The title of the product.

categories

Required for product with digital component

The categories for a product with a digital component. One or more categories can be specified. Valid values are:

  • EBOOK

  • SOFTWARE

  • GAMES

  • AUDIO

  • VIDEO

  • MEMBER_SITE

deliveryMethod

Required for product with physical component

The method of delivery for a physical product.

deliverySpeed

Required for product with physical component

The speed of delivery for a physical product.

description

Required for product with physical or recurring component

A description of the product.

digital

At least one component is required

Components specify one or more pieces of the product. For example, a one-time physical product would have a physical component, while a physical product with recurring digital would have a physical component and a digitalRecurring component.

You must specify one or more components for the product:

  • digital – The product includes a one-time digital component.

  • digitalRecurring – The product includes a recurring digital component.

  • physical – The product includes a one-time physical component.

  • physicalRecurring – The product includes a recurring physical component.

digitalRecurring

physical

physicalRecurring

duration

Required for recurring products

The rebill duration for a recurring product.

frequency

Required for recurring products

The rebill frequency for a recurring product. Valid values are:

  • WEEKLY

  • BI_WEEKLY

  • MONTHLY

  • QUARTERLY

  • YEARLY

pitchPage

At least one pitch page is required

You must specify at least one URL for the product's pitch page. This can be the same as the HopLink Target URL. You can specify a generic pitch page URL, a mobile-friendly pitch page URL, or both.

mobilePitchPage

rebillCommission

Required for recurring products

The rebill commission rate for a recurring product.

rebillPrice

Required for recurring products

The rebill price for a recurring product.

shippingProfile

Required for product with physical component

The shipping profile for a physical product.

thankYouPage

At least one thank you page is required

You must specify at least one thank you page for the product. You can specify a generic thank you page, a thank you page designed for mobile devices, or both.

mobileThankYouPage

trialPeriod

Required for recurring products

The trial period for a recurring product, in days. The valid values are either 0 (meaning no trial period) or a whole number between 3 and 31.

image

No

The ID of the image to associate with the product.

preRebillNotificationLeadTime

No

The lead time for pre-rebill notifications, in days. If pre-rebill notifications are enabled, a reminder message is sent to customers prior to each rebill.

preRebillNotificationOverride

No

When this parameter is set, pre-rebill notifications are sent regardless of the product's rebill cycle. If this parameter is not set, pre-rebill notifications are not sent for products that are rebilled every month or more frequently.

purchaseCommission

No

The commission rate for the product. If unspecified, the account's default commission rate is used.

rebillRefundDaysLimit

No

The number of days within which a rebill can be refunded.

saleRefundDaysLimit

No

The number of days within which a sale can be refunded.

skipConfirmationPage

No

Specifies whether the confirmation page is skipped. Valid values are true or false.

This parameter is role restricted. If you do not have the role, it will not be honored.

Required Keys and Roles

  • ClickBank API Key

    • API Products Client Role

Return Type

A product SKU.

Supported Output Types

  • application/xml

  • application/json

DELETE /1.3/products/{sku}

This method deletes the product with the specified SKU.

Request Parameters

Name

Required

Description

site

Yes

The account owning the product to be deleted.

Required Keys and Roles

  • ClickBank API Key

    • API Products Client Role

Return Type

Nothing.

Supported Output Types

  • application/xml

  • application/json

Return Types

This section details the return types used by the Products API.

The following return types are covered in this section:

Product Information

Product InformationResult returns use the following format:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
<xs:element name="Image" type="imageBean"/>
<xs:element name="commission" type="productCommission"/>
<xs:element name="contractBean" type="contractBean"/>
<xs:element name="physical" type="physicalPricing"/>
<xs:element name="pitch_pages" type="pitchPages"/>
<xs:element name="price" type="price"/>
<xs:element name="pricing" type="pricing"/>
<xs:element name="product" type="productBean"/>
<xs:element name="product_approval_status" type="productApprovalStatus"/>
<xs:element name="recurring" type="recurringPricing"/>
<xs:element name="standard" type="standardPricing"/>
<xs:element name="thank_you_pages" type="thankYouPages"/>
<xs:complexType name="productBean">
<xs:sequence>
<xs:element name="id" type="xs:int" minOccurs="0"/>
<xs:element name="status" type="activeStatus" minOccurs="0"/>
<xs:element name="digital" type="xs:boolean"/>
<xs:element name="physical" type="xs:boolean"/>
<xs:element name="digitalRecurring" type="xs:boolean"/>
<xs:element name="physicalRecurring" type="xs:boolean"/>
<xs:element name="site" type="xs:string" minOccurs="0"/>
<xs:element name="created" type="xs:string" minOccurs="0"/>
<xs:element name="updated" type="xs:string" minOccurs="0"/>
<xs:element name="approval_status" type="productApprovalStatus" minOccurs="0"/>
<xs:element name="language" type="xs:string" minOccurs="0"/>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="image" type="imageBean" minOccurs="0"/>
<xs:element ref="thank_you_pages" minOccurs="0"/>
<xs:element ref="pitch_pages" minOccurs="0"/>
<xs:element ref="commission" minOccurs="0"/>
<xs:element name="pricings" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="pricing" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="contracts" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="contract" type="contractBean" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="categories" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="productCategory" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="disable_geo_currency" type="xs:boolean" minOccurs="0"/>
<xs:element name="allow_currency_change" type="xs:boolean" minOccurs="0"/>
<xs:element name="us_tax_exempt" type="xs:boolean" minOccurs="0"/>
<xs:element name="revenue_recognition" type="revRec" minOccurs="0"/>
<xs:element name="reduced_upsell_markup" type="xs:boolean" minOccurs="0"/>
<xs:element name="skip_confirmation_page" type="xs:boolean" minOccurs="0"/>
<xs:element name="admin_download_url" type="xs:string" minOccurs="0"/>
<xs:element name="admin_mobile_download_url" type="xs:string" minOccurs="0"/>
<xs:element name="no_commission" type="xs:boolean"/>
<xs:element name="sale_refund_days_limit" type="xs:int" minOccurs="0"/>
<xs:element name="rebill_refund_days_limit" type="xs:int" minOccurs="0"/>
<xs:element name="admin_restrict_flexible_refund" type="xs:boolean" minOccurs="0"/>
<xs:element name="commission_tier_override" type="xs:boolean"/>
<xs:element name="deliveryMethod" type="xs:string" minOccurs="0"/>
<xs:element name="deliverySpeed" type="xs:string" minOccurs="0"/>
<xs:element name="maxQuantity" type="xs:int" minOccurs="0"/>
<xs:element name="isPartOfOrderBump" type="xs:boolean"/>
<xs:element name="isInitialOfOrderBump" type="xs:boolean"/>
<xs:element name="isProductOfOrderBump" type="xs:boolean"/>
</xs:sequence>
<xs:attribute name="sku" type="xs:string"/>
</xs:complexType>
<xs:complexType name="productApprovalStatus">
<xs:sequence>
<xs:element name="ticket_id" type="xs:int" minOccurs="0"/>
<xs:element name="status" type="status" minOccurs="0"/>
<xs:element name="last_action_performed_by" type="role" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="path" type="xs:string" minOccurs="0"/>
<xs:complexType name="imageBean">
<xs:sequence> <xs:element name="id" type="xs:int" minOccurs="0"/> <xs:element name="title" type="xs:string" minOccurs="0"/> <xs:element name="type" type="imageType" minOccurs="0"/> <xs:element name="approved" type="xs:boolean" minOccurs="0"/> <xs:element name="path" type="xs:string" minOccurs="0"/> </xs:sequence>
</xs:complexType>
<xs:complexType name="thankYouPages">
<xs:sequence>
<xs:element name="desktop" type="xs:string" minOccurs="0"/>
<xs:element name="mobile" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="pitchPages">
<xs:sequence>
<xs:element name="desktop" type="xs:string" minOccurs="0"/>
<xs:element name="mobile" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="productCommission">
<xs:sequence>
<xs:element name="purchase" type="xs:decimal" minOccurs="0"/>
<xs:element name="rebill" type="xs:decimal" minOccurs="0"/>
<xs:element name="no_rebill_commission" type="xs:boolean"/>
<xs:element name="commission_tier_override" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="pricing">
<xs:sequence>
<xs:element ref="standard" minOccurs="0"/>
<xs:element ref="recurring" minOccurs="0"/>
<xs:element ref="physical" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="currency" type="xs:string"/>
</xs:complexType>
<xs:complexType name="standardPricing">
<xs:sequence>
<xs:element ref="price" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="price">
<xs:sequence>
<xs:element name="native_price" type="xs:decimal" minOccurs="0"/>
<xs:element name="usd" type="xs:decimal" minOccurs="0"/>
<xs:element name="usd_with_fees" type="xs:decimal" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="recurringPricing">
<xs:sequence>
<xs:element ref="price" minOccurs="0"/>
<xs:element name="frequency" type="recurringFrequency" minOccurs="0"/>
<xs:element name="duration" type="xs:int" minOccurs="0"/>
<xs:element name="trial_days" type="xs:int" minOccurs="0"/>
<xs:element name="pre_rebill_override" type="xs:boolean"/>
<xs:element name="pre_rebill_leadtime" type="xs:int" minOccurs="0"/>
<xs:element name="recurringTitle" type="xs:string" minOccurs="0"/>
<xs:element name="recurringDescription" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="physicalPricing">
<xs:sequence>
<xs:element name="shipping_profile" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="contractBean">
<xs:sequence>
<xs:element name="productId" type="xs:int" minOccurs="0"/>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="owner" type="xs:string" minOccurs="0"/>
<xs:element name="partner" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
<xs:attribute name="status" type="contractStatus"/>
</xs:complexType>
<xs:simpleType name="activeStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="ACTIVE"/>
<xs:enumeration value="INACTIVE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="status">
<xs:restriction base="xs:string">
<xs:enumeration value="APPROVAL_REQUIRED"/>
<xs:enumeration value="PENDING_APPROVAL"/>
<xs:enumeration value="APPROVED"/>
<xs:enumeration value="DISAPPROVED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="role">
<xs:restriction base="xs:string">
<xs:enumeration value="VENDOR"/>
<xs:enumeration value="CUSTOMER"/>
<xs:enumeration value="CBCSR"/>
<xs:enumeration value="CBSYSTEM"/>
<xs:enumeration value="USER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="imageType">
<xs:restriction base="xs:string">
<xs:enumeration value="PRODUCT"/>
<xs:enumeration value="BANNER"/>
<xs:enumeration value="BANNER_BG"/>
<xs:enumeration value="CUSTOM_BANNER"/>
<xs:enumeration value="CUSTOM_BANNER_BG"/>
<xs:enumeration value="CUSTOM_ORDERFORM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="recurringFrequency">
<xs:restriction base="xs:string">
<xs:enumeration value="WEEKLY"/>
<xs:enumeration value="BI_WEEKLY"/>
<xs:enumeration value="MONTHLY"/>
<xs:enumeration value="QUARTERLY"/>
<xs:enumeration value="HALF_YEARLY"/>
<xs:enumeration value="YEARLY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="contractStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="PENDING_START"/>
<xs:enumeration value="PENDING_APPROVAL"/>
<xs:enumeration value="ACTIVE"/>
<xs:enumeration value="TERMINATED"/>
<xs:enumeration value="TERMINATION_REQUESTED"/>
<xs:enumeration value="EXPIRED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="productCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="EBOOK"/>
<xs:enumeration value="SOFTWARE"/>
<xs:enumeration value="GAMES"/>
<xs:enumeration value="AUDIO"/>
<xs:enumeration value="VIDEO"/>
<xs:enumeration value="MEMBER_SITE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="revRec">
<xs:restriction base="xs:string">
<xs:enumeration value="LD"/>
<xs:enumeration value="VD"/>
<xs:enumeration value="LM"/>
<xs:enumeration value="LMA"/>
<xs:enumeration value="LMID"/>
<xs:enumeration value="VM"/>
<xs:enumeration value="I"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

Usage Information

For additional information about using the Products API, see the ClickBank APIs article.

Related Articles

Did this answer your question?