Gumroad beta
Query your Gumroad store for products, sales and license keys
by Dashkit
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
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
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 |
text | ||
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 |
text | ||
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?
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.