GET
/
products
import DodoPayments from 'dodopayments';

const client = new DodoPayments({
  bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted
});

async function main() {
  // Automatically fetches more pages as needed.
  for await (const productListResponse of client.products.list()) {
    console.log(productListResponse.business_id);
  }
}

main();
{
  "items": [
    {
      "business_id": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "currency": "AED",
      "description": "<string>",
      "image": "<string>",
      "is_recurring": true,
      "name": "<string>",
      "price": 123,
      "price_detail": {
        "currency": "AED",
        "discount": 123,
        "pay_what_you_want": true,
        "price": 123,
        "purchasing_power_parity": true,
        "suggested_price": 123,
        "tax_inclusive": true,
        "type": "one_time_price"
      },
      "product_id": "<string>",
      "tax_category": "digital_products",
      "tax_inclusive": true,
      "updated_at": "2023-11-07T05:31:56Z"
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

page_size
integer | null

Page size default is 10 max is 100

Required range: x >= 0
page_number
integer | null

Page number default is 0

Required range: x >= 0
archived
boolean

List archived products

recurring
boolean | null

Filter products by pricing type:

  • true: Show only recurring pricing products (e.g. subscriptions)
  • false: Show only one-time price products
  • null or absent: Show both types of products

Response

200 - application/json
Products List
items
object[]
required