GET
/customers Returns a paginated list of customers. Use the query parameters to page through results.
By default, Paddle returns customers that are active. Use the status query parameter to return customers that are archived.
Requires customer.read
permission.
Query parameters
idarray
Return only the IDs specified. Use a comma-separated list to get multiple entities.
afterstring
Return entities after the specified Paddle ID when working with paginated endpoints. Used in the
meta.pagination.next URL in responses for list operations.per_pageinteger
Default:
50Set how many entities are returned per page. Paddle returns the maximum number of results if a number greater than the maximum is requested. Check meta.pagination.per_page in the response to see how many were returned.
Default: 50; Maximum: 200.
Max: 200
emailarray
Return entities that exactly match the specified email address. Use a comma-separated list to specify multiple email addresses. Recommended for precise matching of email addresses.
Items: max 100
order_bystring
Default:
id[DESC]Order returned entities by the specified field and direction ([ASC] or [DESC]). For example, ?order_by=id[ASC].
Valid fields for ordering: id.
statusarray
Default:
activeReturn entities that match the specified status. Use a comma-separated list to specify multiple status values.
Values
activeReturn entities where the status isactive. Returned entities can be used in Paddle and are returned when listing entities.archivedReturn entities where the status isarchived. Returned entities can't be used for billing and aren't returned when listing entities.
searchstring
Return entities that match a search query. Searches
id, name, and email fields. Use the email query parameter for precise matching of email addresses.Max length: 100
Response (200)
dataarrayrequired
idstringrequired
Example:
ctm_01grnn4zta5a1mf02jjze7y2ysUnique Paddle ID for this customer entity, prefixed with
ctm_.Pattern:
^ctm_[a-z\d]{26}$namestring | nullrequired
Full name.
Max length: 1024
emailstring (email)required
Example:
test@paddle.comEmail address for this customer.
Length: 1–320
marketing_consentbooleanrequired
Default:
falseWhether this customer opted into marketing from you.
false unless customers check the marketing consent box
when using Paddle Checkout. Set automatically by Paddle.statusstringrequired
Default:
activeWhether this entity can be used in Paddle.
Values
activeEntity is active and can be used.archivedEntity is archived, so can't be used.
custom_dataobject | nullrequired
Example:
{"customer_reference_id":"abcd1234"}Your own structured key-value data.
localestringrequired
Default:
enValid IETF BCP 47 short form locale tag. If omitted, defaults to
en.created_atstring (date-time)required
Example:
2024-10-12T07:20:50.52ZRFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
updated_atstring (date-time)required
Example:
2024-10-13T07:20:50.52ZRFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
import_metaobject | nullrequired
Import information for this entity.
null if this entity is not imported.external_idstring | null
Example:
9b95b0b8-e10f-441a-862e-1936a6d818abReference or identifier for this entity from the provider where it was imported from.
Length: 1–200
imported_fromstringrequired
Example:
paddle_classicName of the platform or provider where this entity was imported from.
Length: 1–200
metaobjectrequired
Information about this response.
request_idstringrequired
Example:
b15ec92e-8688-40d4-a04d-f44cbec93355Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.
paginationobjectrequired
Keys used for working with paginated results.
per_pageintegerrequired
Number of entities per page for this response. May differ from the number requested if the requested number is greater than the maximum.
nextstring (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_morebooleanrequired
Whether this response has another page.
estimated_totalinteger
Example:
999Estimated number of entities for this response.
{ "data": [ { "id": "ctm_01hv6y1jedq4p1n0yqn5ba3ky4", "status": "active", "custom_data": null, "name": "Jo Brown-Anderson", "email": "jo@example.com", "marketing_consent": false, "locale": "en", "created_at": "2024-04-11T15:57:24.813Z", "updated_at": "2024-04-11T15:59:56.658719Z", "import_meta": null }, { "id": "ctm_01h844q4mznqpgqgm6evgw1w63", "status": "active", "custom_data": null, "name": "Jamie Price", "email": "jamie@example.com", "marketing_consent": false, "locale": "en", "created_at": "2023-08-18T10:58:05.087Z", "updated_at": "2024-04-11T15:55:02.727195Z", "import_meta": null }, { "id": "ctm_01h844p3h41s12zs5mn4axja51", "status": "active", "custom_data": null, "name": "Alex Wilson", "email": "alex@example.com", "marketing_consent": false, "locale": "en", "created_at": "2023-08-18T10:57:31.172Z", "updated_at": "2024-04-11T15:55:19.492484Z", "import_meta": null }, { "id": "ctm_01hrffh7gvp29kc7xahm8wddwa", "status": "active", "custom_data": null, "name": "Sam Miller", "email": "sam@example.com", "marketing_consent": false, "locale": "en", "created_at": "2024-03-08T16:49:53.691Z", "updated_at": "2024-04-11T16:03:57.924146Z", "import_meta": null } ], "meta": { "request_id": "913dee78-d496-4d13-a93e-09d834c208dd", "pagination": { "per_page": 50, "next": "https://api.paddle.com/customers?after=ctm_01h8441jn5pcwrfhwh78jqt8hk", "has_more": false, "estimated_total": 4 } }}