Welcome to the Freemius API Documentation!
You can use our API to access Freemius API endpoints, which can get information on various aspects of Freemius.
If you're using Freemius for a WordPress product, please check out our official SDK.
We support Bearer authentication. You can get the API Key from the Freemius Developer Dashboard for a product.
More information can be found under the Security section of every endpoint.
https://api.freemius.com/v1/
https://docs.freemius.com/_mock/api/
https://api.freemius.com/v1/products/{product_id}/subscriptions/{subscription_id}.json
https://docs.freemius.com/_mock/api/products/{product_id}/subscriptions/{subscription_id}.json
curl -i -X GET \
'https://api.freemius.com/v1/products/1234/subscriptions/1234.json?fields=id%2Cname%2Cslug' \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>'
Subscription retrieved.
The ID of the installation or site the entity is associated with, a null
value means it has not been associated with an installation yet.
The ID of the pricing associated with the entity.
The ISO 3166-1 alpha 2 two-letter country code associated with the entity.
The business VAT number (EU or UK territories) or other tax ID (for example Sales Tax ID for the US).
The ID of the coupon associated with the entity.
The source of the migration data. To get support migrating from other platform please see our documentation.
0
- Freemius1
- Other2
- Easy Digital Downloads (EDD)3
- WooCommerce (WC)4
- Rating Widget5
- Gumroad6
- CodeCanyon7
- ThemeForest8
- AppSumo9
- SendOwl10
- WHMCS11
- Lemon SqueezyThe gateway used for the purchase. The gateway will be set to null
when purchasing a product with a 100% discount.
The environment the entity belongs to. 0 means it belongs to the production environment, 1 means it belongs to the sandbox environment.
The date and time the entity was created, under UTC timezone.
The date and time the entity was updated, under UTC timezone. If null
then the entity was never updated since its creation.
The tax rate as a fraction. It will either be US sales tax or VAT.
The total gross amount of the subscription, including taxes.
The plan's original amount per cycle (not including taxes).
The renewals discount that will be applied to the chosen plan.
The type of renewals discount, percentage or dollar.
The billing cycle of the subscription in number of months. 1 means monthly, 12 means annually, 0 means lifetime usually when subscriptions are created for lifetime trials.
Any outstanding balance that the user has for this subscription.
The date time when the trial period ends. If null
the subscription is not associated with a trial.
Datetime of the next payment, or null
if cancelled.
{ "user_id": "123456", "install_id": "123456", "plan_id": "123456", "pricing_id": "123456", "license_id": "123456", "ip": "0.0.0.0", "country_code": "us", "zip_postal_code": "92710", "vat_id": "GB12345678", "coupon_id": "123456", "user_card_id": "12345", "source": 0, "plugin_id": "123456", "external_id": "abcde12345", "gateway": "string", "environment": 0, "id": "123456", "created": "2025-01-01 00:00:00", "updated": "2025-01-01 00:00:00", "currency": "usd", "tax_rate": "1.00", "total_gross": "1.21", "amount_per_cycle": "1.00", "initial_amount": "1.00", "renewal_amount": "1.00", "renewals_discount": "1", "renewals_discount_type": "percentage", "billing_cycle": 1, "outstanding_balance": "1.00", "failed_payments": "1", "trial_ends": "2025-01-01 00:00:00", "next_payment": "2025-01-01 00:00:00", "canceled_at": "2025-01-01 00:00:00" }
Update a subscription's auto-renewal status and activate a cancellation coupon.
To cancel a subscription please use the Developer Dashboard.
Logs an event that confirms the user requested that the subscription will continue to auto-renew.
https://api.freemius.com/v1/products/{product_id}/subscriptions/{subscription_id}.json
https://docs.freemius.com/_mock/api/products/{product_id}/subscriptions/{subscription_id}.json
curl -i -X PUT \
https://api.freemius.com/v1/products/1234/subscriptions/1234.json \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>' \
-H 'Content-Type: application/json' \
-d '{}'
Subscription retrieved.
The ID of the installation or site the entity is associated with, a null
value means it has not been associated with an installation yet.
The ID of the pricing associated with the entity.
The ISO 3166-1 alpha 2 two-letter country code associated with the entity.
The business VAT number (EU or UK territories) or other tax ID (for example Sales Tax ID for the US).
The ID of the coupon associated with the entity.
The source of the migration data. To get support migrating from other platform please see our documentation.
0
- Freemius1
- Other2
- Easy Digital Downloads (EDD)3
- WooCommerce (WC)4
- Rating Widget5
- Gumroad6
- CodeCanyon7
- ThemeForest8
- AppSumo9
- SendOwl10
- WHMCS11
- Lemon SqueezyThe gateway used for the purchase. The gateway will be set to null
when purchasing a product with a 100% discount.
The environment the entity belongs to. 0 means it belongs to the production environment, 1 means it belongs to the sandbox environment.
The date and time the entity was created, under UTC timezone.
The date and time the entity was updated, under UTC timezone. If null
then the entity was never updated since its creation.
The tax rate as a fraction. It will either be US sales tax or VAT.
The total gross amount of the subscription, including taxes.
The plan's original amount per cycle (not including taxes).
The renewals discount that will be applied to the chosen plan.
The type of renewals discount, percentage or dollar.
The billing cycle of the subscription in number of months. 1 means monthly, 12 means annually, 0 means lifetime usually when subscriptions are created for lifetime trials.
Any outstanding balance that the user has for this subscription.
The date time when the trial period ends. If null
the subscription is not associated with a trial.
Datetime of the next payment, or null
if cancelled.
{ "user_id": "123456", "install_id": "123456", "plan_id": "123456", "pricing_id": "123456", "license_id": "123456", "ip": "0.0.0.0", "country_code": "us", "zip_postal_code": "92710", "vat_id": "GB12345678", "coupon_id": "123456", "user_card_id": "12345", "source": 0, "plugin_id": "123456", "external_id": "abcde12345", "gateway": "string", "environment": 0, "id": "123456", "created": "2025-01-01 00:00:00", "updated": "2025-01-01 00:00:00", "currency": "usd", "tax_rate": "1.00", "total_gross": "1.21", "amount_per_cycle": "1.00", "initial_amount": "1.00", "renewal_amount": "1.00", "renewals_discount": "1", "renewals_discount_type": "percentage", "billing_cycle": 1, "outstanding_balance": "1.00", "failed_payments": "1", "trial_ends": "2025-01-01 00:00:00", "next_payment": "2025-01-01 00:00:00", "canceled_at": "2025-01-01 00:00:00" }
Retrieve the subscription collecttion associated with your product.
Subscriptions are created when someone purchases your product using the Freemius Checkout.
There are various parameters to help you search and/or filter subscription.
Optional filtering based on the status of the subscription. Defaults to all
.
When set to true
enrich the subscriptions with the plan name, install URL & title, and user email.
The number of records to skip before starting to return records. Default is 0.
Comma separated list of fields to return in the response. If not specified, all fields are returned.
https://api.freemius.com/v1/products/{product_id}/subscriptions.json
https://docs.freemius.com/_mock/api/products/{product_id}/subscriptions.json
curl -i -X GET \
'https://api.freemius.com/v1/products/1234/subscriptions.json?billing_cycle=1&count=10&extended=false&fields=id%2Cname%2Cslug&filter=all&gateway=stripe&offset=10&search=string&sort=-id' \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>'
{ "subscriptions": [ { … } ], "discounts": [ { … } ] }
https://api.freemius.com/v1/products/{product_id}/subscriptions/{subscription_id}/payments.json
https://docs.freemius.com/_mock/api/products/{product_id}/subscriptions/{subscription_id}/payments.json
curl -i -X GET \
'https://api.freemius.com/v1/products/1234/subscriptions/1234/payments.json?count=10&fields=id%2Cname%2Cslug&offset=10' \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>'
{ "payments": [ { … } ] }
In case you want to synchronize migrated subscription from the legacy platform use this endpoint to have our system log a migrated payment. Depending on your use case you can also choose to extend the license. Please read our migration documentation to learn more.
The source of the migration data. To get support migrating from other platform please see our documentation.
The actual tax amount. It could be any kind of tax, not necessarily VAT. For example we support US Sales Tax.
The fee that the gateway took for processing this payment.
https://api.freemius.com/v1/products/{product_id}/subscriptions/{subscription_id}/payments.json
https://docs.freemius.com/_mock/api/products/{product_id}/subscriptions/{subscription_id}/payments.json
curl -i -X POST \
https://api.freemius.com/v1/products/1234/subscriptions/1234/payments.json \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>' \
-H 'Content-Type: application/json' \
-d '{}'
The payment was successfully created.
The ID of the installation or site the entity is associated with, a null
value means it has not been associated with an installation yet.
The ID of the pricing associated with the entity.
The ISO 3166-1 alpha 2 two-letter country code associated with the entity.
The business VAT number (EU or UK territories) or other tax ID (for example Sales Tax ID for the US).
The ID of the coupon associated with the entity.
The source of the migration data. To get support migrating from other platform please see our documentation.
0
- Freemius1
- Other2
- Easy Digital Downloads (EDD)3
- WooCommerce (WC)4
- Rating Widget5
- Gumroad6
- CodeCanyon7
- ThemeForest8
- AppSumo9
- SendOwl10
- WHMCS11
- Lemon SqueezyThe gateway used for the purchase. The gateway will be set to null
when purchasing a product with a 100% discount.
The environment the entity belongs to. 0 means it belongs to the production environment, 1 means it belongs to the sandbox environment.
The date and time the entity was created, under UTC timezone.
The date and time the entity was updated, under UTC timezone. If null
then the entity was never updated since its creation.
The ID of the subscription associated with the entity.
The ID of the payment that this payment is bound to, in case of a refund or chargeback/dispute.
The fee that the gateway took for processing this payment.
The actual tax amount. It could be any kind of tax, not necessarily VAT. For example we support US Sales Tax.
{ "user_id": "123456", "install_id": "123456", "plan_id": "123456", "pricing_id": "123456", "license_id": "123456", "ip": "0.0.0.0", "country_code": "us", "zip_postal_code": "92710", "vat_id": "GB12345678", "coupon_id": "123456", "user_card_id": "12345", "source": 0, "plugin_id": "123456", "external_id": "abcde12345", "gateway": "string", "environment": 0, "id": "123456", "created": "2025-01-01 00:00:00", "updated": "2025-01-01 00:00:00", "subscription_id": "123456", "gross": 2075.45, "bound_payment_id": "123456", "gateway_fee": 2.99, "vat": 1.24, "is_renewal": false, "type": "payment" }