WebinarUnlocking growth outside the US - 24 July   Join us
Customers API

The ProfitWell Customers API let's you pull customer data out of ProfitWell.

There are two endpoints: one to retrieve an individual customer by his customer_id, and the other to search for customers.

IMPORTANT: The URLs MUST end in a slash, and any query parameters must go after that slash.


For all your requests, you must provide an "Authorization" header whose value is your private API token (found in the ProfitWell app).

Retrieve a Customer by ID

URL: https://api.profitwell.com/v2/customers/<customer_id>/

Where <customer_id> is replaced with the data-provider specific customer ID. In Stripe, for example, the customer_id is something like cus_H7EURG4fhTh6oN

Returns a JSON representation of the customer

Search for Customers

This is the more useful endpoint. You can use it to iterate through all customers, ordered by their updated_on date. You can also search for customers by email here but that's probably a less useful function.

URL: https://api.profitwell.com/v2/customers/

Query Parameters:

  • date_field
    • optional
    • valid values: updated_on
    • default: updated_on
  • start_date:
    • optional
    • inclusive
    • Many formats acceptable, including Unix timestamps and strings like "2020-05-20T18:45:22Z"
    • default: None
  • end_date:
    • optional
    • exclusive
    • Many formats acceptable, including Unix timestamps and strings like "2020-05-20T18:45:22Z"
    • default: None
  • email:
    • optional
    • default: None
  • page:
    • optional
    • default: 1
    • max: 100000 / per_page
  • per_page:
    • optional
    • default: 250
    • max: 250
  • direction
    • optional
    • valid values: asc, desc
    • default: asc

So a full URL might be:

https://api.profitwell.com/v2/customers/?date_field=updated_on&start_date=2020-05-20 12:00:00&end_date=2020-05-21 00:00:00&page=1&per_page=10&direction=asc

And again, notice how the query parameters follow a trailing slash.

If you're iterating through a company with lots of customers, and you've exhausted the maximum page number, just move the start_date of the query forward. In fact, moving the start_date forward results in faster responses than using high page numbers.

Error codes:

  • 401 for either endpoint if you're unauthorized
  • 404 for the "Retrieve a Customer By ID" endpoint if the customer cannot be found
  • 400 for the "Search for Customers" endpoint if one of the query parameters is invalid
  • 500 for either endpoint if something unexpected goes wrong on our end

Possible customer status'

  • trialing
  • active
  • cancelled
  • churned_voluntary
  • churned_delinquent
  • churned_trial
  • no_history

Need more help?

Login to your Paddle account to chat directly with our Seller Support Team or…