---
title: "List businesses for a customer"
method: GET
path: "/customers/{customer_id}/businesses"
tags: ["Businesses"]
---

# List businesses for a customer

`GET /customers/{customer_id}/businesses`

## Request

- Base URL: `https://sandbox-api.paddle.com`
- URL: `https://sandbox-api.paddle.com/customers/{customer_id}/businesses`
- Auth: HTTP bearer

Returns a paginated list of businesses for a customer. Use the query parameters to page through results.

By default, Paddle returns businesses that are `active`. Use the `status` query parameter to return businesses that are archived.

## Path parameters

- `customer_id` string, required: Unique Paddle ID for this customer entity, prefixed with `ctm_`.

## Query parameters

- `id` string[]
- `after` string
- `per_page` integer
- `order_by` string
- `status` StatusQuery[]
- `search` string

## Headers

- `Skip-Count` string

## Response `200`

The request has succeeded.

- object
  - `data` Business[], required
    - `id` string, required: Unique Paddle ID for this business entity, prefixed with `biz_`.
    - `customer_id` string, required: Unique Paddle ID for this customer entity, prefixed with `ctm_`.
    - `name` string, required: Full name.
    - `company_number` string, nullable, required: Company number for this business.
    - `tax_identifier` string, nullable, required: Tax or VAT Number for this business.
    - `status` 'active' | 'archived', required: Whether this entity can be used in Paddle.
    - `contacts` BusinessContactsItem[], required: List of contacts related to this business, typically used for sending invoices.
      - `name` string, required: Full name.
      - `email` string, email, required: Email address for this entity.
    - `created_at` string, date-time, required: RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
    - `updated_at` string, date-time, required: RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
    - `custom_data` CustomData, required: Your own structured key-value data.
    - `import_meta` object, nullable, required: Import information for this entity. `null` if this entity is not imported.
      - `external_id` string: Reference or identifier for this entity from the provider where it was imported from.
      - `imported_from` string, required: Name of the platform or provider where this entity was imported from.
  - `meta` PaginatedMeta, required: Information about this response.
    - `request_id` string, required: Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.
    - `pagination` Pagination, required: Keys used for working with paginated results.
      - `per_page` integer, required: Number of entities per page for this response. May differ from the number requested if the requested number is greater than the maximum.
      - `next` string, uri, required: URL containing the query parameters of the original request, along with the `after` parameter that marks the starting point of the next page. Always returned, even if `has_more` is `false`.
      - `has_more` boolean, required: Whether this response has another page.
      - `estimated_total` integer: Estimated number of entities for this response. For datasets with 100,000 or fewer matches, returns the exact count. For datasets with more than 100,000 matches, returns `100001` to indicate that more than 100,000 entities match. Returns `-1` when counting is skipped or couldn't be calculated. Use `has_more` and `next` to page through all results rather than relying on `estimated_total` for an exact count.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-07-09** (v1) `e1ac347eb3c5`: 1 breaking, 1 info
  - added the pattern `^ctm_[a-z\d]{26}$` to the `path` request parameter `customer_id`
  - added the new optional `header` request parameter `Skip-Count`
- **2026-02-02** (v1) `9ba8be0f2006`: 21 breaking, 1 warning, 31 info
  - added the new path request parameter `customer_id`
  - for the `query` request parameter `status`, default value `active` was added
  - response property `data/items/company_number` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `data/items/tax_identifier` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - …49 more
- **2025-04-25** (v1) `c4b1322e66ca`: 1 breaking
  - the response property `meta/pagination/estimated_total` became optional for the status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/paddlehq/apis/paddle-api/changes/customers/:customer_id/businesses/get.md)

---

[API](https://skmtc.dev/paddlehq/apis/paddle-api.md) - [All operations](https://skmtc.dev/paddlehq/apis/paddle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paddlehq/apis/paddle-api/revisions/bbc0c72039c8?raw)
