Extension

Gumroad beta

Query your Gumroad store for products, sales and license keys

by Dashkit

Download

One-time download. No subscription.

This extension is currently in free beta. Note that the functionality can still be incomplete and that the tables can still change.

  • Version 0.1.0
  • Operating systems Linux & Mac (ARM)

This SQLite extension connects to your Gumroad account and allows you to view your store products, sales, and license keys with a live connection.

Example

select strftime('%Y-%m', created_at) as month, count(*) as sales from gum_sale group by month; ┌─────────┬───────┐ │ month │ sales │ ├─────────┼───────┤ │ 2025-06 │ 7 │ └─────────┴───────┘

Key points

  • Calls Gumroad directly from your local machine
  • Works with any SQLite program or programming language
  • Uses read-only calls, throttled and safeguarded
  • Fast in-memory cache with a five minute expiry
  • One-time download, no subscription needed
  • Lifetime updates

Tables 11

Community note Some data is missing due to lack of API documentation. If you notice something omitted, let's work together to improve this extension.
gum_custom_field

Custom fields for each product

Column Type Description
custom_field_id text Custom field ID
product_id text Product ID
name text Name
type text Field type
is_per_product bool Collect for each product
is_required bool Whether field is required
gum_product

All products

Column Type Description
product_id text Product ID
name text Name
slug text Slug
subscription text Subscription duration
is_tiered bool Whether is tiered membership
file_size int Filesize in bytes
is_published bool Published
is_deleted bool Deleted
tags json Tags
summary text Summary
description text Description
short_url text Short URL
preview_url text Preview URL
product_url text Product URL
thumbnail_url text Thumbnail URL
gum_product_price

Price details for each product

Column Type Description
product_id text Product ID
currency text ISO 4217 currency code
price real Price of the product
sale_times int Sale times
sale_limit int Sale limit
sale_revenue_usd real Sale revenue (USD)
use_pwyw bool Whether to accept price from customer
is_shipping_required bool Whether product needs to be shipped
price_ppp json Purchasing power parity prices
gum_product_variant

Variants for each product

Column Type Description
product_id text Product ID
name text Name
price_difference real Price difference
use_pwyw bool Whether to accept price from customer
price_ppp json Purchasing power parity prices
gum_product_variant_recurrence

Recurrence for each product variant

Column Type Description
product_id text Product ID
variant_name text Variant name
name text Recurrence name
price real Price
suggest_price real Suggested price for Pay what you want
price_ppp json Purchasing power parity prices
gum_sale

All sales

Column Type Description
sale_id text Sale ID
seller_id text Seller ID
order_number int Order number
email text Email
created_via text Where sale was created
is_recommended bool Whether sold from more like this
custom_fields json Custom fields
created_at datetime Created at
gum_sale_customer

Customer details for each sale

Column Type Description
sale_id text Sale ID
name text Name
email text Email
street text Street
city text City
state text State
postal text Postal code
country text Country ISO 3166 code
is_following bool Whether is following
receive_emails bool Whether receives emails
gum_sale_gift

Gift details for each sale that is a either from the gift sender or receiver

Column Type Description
sale_id text Sale ID
is_gifter bool Whether sale was a gift from a sender
is_giftee bool Whether sale was a gift to a receiver
giftee_email text Giftee email
gifter_email text Gifter email
gum_sale_license

License details for each sale that is a license sale

Column Type Description
sale_id text Sale ID
license_id text License ID
license_key text License key
is_multiseat bool Whether a multiseat license
is_disabled bool Whether license is disabled
gum_sale_payment

Payment details for each sale

Column Type Description
sale_id text Sale ID
price real Price
quantity int Quantity sold
gumroad_fee real Gumroad fee
has_discover_fee bool Whether has discover fee
refundable_amount real Refundable amount
is_paid bool Whether paid
is_recurring bool Whether a recurring charge
card_brand text Card brand
card_last_4 text Last 4 card digits
is_disputed bool Whether disputed
is_dispute_won bool Whether dispute is won
is_chargedback bool Whether chargedback
is_partly_refunded bool Whether partly refunded
gum_sale_product

Product details for each sale

Column Type Description
sale_id text Sale ID
product_id text Product ID
name text Name
slug text Slug
rating int Rating
rating_average real Rating average
rating_times int Rated times
is_upgrade bool Whether an upgrade sale
is_physical bool Whether a physical product

Configuration

Every new SQLite connection should call function gum_config with authentication details. This information is not saved, and kept in-memory for the duration of the connection.

select gum_config('token: ..');

  • token Access token to your Gumroad account
  • prefix Prefix for table names, defaults to gum_

FAQ

For any questions, support, or feedback regarding this extension, please contact support

Why use SQLite extensions?

SQLite extensions can make your development faster and more efficient. They are helpful for both developers and users who are comfortable with SQL. Extensions provide privacy, control, and locality to your data and credentials. Read more

Why should I try this beta extension?

This extension is currently available for free to anyone who wants to try the Gumroad extension. If you send your feedback to support, you will receive the personal version for free when it is released.

Where do I find my Gumroad token?
Please refer to Gumroad documentation for detailed instructions.
Why are you missing some Gumroad data?

Because Gumroad does not document the response structures you will get from their API. In addition, those structures will change based on what was saved, sold, etc.

This presents a problem for us, as mapping responses to database tables involves knowing what data is available and in what format. All alternative SDKs and libraries we could find skipped this as well and used the responses as-is.

We've developed this extension by manually testing what the Gumroad API returns, but this approach is limited by our ability to test out different product variations and sale types.

If you see something missing or mislabeled, let us know via support and let's work together to improve this extension.

What other software do I need?

You will need either Linux or Mac (ARM) 64-bit operating system. Windows is currently not supported.

In addition, you should have SQLite version 3.45.1 or newer installed, with support for extensions.

How do I receive updates?

We will email you when an update to the same extension version has been released.