Freemius API (1.0)

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.

  • Manage products.
  • Manage license verifications.
  • Create custom integration with your SaaS.

If you're using Freemius for a WordPress product, please check out our official SDK.

Bearer Token Auth

We support Bearer authentication. You can get the API Key from the Freemius Developer Dashboard for a product.

  1. Open the Settings page of the relevant product.
  2. Click on the API Token tab.
  3. Copy the API Bearer Authorization Token from the UI.

More information can be found under the Security section of every endpoint.

Download OpenAPI description
Languages
Servers
Production API

https://api.freemius.com/v1/

Mock server

https://docs.freemius.com/_mock/api/

Products

All operations which can be done on a product.

Operations

Subscriptions

All operations associated to a subscription.

Operations

Users

All operations which can be done on a user belonging to a store or a product.

Operations

Licenses

All operations which can be done on a license belonging to a store or a product.

Operations

Coupons

All operations which can be done on a coupon belonging to a store or a product.

Operations

Carts

All operations which can be done on a cart belonging to a store or a product.

Operations

Payments

All operations associated to a payment.

Operations

Retrieve a payment

Request

Retrieve a specific payment.

Path
product_idinteger(int64)>= 1required

The ID of the product.

Example: 1234
payment_idinteger(int64)>= 1required

The ID of the payment.

Example: 1234
Query
fieldsstring

Comma separated list of fields to return in the response. If not specified, all fields are returned.

Example: fields=id,name,slug
curl -i -X GET \
  'https://api.freemius.com/v1/products/1234/payments/1234.json?fields=id%2Cname%2Cslug' \
  -H 'Authorization: Bearer <YOUR_AccessToken_HERE>'

Responses

Retrieve a specific payment.

Bodyapplication/json
user_idstring(int64)>= 1

The ID of the user the entity belongs to.

Example: "123456"
install_idstring or null(int64)>= 1

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.

Example: "123456"
plan_idstring(int64)>= 1

The ID of the plan associated with the entity.

Example: "123456"
pricing_idstring or null(int64)>= 1

The ID of the pricing associated with the entity.

Example: "123456"
license_idstring(int64)>= 1

The ID of the license associated with the entity.

Example: "123456"
ipstring or null(ipv4|ipv6)

The IP address associated with the entity.

Example: "0.0.0.0"
country_codestring

The ISO 3166-1 alpha 2 two-letter country code associated with the entity.

Example: "us"
zip_postal_codestring or null

The postal/zip code of the location.

Example: "92710"
vat_idstring or null

The business VAT number (EU or UK territories) or other tax ID (for example Sales Tax ID for the US).

Example: "GB12345678"
coupon_idstring or null(int64)>= 1

The ID of the coupon associated with the entity.

Example: "123456"
user_card_idstring(int64)

The ID of the user card that was used for this payment.

Example: "12345"
sourcenumber

The source of the migration data. To get support migrating from other platform please see our documentation.

  • 0 - Freemius
  • 1 - Other
  • 2 - Easy Digital Downloads (EDD)
  • 3 - WooCommerce (WC)
  • 4 - Rating Widget
  • 5 - Gumroad
  • 6 - CodeCanyon
  • 7 - ThemeForest
  • 8 - AppSumo
  • 9 - SendOwl
  • 10 - WHMCS
  • 11 - Lemon Squeezy
Enum0123456789
plugin_idstring(int64)>= 1

The ID of the product the entity belongs to.

Example: "123456"
external_idstring

The external ID of the gateway entity.

Example: "abcde12345"
gatewaystring or null

The gateway used for the purchase. The gateway will be set to null when purchasing a product with a 100% discount.

environmentnumber

The environment the entity belongs to. 0 means it belongs to the production environment, 1 means it belongs to the sandbox environment.

Enum10
Example: 0
idstring(int64)>= 1

The unique identifier of the entity.

Example: "123456"
createdstring(date-time)

The date and time the entity was created, under UTC timezone.

Example: "2025-01-01 00:00:00"
updatedstring or null(date-time)

The date and time the entity was updated, under UTC timezone. If null then the entity was never updated since its creation.

Example: "2025-01-01 00:00:00"
subscription_idstring or null(int64)>= 1

The ID of the subscription associated with the entity.

Example: "123456"
grossnumber(float)

The payment amount (not including taxes).

Example: 2075.45
bound_payment_idstring(int64)>= 1

The ID of the payment that this payment is bound to, in case of a refund or chargeback/dispute.

Example: "123456"
gateway_feenumber(float)

The fee that the gateway took for processing this payment.

Default 0
Example: 2.99
vatnumber

The actual tax amount. It could be any kind of tax, not necessarily VAT. For example we support US Sales Tax.

Default 0
Example: 1.24
is_renewalboolean

If the payment is a renewal.

Default false
typestring

The type of the payment.

Default "payment"
Enum"payment""refund""disputed""won_dispute""lost_dispute""chargeback"
Response
application/json
{ "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" }

List all payments

Request

Retrieve the payment collection associated with the product.

Filtering and searching

You search and/or filter payments with these parameters:

  • search - You can search by payment_id, external_payment_id, or user_email. It can be a number or string.
  • user_id - If you are looking to list all payments for a specific user use this.
  • billing_cycle - Filter payments by billing cycle. 0 means lifetime payments.
  • currency - Filter payments by currency.
  • coupon_id - Filter payments by coupon ID.
  • filter - Filter payments by different types: all, refunds, not_refunded, disputed, won_disputes, chargebacks.

Please see the parameters in the responses body for more information.

Path
product_idinteger(int64)>= 1required

The ID of the product.

Example: 1234
Query
searchstring

Search by payment_id, external_payment_id, or user_email.

search_user_idstring(int64)>= 1

User ID to filter with.

Example: search_user_id=123456
billing_cyclenumber

Filter by billing cycle.

Enum1120
currencystring= 3 characters

3-char currency code.

Enum"usd""eur""gbp"
coupon_idstring(int64)>= 1

Filter payments by coupon ID.

Example: coupon_id=123456
filterstring

Filter payments by different types

Default "all"
Enum"all""refunds""not_refunded""disputed""won_disputes""chargebacks"
extendedboolean

If true, loads linked user, plan and subscription.

Default false
tostring(date-time)

The end of the date range in YYYY-MM-DD HH:MM:SS format

Example: to=2025-08-01 00:00:00
fromstring(date-time)

The start of the date range in YYYY-MM-DD HH:MM:SS format

Example: from=2025-08-01 00:00:00
countinteger[ 1 .. 50 ]

The number of records to return.

Default 25
Example: count=10
offsetinteger>= 0

The number of records to skip before starting to return records. Default is 0.

Default 0
Example: offset=10
fieldsstring

Comma separated list of fields to return in the response. If not specified, all fields are returned.

Example: fields=id,name,slug
curl -i -X GET \
  'https://api.freemius.com/v1/products/1234/payments.json?billing_cycle=1&count=10&coupon_id=123456&currency=usd&extended=false&fields=id%2Cname%2Cslug&filter=all&from=2025-08-01%2000%3A00%3A00&offset=10&search=string&search_user_id=123456&to=2025-08-01%2000%3A00%3A00' \
  -H 'Authorization: Bearer <YOUR_AccessToken_HERE>'

Responses

The payment collection.

Bodyapplication/json
paymentsArray of objects
discountsArray of objects(Discount)
Response
application/json
{ "payments": [ {} ], "discounts": [ {} ] }

Installations

Operations related to the installation of a product.

Operations

Trials

Operations related to a trial license of a product.

Operations

Addons

Operations related to an addon of a product.

Operations

Plans

Operations related to plans, pricings and features of a product.

Operations