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

Retrieve the pricing table data

Request

Retrieve the plugin's full features & pricing data for a pricing table. This is used by our official pricing page app inside the WordPress SDK.

Path
product_idinteger(int64)>= 1required

The ID of the product.

Example: 1234
Query
currencystring= 3 characters

The currency to use for the pricing.

Enum"usd""eur""gbp"
show_pendingboolean
Default false
typeany

Whether to show all plans or only the visible ones.

Default "all"
Enum"all""visible"
is_enrichedboolean

If set to true, the result will be enriched with some of the context plugin's information.

Default false
bundle_product_idstring

(optional) (Development Only) The ID of the parent bundle product. When getting the pricing of a product, if the product is part of a bundle, you can set the value here (along with the public key of the bundle). This will be used to determine the trial status of the product in sandbox mode. Our WP SDK uses it internally.

bundle_product_public_keystring

(optional) (Development Only) Used alongside the bundle_product_id parameter.

curl -i -X GET \
  'https://api.freemius.com/v1/products/1234/pricing.json?bundle_product_id=string&bundle_product_public_key=string&currency=usd&is_enriched=false&show_pending=false&type=all' \
  -H 'Authorization: Bearer <YOUR_AccessToken_HERE>'

Responses

The features and pricing data.

Bodyapplication/json
pluginobject(Product)

A product is a software that is being sold on Freemius. It can be a WordPress plugin, theme, SaaS, or any other software that is being sold on Freemius.

plansArray of objects
reviewsArray of objects(ProductReview)

Verified and featured reviews of the product.

active_installsinteger

The estimated number of active installs of the product.

Example: 10000
downloadsinteger

The estimated number of downloads of the product.

Example: 5000
all_plans_single_site_pricingobject

Single site pricing for all plans indexed by plan ID

Example: {"16633":{"monthly_price":{"usd":9.99,"gbp":7.99,"eur":8.99},"annual_price":{"usd":99.99,"gbp":79.99,"eur":89.99},"lifetime_price":{"usd":299.99,"gbp":249.99,"eur":279.99}}}
checkout_urlstring

The URL to the Freemius Checkout. You need to append the product id and plan id as necessary. Please refer to the Checkout documentation for more information.

Example: "https://checkout.freemius.com"
fs_wp_endpoint_urlstring

The URL to the Freemius WP Endpoint. This is internally used by the Freemius SDK.

Example: "https://wp.freemius.com"
trial_modeboolean

Whenther the product supports trial for the current install/site. This is relevant for WP products only.

Example: true
trial_utilizedboolean

Whether the trial has been utilized for the current install/site. This is relevant for WP products only.

Example: false
Response
application/json
{ "plugin": { "secret_key": "sk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "public_key": "pk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "id": "123456", "created": "2025-01-01 00:00:00", "updated": "2025-01-01 00:00:00", "parent_plugin_id": "123456", "developer_id": "123456", "store_id": "123456", "slug": "my-freemius-plugin", "title": "My Freemius Plugin", "environment": 0, "icon": "https://img.freemius.com/plugin-icon-blue.png", "default_plan_id": "string", "plans": "123456,123457,123458", "features": "123456,123457,123458", "money_back_period": 0, "refund_policy": "flexible", "annual_renewals_discount": 0, "renewals_discount_type": "percentage", "is_released": true, "is_sdk_required": true, "is_pricing_visible": true, "is_wp_org_compliant": true, "installs_count": 0, "active_installs_count": 0, "free_releases_count": 0, "premium_releases_count": 0, "total_purchases": 0, "total_subscriptions": 0, "total_renewals": 0, "total_failed_purchases": "1234", "earnings": "1234.56", "type": "plugin", "is_static": true }, "plans": [ {} ], "reviews": [ {} ], "active_installs": 10000, "downloads": 5000, "all_plans_single_site_pricing": { "16633": {} }, "checkout_url": "https://checkout.freemius.com", "fs_wp_endpoint_url": "https://wp.freemius.com", "trial_mode": true, "trial_utilized": false }

Retrieve a review

Request

Retrieve a product review by ID.

Path
product_idinteger(int64)>= 1required

The ID of the product.

Example: 1234
review_idinteger(int64)>= 1required

The ID of the review.

Example: 1234
curl -i -X GET \
  https://api.freemius.com/v1/products/1234/reviews/1234.json \
  -H 'Authorization: Bearer <YOUR_AccessToken_HERE>'

Responses

The retrieved review.

Bodyapplication/json
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"
plugin_idstring(int64)>= 1

The ID of the product the entity belongs to.

Example: "123456"
external_idstring

The external ID of the review (in case migrating from another system).

user_idstring or null(int64)>= 1

The ID of the user the entity belongs to. If NULL then still not associated to any user.

Example: "123456"
rateinteger[ 0 .. 100 ]

The score of the review.

Example: 80
titlestring

The title of the review.

Example: "Great plugin! It works perfectly."
textstring

The content of the review.

Example: "I love this plugin! It has all the features I need and more. The support team is also very responsive and helpful. Highly recommend!"
namestring

The full name of the reviewer.

Example: "John Doe"
job_titlestring

The job title of the reviewer.

Example: "Software Engineer"
companystring

The company name of the reviewer.

Example: "Example Software Inc."
company_urlstring

The URL of the entity.

Example: "https://www.example.com"
picturestring(binary)

The icon of the entity, must be a valid JPG, PNG or GIF image, with dimension not exceeding 300px by 300px. Max allowed size is 200KB

profile_urlstring

The URL of the reviewer's profile.

Example: "https://example.com/profile"
license_idstring(int64)>= 1

The ID of the license associated with the entity.

Example: "123456"
is_verifiedboolean

Whether this is a genuine review generated by a real user.

Default true
is_featuredboolean

Whether the review should be included in marketing material (e.g. pricing page).

Default false
Response
application/json
{ "id": "123456", "created": "2025-01-01 00:00:00", "updated": "2025-01-01 00:00:00", "plugin_id": "123456", "external_id": "string", "user_id": "123456", "rate": 80, "title": "Great plugin! It works perfectly.", "text": "I love this plugin! It has all the features I need and more. The support team is also very responsive and helpful. Highly recommend!", "name": "John Doe", "job_title": "Software Engineer", "company": "Example Software Inc.", "company_url": "https://www.example.com", "picture": "string", "profile_url": "https://example.com/profile", "license_id": "123456", "is_verified": true, "is_featured": false }

Update a review

Request

Update a product review by ID

The rate can only be modified for developer generated reviews.

Path
product_idinteger(int64)>= 1required

The ID of the product.

Example: 1234
review_idinteger(int64)>= 1required

The ID of the review.

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
Bodyrequired
picturestring(binary)

Reviewer's profile picture. A maximum of 200KB in size and 300px width and 300px height is allowed.

datastring(json)

The JSON data of the endpoint, matching the same schema as the json request body. Must be a valid JSON object.

Example: "{\"name\":\"My Product\"}"
curl -i -X PUT \
  'https://api.freemius.com/v1/products/1234/reviews/1234.json?fields=id%2Cname%2Cslug' \
  -H 'Authorization: Bearer <YOUR_AccessToken_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F picture=string \
  -F 'data={"name":"My Product"}'

Responses

The updated review.

Bodyapplication/json
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"
plugin_idstring(int64)>= 1

The ID of the product the entity belongs to.

Example: "123456"
external_idstring

The external ID of the review (in case migrating from another system).

user_idstring or null(int64)>= 1

The ID of the user the entity belongs to. If NULL then still not associated to any user.

Example: "123456"
rateinteger[ 0 .. 100 ]

The score of the review.

Example: 80
titlestring

The title of the review.

Example: "Great plugin! It works perfectly."
textstring

The content of the review.

Example: "I love this plugin! It has all the features I need and more. The support team is also very responsive and helpful. Highly recommend!"
namestring

The full name of the reviewer.

Example: "John Doe"
job_titlestring

The job title of the reviewer.

Example: "Software Engineer"
companystring

The company name of the reviewer.

Example: "Example Software Inc."
company_urlstring

The URL of the entity.

Example: "https://www.example.com"
picturestring(binary)

The icon of the entity, must be a valid JPG, PNG or GIF image, with dimension not exceeding 300px by 300px. Max allowed size is 200KB

profile_urlstring

The URL of the reviewer's profile.

Example: "https://example.com/profile"
license_idstring(int64)>= 1

The ID of the license associated with the entity.

Example: "123456"
is_verifiedboolean

Whether this is a genuine review generated by a real user.

Default true
is_featuredboolean

Whether the review should be included in marketing material (e.g. pricing page).

Default false
Response
application/json
{ "id": "123456", "created": "2025-01-01 00:00:00", "updated": "2025-01-01 00:00:00", "plugin_id": "123456", "external_id": "string", "user_id": "123456", "rate": 80, "title": "Great plugin! It works perfectly.", "text": "I love this plugin! It has all the features I need and more. The support team is also very responsive and helpful. Highly recommend!", "name": "John Doe", "job_title": "Software Engineer", "company": "Example Software Inc.", "company_url": "https://www.example.com", "picture": "string", "profile_url": "https://example.com/profile", "license_id": "123456", "is_verified": true, "is_featured": false }

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

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

Deployments

Operations related to version deployments and retrieval.

Operations