AWS Marketplace
User Guide for AWS Marketplace Providers

Product Pricing

US dollars (USD) is the only supported currency for pricing.

SaaS Subscriptions Pricing

For SaaS Subscriptions, AWS Marketplace will bill your customers based on the metering records received by us. All charges must be measured and reported every hour from the software deployed in the customer's account. All usage is then calculated monthly and billed monthly using the same mechanism as AMI based AWS Marketplace offerings. AWS’ ability to bill customers for usage of your product is dependent upon receiving metering records from you. You are responsible for ensuring that your product’s metering records are successfully transmitted and received.

SaaS Contracts Pricing

For SaaS Contracts, the customer initiates a purchase of your software and enters into an agreement with you. Under the agreement, the customer is entitled to a specified quantity of use of your SaaS product. AWS Marketplace communicates these entitlements to your SaaS application. This is done through the AWS Marketplace Entitlement Service. When using SaaS Contracts, your application never sends metering records. Instead, it verifies entitlement by calling the AWS Marketplace Entitlement Service. You define the categories, dimensions, and variants, as well as the length of the contract.

AMI Pricing Models

AWS Marketplace has multiple pricing models for AMI products. NOTE: You MUST be able to provide a W-9 tax form (for U.S. based entities) or a W-8 form (for EU- based entities) as described in Seller Registration Process.

Pricing Model Description
Bring Your Own License (BYOL) AWS Marketplace does not charge customers for usage of the software, but customers must supply a license key to activate the product. This key is purchased outside of AWS Marketplace. The entitlement/ licensing enforcement, as well as all pricing and billing are handled by the you.
Free Customers are allowed to run as many instances as EC2 supports with no additional software charges incurred.

Hourly: Software is charged by the hour. Each instance type can be priced differently (but is not required to be) and usage is rounded up to the nearest whole hour.

Hourly with Free Trial: Customers are allowed to run exactly 1 instance of the software without incurring a charge for a predetermined set of days between 5 and 30 days as decided by the you. The Free Trial applies to the most expensive instance type that is running, and any concurrent usage outside the 1 instance is billed at the hourly rate. NOTE- This is a different model than the AWS Free Tier for EC2 usage whereby customers are given 750 hours of free usage each month.

Hourly with Monthly: Both Hourly and Monthly charges are applied independently; the monthly fee is charged every month regardless of usage, the hourly fee is applied based on hourly usage only.

Hourly with Annual: Customers have the option to purchase a year’s worth of usage upfront for one EC2 instance of one instance type. You set the pricing for each instance type and can offer net savings over the hourly price (not required). Any customer usage above the number of annual subscriptions purchased is billed at the hourly rate set by you for that instance type.

Hourly with Free Trial and Annual: This is identical to the Hourly model with an Annual option, except it includes a Free Trial allowing a customer to run 1 instance of any instance type for free for a set number of days that you determine. Annual subscriptions can be purchased at any time, and they are combined with the Free Trial subscription.


Monthly: Software is paid for on a fixed monthly basis, regardless of the number of instances the customer runs. Monthly Charges are pro-rated at sign-up and upon cancellation. Example: A customer who subscribes for 1 day of the month will be charged for 1/30th of the month.

Monthly with Hourly: Both Hourly and Monthly charges are applied independently. The monthly fee is charged every month regardless of usage and the hourly fee is applied based on hourly usage only.

NOTE: Free Trial and Annual pricing cannot be combined with Monthly pricing.


Usage: Software is directly charged for the value you provide along with one of four dimensions: users, data, bandwidth, or hosts. You may define up to 24 variants for the single dimension. All charges are still incurred hourly by the customer. All usage is calculated monthly and billed monthly using the same mechanism as existing AWS Marketplace software. Usage pricing is also referred to as AWS Marketplace Metering Service

NOTE: Free trial and Annual pricing cannot be combined with Usage pricing.

General Pricing Policies

  • For Paid Listings, AWS Marketplace collects software charges from the customer.

  • There is no service fee for BYOL products listed on AWS Marketplace.

  • In order to deliver on our customer promise of selection, we require that all BYOL products also have a paid option. This is so that customers who don’t have existing licenses have the option to purchase and use the products.

  • We realize that the online purchase of software is a departure from how some companies do business. In light of this for the first 90 days after launch we will relax the requirement that this software be accompanied by a version available for purchase on AWS Marketplace. During this time, the AWS Marketplace account management teams will work with you to address challenges and to determine if and how the software can be made available for purchase on AWS Marketplace.

  • There is no service fee for Free or Open Source Software that is made available to customers without charge.

AWS charges vs Software charges

  • All AMI-based products will incur associated AWS infrastructure charges depending on the services and infrastructure used. These rates and fees are defined and controlled by AWS, and can vary between regions. See EC2 Pricing for more information.

  • For Paid, the seller defines the charges for using the software.

These 2 types of prices are displayed separately on the AWS Marketplace detail pages to provide customers with a clear understanding of the potential cost of using the products. For example:

Free Trial

Hourly products are eligible for the optional “Free Trial” program, where a customer can subscribe to the product and use a single instance for up to 31 days without paying any software charges on the product. Applicable AWS infrastructure charges still apply. Simply define the duration of the trial period (5 to 31 days) and notify the AWS Marketplace Seller Operations team.

When a customer subscribers to a Free Trial product they are sent a Welcome email that includes the term of the Free Trial, a calculated expiration date and details on unsubscribing. 3 days prior to the expiration date a reminder email is sent.

If you are offering a Free Trial product in AWS Marketplace, you agree to the specific refund policies described under Refund Policy.

Annual Pricing

An Annual pricing model allows you to offer products to customers who can purchase a 12 month subscription. The subscription pricing can provide up to 40% savings versus running the same product hourly for extended periods. The customer is invoiced for the full amount of the contract at the time of subscription. To read more about the benefits of offering an Annual product, please see the Annual Subscriptions FAQ on the AWS Marketplace site.

Some notes and callouts when working with an Annual product in AWS Marketplace:

  • Annual pricing is defined per instance type. It can be the same for all EC2 instance types or different for each instance type.

  • All Annual instance types must also have an Hourly instance type defined. AWS Marketplace does not offer Annual-only pricing or Hourly without Annual on the same product. For any product offering Annual pricing, Hourly pricing also needs to be specified.

  • A $0 Annual price is allowed on a specific instance type, if the Hourly price is also $0 and there are other non-$0 Annual instance types defined.

  • At the end of the annual subscription period, the customer will start being charged at the hourly price.

  • If a customer buys X Annual subscriptions but is running Y software on Y instances, then the customer will be charged at Hourly software price for (Y-X) instances which are not covered by Annual subscriptions. As such, an Hourly rate must be included for all Annual pricing instance types.

If you are offering an Annual product in AWS Marketplace, you agree to the specific refund policies for Annual products, located in the File Uploader documents section of AWS Marketplace Management Portal.

Usage Pricing

The AWS Marketplace Metering Service enables you to define additional dimensions you want to charge your customers for the value your software provides. As a seller, you can choose one of the dimensions from the following: Users, Hosts, Bandwidth, or Data. You may also define up to 24 variants for the single dimension. All charges must be measured and reported every hour from the software deployed in the customer’s account. All usage is calculated monthly and billed monthly using the same mechanism as existing AWS Marketplace software.

Using the AWS Marketplace Metering Service, you can handle several new pricing scenarios. For instance, if your software monitors hosts, you can charge for each host monitored and set different pricing based on the host size. If your software allows multiple users across an organization, you can charge by user. Each hour, the customer would be charged for the total number of provisioned users.

Note: In the product load form, relevant columns are named as Flexible Consumption Pricing (FCP).

Additional callouts about AWS Marketplace Metering Service products:

  • If your software is already listed on AWS Marketplace, you will need to create a new product to enable an alternate usage dimension. That is, currently, we are unable to convert a standard listing to use the AWS Marketplace Metering Service. After the new product is published, you have a choice of taking down the old listing or keep both on site.

  • The AWS Marketplace Metering Service requires that your software report usage ever hour, recording the customer usage for the hour. If there is a failure in the transmission or receipt of metering service records, AWS will not be able to bill for such usage. You are responsible for ensuring the successful receipt of metering records.

  • At this time, products that use the AWS Marketplace Metering Service do not support 1-Click. Subscribers are required to launch your software with an IAM role with specific permissions and have an Internet Gateway.

  • Free Trial and Annual Pricing are not compatible with the AWS Marketplace Metering Service at this time.

  • Changing dimension (user, hosts, bandwidth, and data) or dimension name is not supported. You will need to create a new listing.

Private Offers

The AWS Marketplace Seller Private Offer program allows AWS Marketplace sellers to negotiate custom pricing and end user license agreements with individual AWS Marketplace customers (buyers). Once the seller and buyer agree on pricing and EULA terms, the seller can create an offer for a specific buyer. To take advantage of this program you must be part of the AWS Marketplace Enhanced Data Sharing Program.

You create private offers through the AMMP. To create an offer, you select the Private Offer tab from the portal landing page. From the Manage Private Offer page, you can create a new offer. When you create a new offer, you select a product from a pull-down menu and provide the account number for the customer you are making the offer to. You then set the pricing for your offer and upload a PDF version of the EULA for the offer. After that, you set a time duration (number of days) the offer will be in effect once accepted by the customer, and a date the customer must accept the offer by. If the customer does not accept the offer by the date you set, the offer is no longer available.

Once you have formed your offer, you review (and edit if necessary) the offer. When you are satisfied with your offer, you extend the offer to the intended customer. The offer takes approximately 45 minutes to process, and then will be listed on the Manage Private Offer page. The offer will have a URL to the fulfillment page for the offer that you can copy, and then email to the customer. The customer also can navigate to your product page and there will be a banner on the page indicating a private offer is available.

Once you extend the offer to your customer, you cannot edit or cancel the offer. Instead, if you need to update the terms of an offer you would need to create a new offer.


All Paid Listings, regardless of pricing model, must have a stated refund policy for software charges. The policy must include the terms of the refund as well as a method of contacting the seller to request a refund. While the details of the refund policy are up to the seller, we highly encourage you to offer customers some manner of refund for usage of the product. We expect sellers to comply with their posted policies when AWS Marketplace users request refunds.

  • Except as noted below* all software refunds must be approved by the seller via the form below, and will be processed and issued upon your direction by AWS.

    • *Special cases exist for products using Free Trial, Annual and Usage pricing types where you agree that AWS may initiate and process such refunds without further approval or direction from you. Please see the "Special Guidelines" document, accessible on the AMMP.

  • Customers requesting a software refund directly from AWS will be directed to contact the seller.

  • Refunds of any AWS infrastructure charges are up to the discretion of AWS and are handled independently of software refunds.

  • Monthly subscriptions are pro-rated based on the date the user subscribes and the date they cancel and are processed automatically and require no action on your part.

    • For example, if a user signs up on 3/1, they will be charged the full rate for March and the full rate for all subsequent months they are subscribed to the software. If the user signs up on 3/15, they will be charged half the monthly fee for March (and then the full monthly fee for April, May and so on). Pro-rated refunds associated with cancellations will be issued based on the same tenants.

If you use the AWS Marketplace Tax Calculation Service, customers may reach out to you to request a tax-only refund. If a customer requests a tax-only refund, you can, at your discretion, grant either a tax-only refund or a full software refund plus tax.

Refund Process

For a seller to initiate a software refund for a customer:

  1. Record the following information from the customer:

    1. The customer’s email address (associated with his/her AWS account).

    2. The customer’s AWS Account number. (The account number can be found on the customer‘s AWS Account Activity screen in the upper right-hand corner).

    3. The billing period(s) for which the customer would like a refund.

  2. Navigate to the AWS Marketplace seller refund request form.

  3. Provide the customer’s information in the form.

  4. Provide the Product ID for the product you're trying to refund. The Product ID can be found in your daily Subscription Report.

    1. For Annual products where a customer is requesting a refund, upgrade or downgrade:

      1. Verify the customer has purchased an annual subscription using your Subscriber Report (there may be a 24-hour delay).

      2. Provide a new Subscription Cancellation Date in the comments field.

      3. Provide a description of the change you are authorizing (refund, upgrade, downgrade) in the comments field.

  5. Submit the form.

  6. AWS will be notified and will process the refund and issue it to the customer. It should show up within 2-3 hours on the customer’s AWS account.

    1. For Annual products, we will also update the end date of the subscription to match that provided in the request form.

Changing Prices

Changes to pricing and metadata can be done through the AMMP. In the portal, under the Listings tab, you will find a list of current products that you created through the AMMP. In the table for your current listings there is an Action column that provides an option for you to edit your listing.

Changing Pricing Models

Changes to pricing models must be reviewed and approved by AWS Marketplace to ensure a positive customer experience and reduced risk to all parties. Discuss the pricing model changes you want to make by contacting the AWS Marketplace Seller Operations team. All requests for pricing model changes can take 30-90 days to process and review.

Pricing Your Software with SaaS

To set prices, you first define pricing dimensions that represent the units of value in your software and then assign a price to each dimension. For example, dimensions can be protected hosts, users, or storage volumes. You can define up to 24 dimensions. Next you will also select a category for those dimensions which can be one of our preset categories (bandwidth, data, hosts, requests, tiers, users). If none of the presets fit your use case, you can choose the generic 'units' category and describe the units in the dimension description.

Example: Provisioned Bandwidth with Non-Linear Pricing

Imagine you offer network appliance software. You choose to bill by provisioned bandwidth. For your usage category, select bandwidth. In addition to charging by bandwidth, you want to charge a different price as buyers scale up. You can define multiple dimensions within the bandwidth category. You can define a distinct price for 25 Mbps, 100 Mbps, and 1 Gbps.

Example: Concurrent Hosts with Multiple Dimensions

Imagine you offer software that monitors other Amazon EC2 instances. You choose to bill by the number of hosts that are being monitored. For your usage category, select host. In addition to charging by host, you want to charge for the extra value for monitoring larger hosts. You can use multiple dimensions within the host category. You can define a distinct price for micro, small, medium, large, x-large, 2XL, 4XL, 8XL instances. Your software is responsible for mapping each particular host to one of your defined dimensions. Your software is responsible for sending a separate metering record for each dimension of your usage category if applicable.

Listing Your SaaS Product on AWS Marketplace

To take advantage of the Metering Service, you must create a new product listing. If your software is already listed on the AWS Marketplace, you will need to decide whether the new AWS Marketplace Metering Service product will be made available in addition to your current listing, or if it will replace your current listing as the only version available to new users. If you choose replacement, the existing product will be removed from the AWS Marketplace so that it is no longer available for new subscribers. Existing customers will continue to have access to their old product and instances, but they can migrate to the new product at their convenience. The new product must meter usage to the AWS Marketplace Metering Service.

After you have your AMI, follow the standard process to share and scan your AMI using the self-service tool. In addition, using the template available on the management portal, fill out the product load form and upload it to start the ingestion process.

The following definitions will help you fill out the fields of the product load form for the AWS Marketplace Metering Service. On the product load form, these fields are labeled as Flexible Consumption Pricing (FCP) to differentiate them from hourly and monthly priced products.

  • Title: If you already have a listing on AWS Marketplace and you are adding the same listing with the AWS Marketplace Metering Service, include the FCP category/dimension in parenthesis to differentiate the two (for example, “PRODUCT TITLE (Data)”).

  • Pricing Model: From the drop-down list, choose Usage.

  • FCP Category: The category in which customers will be charged for paid products with a Usage pricing component. From the drop-down list, choose Users, Hosts, Data, or Bandwidth.

  • FCP Unit: The unit of measurement on which customers will be charged for paid products with a Usage pricing component. Options will appear in the drop-down list based on the FCP category you selected. The following table lists the valid units for each category.

Category Valid Units
Users UserHrs
Hosts HostHrs
Data MB, GB, TB
Bandwidth Mbps, Gbps
  • FCP Dimension Name: The name used when sending metering records by calling MeterUsage API. It is visible in billing reports, but because it is not external-facing, the name does not need to be user-friendly. The name can be no more than 15 characters and can only include alphanumeric and underscore characters. After you set the name, you will not be able to change it. Changing the name requires a new AMI.

  • FCP Dimension Description: The customer-facing statement that describes the dimension for the product. The description (for example, Administrators per hour, Per Mbps bandwidth provisioned) can be no more than 70 characters and should be user-friendly. After the product is published, you will not be able to change this description.

  • FCP Rate: The software charge per unit for this product. This field supports 3 decimal places.


  • You do not need to fill out hourly and annual pricing fields.

  • Free trial and annual pricing are not compatible.

  • Currently, products that use the Clusters and AWS Resources feature cannot use the AWS Marketplace Metering Service.

  • Price, instance type, or region change will follow the regular process as other AWS Marketplace products.

  • Products with the AWS Marketplace Metering Service cannot be converted to other pricing models such as hourly, monthly, or BYOL.

  • We recommend adding IAM policy information in your usage instructions or document.

If you have questions, contact the AWS Marketplace Seller Operations team.

Modifying Your SaaS Software to Use the Metering Service

You will need to modify your software to record customer usage, send hourly usage reports to the Metering Service, and handle new failure modes. The software operates independently of pricing, but the software will need to know about the usage category, how it is consumed, and any dimensions.

Measuring Consumption

Your software must determine how much of the selected usage category and which dimensions the customer has consumed. This value will be sent, once each hour, to the AWS Marketplace Metering Service. In all cases, it is assumed that your software has the ability to measure, record, and read consumption of resources for the purpose of sending it on an hourly basis to the Metering Service.

For provisioned consumption, this will typically be read from the software configuration as a sampled value, but might also be a maximum configured value, recorded each hour. For concurrent consumption, this might be either a periodic sample or a maximum value recorded each hour. For accumulated consumption, this will be a value that is accumulated each hour.

For pricing on multiple dimensions, multiple values must be measured and sent to the Metering Service, one per dimension. This requires your software to be programmed or configured with the known set of dimensions when providing the AMI for listing. The set of dimensions cannot change after a product is listed.

For each pricing scenario, this table describes recommended ways for measuring consumption each hour:

Scenario How to Measure
Provisioned User

Current number of provisioned users (sampled).


Maximum number of provisioned users (seen that hour).

Concurrent User

Current number of concurrent users (sampled).


Maximum number of concurrent users (seen that hour).


Total number of distinct users (seen that hour).

Provisioned Host

Current number of provisioned hosts (sampled).


Maximum number of provisioned hosts (seen that hour).

Concurrent Host

Current number of concurrent hosts (sampled).


Maximum number of concurrent hosts (seen that hour).


Total number of distinct hosts (seen that hour).

Provisioned Bandwidth

Current provisioned bandwidth setting (sampled).


Maximum provisioned bandwidth (seen that hour).

Accumulated Data

Current GB of data stored (sampled).


Maximum GB of data stored (seen that hour).


Total GB of data added or processed that hour.


Total GB of data processed that hour.

Call AWS Marketplace Metering Service

Your software must call the Metering Service hourly and record the consumption value for that hour.

When your software starts, it should record the minute-of-the-hour at which it started. This will be referred to as the start-minute. Every hour on the start-minute, your software must retrieve the consumption value for that hour and call the Metering Service.

To wake up each hour at the start-minute, your software will need to use one of three approaches:

  1. A thread within your software.

  2. A daemon process that starts up with the instance or software.

  3. A cron job that is configured during application startup.

Your software must call the AWS Marketplace Metering Service using the IAM role configured on the customer’s instance and specify the consumption dimension and amount.

Your software can use the AWS SDK to call the AWS Marketplace Metering Service. The following is a typical implementation:

  1. Use the instance profile to create a service client. This requires the role configured for the EC2 instance. The role credentials are refreshed by the SDK automatically.

AmazonMeteringService meteringClient = new AmazonMeteringService(new InstanceProfileCredentialsProvider());

  1. Each hour, read your software configuration and state to determine consumption values for that hour. This might include collecting a value-per-dimension.

  2. Call the meterUsage method on the SDK client with the following parameters (call additionally for each dimension that has usage):

    • timestamp: timestamp of the hour being recorded. (Use UTC.)

    • productCode: product code assigned to the software.

    • dimension: dimension(s) assigned to the software

    • quantity: consumption value for the hour

In addition, your software must call an in-region AWS Marketplace Metering Service endpoint. Your product must have a correct regional endpoint setup, so us-east-1 sends records to us-east-1 endpoint, and us-west-2 sends records to us-west-2 endpoint. Making in-region calls provides buyers with a more stable experience and prevents situations in which an unrelated region’s availability could impact software running in another region.


When you send metering records to the service, you must connect to the AWS Marketplace Metering Service in your region. Use the getCurrentRegion() helper method to determine the region in which the EC2 instance is running, and then pass this region information to the MeteringServiceClient constructor. If you do not specify a region in the SDK constructor, it will default to the us-east-1 region. If your application attempts to make cross-region calls to the service, it will be rejected.

Important Information About Failure Handling

Your product must send metering records to the service, a public internet endpoint, so that usage can be captured and billed. Because it is possible for a customer to modify network settings in a way that prevents your metering records from being delivered, your product should account for this by choosing a failure mode.

Typically, software can fail open (provide a warning message but maintain full functionality) or fail closed (disable all functionality in the application until a connection has been reestablished). You can choose to fail open, closed, or something specific to your application. We strongly recommend that you refrain from failing closed after less than two hours of metering failures.

As an example of failing partially open, you could continue to allow access to the software but not allow the buyer to modify the software settings. Or, a buyer could still access the software, but would not be able to create additional users. Your software is responsible for defining and enforcing this failure mode. Your software’s failure mode must be included when your AMI is submitted, and it cannot be changed later.

Refund policy

If you list your software as a free trial product, AWS can issue refunds on your behalf for software charges accruing within seven days of a conversion from a free trial to a paid subscription. Refunds issued in connection with free trial conversions require no action on your part. By enabling Free Trial on a product, you are agreeing to this policy.

Annual Products

These listing guidelines apply to all Sellers who are offering a product on AWS marketplace with annual pricing.

Price Change

You can change annual prices (the $ value, for example $1000/year to $1200/year) whenever desired but with 90 day notice to existing customers of annual pricing. The new price will apply to new subscriptions but will have no impact on existing subscriptions. Price changes will be effective for auto-renewals only if the price was changed at least 90 days before the auto-renewal date. The customer will receive an email prior to auto-renewal that includes the new price.

Refund / Cancellation / Upgrade / Downgrade

For uniform and great customer experience, AWS requires Sellers to implement the following cancellation/change windows:

Applicable policy Time period / window Who can authorize it

Full refund cancellation

(Cancel with 100% refund)

Within 48 hours of purchase AWS CS (Customer support) or Seller

Pro-rata refund cancellation

(Cancel with pro-rata refund)

Within 14 days of purchase Seller only
Downgrade subscription (Replace existing subscriptions with less expensive subscription) Within 30 days of purchase Seller only
Upgrade subscription (Replace existing subscriptions with more expensive or same priced subscription) Any time during 12 months AWS CS (Customer support) or Seller
Full refund cancellation in case of auto-renewal Within 14 days of purchase AWS CS (Customer support) or Seller

Please note that:

  • You should not include windows length and other details in product details/description

  • Upgrade/ downgrade is essentially a 2-step process for customer; buy new subscriptions and request cancellation of old subscription with refund

  • In some cases (as noted above), AWS may issue refunds on your behalf. No action on your part is required to process those refunds.

End User License Agreement

AWS customer’s usage of software for 12 months under annual subscription is covered by the EULA you have provided on your product’s details page on AWS Marketplace.

Refund Policy

If you meter the usage of your software using the AWS Marketplace Metering Service, AWS can issue refunds on your behalf for software charges resulting from software metering errors. If these errors are common across multiple customers, AWS may determine an appropriate refund for each customer and apply it directly to each customer. Refunds issued in connection with the AWS Marketplace Metering Service must be confirmed with the seller once, but does not require the seller to confirm each individual refund. By using the AWS Marketplace Metering Service with a product, you are agreeing to this policy.