BillKit/Docs Console
Products

List products

List your products, newest first.

GET/v1/products
Operation list_products · Scope products:read · Spec snapshot 2026-09-13

Parameters

ParameterDescription
limitinteger · queryoptionalDefaults to 10. Between 1 and 100.
starting_afterstring | null · queryoptionalAt most 128 characters.
expandstring | null · queryoptionalAt most 256 characters.

Cursor-paginated. limit caps a page and starting_after takes the last id you saw.

Returns

Returns a page of ProductResponse objects. data holds the page and has_more says whether another one exists. Page forward by passing the last id of the page as starting_after; a short page is not the end of the list.

Errors

Status Cause
401 Missing or invalid API key.
403 Key is missing the products:read scope.
422 Validation Error
429 Rate limited. Back off and retry.
Request · curl
curl -X GET https://api.billkit.eu/v1/products \
  -H "Authorization: Bearer $BILLKIT_SECRET_KEY"
Response · 200 OK
{
  "data": [
    {
      "active": false,
      "allow_promotion_codes": false,
      "archived_at": 1789392000,
      "created": 1789392000,
      "description": "string",
      "id": "prod_9XKp2vQ1",
      "livemode": false,
      "marketing_features": [
        "string"
      ],
      "metadata": {
        "key": "value"
      },
      "name": "Ada Lovelace",
      "object": "product",
      "prices": [
        {
          "active": null,
          "amount_cents": null,
          "currency": null,
          "id": null,
          "interval": null,
          "object": null,
          "payment_methods": null,
          "product_id": null,
          "product_name": null,
          "trial_days": null,
          "unit_amount_decimal": null,
          "usage_type": null
        }
      ],
      "stats": {
        "active_price_count": 1900,
        "currency": "EUR",
        "mrr_cents": 1900,
        "object": "product.stats",
        "subscriber_count": 0
      }
    }
  ],
  "has_more": false,
  "object": "list"
}