List Sales

gumroad.list_sales
ActionBusiness appsconnection required

Calls the Gumroad API with the connection's credentials.

List a page of successful sales, newest first, optionally narrowed to a date range, a product, a buyer, an order or a licence key.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
Gumroad
Secret shape
the Gumroad access token, or {"access_token": "…"}
Config it needs
base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

8 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
after
Only return sales made on or after this date, as YYYY-MM-DD.
stringNo—matches ^\d{4}-\d{2}-\d{2}$2026-01-01
before
Only return sales made on or before this date, as YYYY-MM-DD.
stringNo—matches ^\d{4}-\d{2}-\d{2}$2026-01-31
product_id
Only return sales of this product, by its Gumroad product id.
stringNo——A-mMS-2Vd0Nn0-hHnZmMQQ==
email
Only return sales made by this buyer's email address.
stringNo—email format—
order_id
Only return the sale with this numeric order id.
stringNo——524612724
name
Only return sales whose buyer name matches this text.
stringNo———
license_key
Only return the sale that issued this licence key.
stringNo———
page_key
The next_page_key from a previous call, to fetch the following page.
stringNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "after": "2026-01-01",
  "before": "2026-01-31",
  "order_id": "524612724",
  "product_id": "A-mMS-2Vd0Nn0-hHnZmMQQ=="
}

Output

One shape.

result

FieldTypeExample
sales
The sales on this page, newest first.
array—
count
How many sales this page carried.
number—
next_page_key
Feed this back as page_key for the next page.
string—
next_page_url
Gumroad's own URL for the next page.
string—
sales[].id
The sale's Gumroad id.
string—
sales[].email
The buyer's email address.
string—
sales[].purchase_email
The address the purchase itself was made with.
string—
sales[].full_name
The buyer's name, when they gave one.
string—
sales[].seller_id
The seller's Gumroad id.
string—
sales[].created_at
ISO-8601 time the sale was made.
string—
sales[].timestamp
How long ago the sale was made, in words.
string—
sales[].product_id
The product's Gumroad id.
string—
sales[].product_name
The product's name.
string—
sales[].product_permalink
The product's short permalink.
string—
sales[].price
What the buyer paid, in the smallest currency unit.
number—
sales[].gumroad_fee
Gumroad's fee on the sale, in the same unit.
number—
sales[].currency
ISO code of the currency the sale is listed in.
string—
sales[].formatted_total_price
The total as Gumroad displays it.
string—
sales[].amount_refundable_in_currency
How much of the sale can still be refunded.
string—
sales[].order_id
The numeric order id, which also filters the sales list.
number—
sales[].quantity
How many units the sale covers.
number—
sales[].refunded
True once the sale has been refunded in full.
boolean—
sales[].partially_refunded
True when only part of the sale was refunded.
boolean—
sales[].disputed
True while a chargeback is open on the sale.
boolean—
sales[].dispute_won
True when a chargeback was reversed in the seller's favour.
boolean—
sales[].chargedback
True when the sale was charged back and not reversed.
boolean—
sales[].license_key
The licence key issued for the sale, when the product has one.
string—
sales[].is_recurring_billing
True when the product is a membership.
boolean—
sales[].subscription_id
The subscription the sale belongs to, for memberships.
string—
sales[].variants
The variant names the buyer chose, by category.
object—
sales[].custom_fields
The custom checkout fields the buyer filled in.
object—
sales[].country
The buyer's country.
string—
sales[].referrer
Where the buyer came from.
string—
{
  "count": 0,
  "next_page_key": "",
  "next_page_url": "",
  "sales": [
    {
      "amount_refundable_in_currency": "",
      "chargedback": false,
      "country": "",
      "created_at": "",
      "currency": "",
      "custom_fields": {},
      "dispute_won": false,
      "disputed": false,
      "email": "",
      "formatted_total_price": "",
      "full_name": "",
      "gumroad_fee": 0,
      "id": "",
      "is_recurring_billing": false,
      "license_key": "",
      "order_id": 0,
      "partially_refunded": false,
      "price": 0,
      "product_id": "",
      "product_name": "",
      "product_permalink": "",
      "purchase_email": "",
      "quantity": 0,
      "referrer": "",
      "refunded": false,
      "seller_id": "",
      "subscription_id": "",
      "timestamp": "",
      "variants": {}
    }
  ]
}

See List Sales run in a workflow.

In a technical demo we add the Gumroad connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.