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}/plans/currencies.json
https://docs.freemius.com/_mock/api/products/{product_id}/plans/currencies.json
curl -i -X GET \
https://api.freemius.com/v1/products/1234/plans/currencies.json \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>'
{ "currencies": [ "usd" ] }
https://api.freemius.com/v1/products/{product_id}/plans/{plan_id}/features.json
https://docs.freemius.com/_mock/api/products/{product_id}/plans/{plan_id}/features.json
curl -i -X GET \
'https://api.freemius.com/v1/products/1234/plans/1234/features.json?count=10&fields=id%2Cname%2Cslug&offset=10' \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>'
{ "features": [ { … } ] }
https://api.freemius.com/v1/products/{product_id}/plans/{plan_id}.json
https://docs.freemius.com/_mock/api/products/{product_id}/plans/{plan_id}.json
curl -i -X GET \
'https://api.freemius.com/v1/products/1234/plans/1234.json?fields=id%2Cname%2Cslug' \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>'
Plan listing.
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 title of the plan. This is the human readable name of the plan. Please do not add the suffix Plan
to the title, as Freemius does that for you at various places.
Whether the plan offers unlimited local or staging activations with the same license.
Whether to block features on expiration of annual licenses. If false
, does not block features but only block updates and support.
Whether to block particular features on expiration of monthly licenses. If false
, does not block features but only block updates and support.
The type of the license. 0
for per domain license. 1
for per subdomain license.
The number of days a trial period will last. If null
the plan does not support trials.
Whether to hide the plan from the auto-generated pricing page. Mostly relevant for WordPress products and our WordPress SDK. Please see our pricing-page library to implement your own.
{ "id": "123456", "created": "2025-01-01 00:00:00", "updated": "2025-01-01 00:00:00", "plugin_id": "123456", "name": "professional", "title": "Professional", "description": "For small to medium businesses.", "is_free_localhost": true, "is_block_features": true, "is_block_features_monthly": true, "license_type": 0, "trial_period": "14", "is_require_subscription": true, "support_kb": "https://example.com/help/documentation", "support_forum": "https://example.com/support", "support_email": "support@example.com", "support_phone": "555-555-5555", "support_skype": "skype_username", "is_success_manager": true, "is_featured": true, "is_hidden": true }
https://api.freemius.com/v1/products/{product_id}/plans.json
https://docs.freemius.com/_mock/api/products/{product_id}/plans.json
curl -i -X GET \
'https://api.freemius.com/v1/products/1234/plans.json?fields=id%2Cname%2Cslug' \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>'
{ "plans": [ { … } ] }
https://api.freemius.com/v1/products/{product_id}/plans/{plan_id}/pricing/clone.json
https://docs.freemius.com/_mock/api/products/{product_id}/plans/{plan_id}/pricing/clone.json
curl -i -X POST \
https://api.freemius.com/v1/products/1234/plans/1234/pricing/clone.json \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>' \
-H 'Content-Type: application/json' \
-d '{}'
{ "pricing": [ { … } ] }
https://api.freemius.com/v1/products/{product_id}/plans/{plan_id}/pricing/{pricing_id}.json
https://docs.freemius.com/_mock/api/products/{product_id}/plans/{plan_id}/pricing/{pricing_id}.json
curl -i -X GET \
'https://api.freemius.com/v1/products/1234/plans/1234/pricing/1234.json?fields=id%2Cname%2Cslug' \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>'
{ "pricing": { "id": "123456", "created": "2025-01-01 00:00:00", "updated": "2025-01-01 00:00:00", "currency": "usd", "plan_id": "1234", "licenses": "10", "monthly_price": "59.99", "annual_price": "159.99", "lifetime_price": "359.99", "is_whitelabeled": true, "is_hidden": true } }
https://api.freemius.com/v1/products/{product_id}/plans/{plan_id}/pricing.json
https://docs.freemius.com/_mock/api/products/{product_id}/plans/{plan_id}/pricing.json
curl -i -X GET \
'https://api.freemius.com/v1/products/1234/plans/1234/pricing.json?count=10¤cy=usd&fields=id%2Cname%2Cslug&offset=10' \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>'
{ "pricing": [ { … } ] }
Create a new license for the plan and pricing. Please note that:
period
or expires_at
or is_block_features
must be set.is_block_features
set to false
and do not specify period
and expires_at
, the license will never expire or block features and will continue to work for lifetime.source
parameter only when creating migrated licenses from a legacy system.More information about every other parameters can be found below.
Guide the Freemius WP SDK when the product should be running in a white-label mode.
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.
Whether to block features after expiration of the license. If set to false
, this would not block features, would only block updates.
The expiration date of the license. If null
then it's a lifetime license.
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 Squeezyhttps://api.freemius.com/v1/products/{product_id}/plans/{plan_id}/pricing/{pricing_id}/licenses.json
https://docs.freemius.com/_mock/api/products/{product_id}/plans/{plan_id}/pricing/{pricing_id}/licenses.json
curl -i -X POST \
https://api.freemius.com/v1/products/1234/plans/1234/pricing/1234/licenses.json \
-H 'Authorization: Bearer <YOUR_AccessToken_HERE>' \
-H 'Content-Type: application/json' \
-d '{}'
{ "license": { "id": "123456", "created": "2025-01-01 00:00:00", "updated": "2025-01-01 00:00:00", "plugin_id": "123456", "user_id": "123456", "plan_id": "123456", "pricing_id": "123456", "quota": 10, "activated": 1, "activated_local": 1, "expiration": "2025-12-31 23:59:59", "secret_key": "sk_123FGqM456Pa786WtOp%^+67Y+;sXXz", "is_free_localhost": true, "is_block_features": true, "is_cancelled": true, "is_whitelabeled": true, "environment": 0, "source": 0 } }