How To Use Amazon Selling Partner API 2020


From years amazon was using amazon mws for api integration for merchants. Now its transforming into  revolutionary selling partner API . It will give developers and sellers  a lot of control over their business.Point to remember as amazon launches aws SP-API in september 2020 but its previous features of mws remaining same.

In this tutorial we will learn key concepts of integrating amazon SP-API with your amazon market place web Application or website using php SDK on amazon’s EC2 instance.

for most reliable info you can visit

amazon selling partner api


I will not go into depth of documentation provided , rather i will cover key points that we were missing while developing our application and problems we faced.

Important Concepts

  • Total there are 3 regions as of now which covers all marketplace these are:
    • North America (Canada, US, Mexico, and Brazil marketplaces)  known as ‘us-east-1’
    • Europe (Spain, UK, France, Netherlands, Germany, Italy, Sweden, Poland, Turkey, U.A.E, and India marketplaces) known as ‘eu-west-1’
    • Far East (Singapore, Australia, and Japan marketplaces) known as ‘us-west-2’
  • For getting the details of a seller of a particular region respective SP-END point must be used mentioned Here.
  • For each Country there is Market Place Id  Here is List .
  • Every Seller will have one selling Partner Id unique for a Market Place Id i.e. if a seller sells its product globally he/she will have many selling partner ids depending on how many and which country he/she sells
  • You need only one set of aws developer account ( your AWS access key ID and AWS secret access key) for using APIs for any selling partner end point (just region of selling partner endpoint and selling partner id must be same)

Work Flow

  1. Register as developer:  For creating marketplace web applications first we need to register as developer with aws developer account if you dont have already. you can choose Public (work with Oauth), Private Seller (self authorised), Private Vendor(self authorised) as per you need. For more info check here
  2. Create IAM user: This IAM user will call APIs on behalf of user from here .You will get aws credentials namely IAM access key and secret key. Set access type as programmatic access.  This user will not have any permissions by default that we have to set in IAM Role. For more info check here
  3. Create an IAM policy: This defines the permissions needed for calling SP APIs and will be attched to the role in further steps. for more info check here   
  4. Create an IAM role:  Create a IAM Role with IAM user created in step 2. This Role will call APIs on behalf of IAM user (Use same  Account ID ( The account identifier is the 12 digit number in the User ARN) that you got in IAM User in step 2). Next go to permissions tab and attach the policy that you created in step 3 to this role . assign a Role name and description. At the end you will have a
    policy ARN like  arn:aws:iam::225xxxxxxx56:policy/<policy name>
          Role ARN like     arn:aws:iam::225xxxxxxx56:role/<role name>
    for more info check here
  5. Add  AWS Security Token Service (AWS STS) policy to IAM user:  It allows you to request temporary AWS access keys that you can use to authenticate your requests to the Selling Partner API. These credentials expire after a set period of time, which helps you to control access to your AWS resource. for more info check here
  6. Register Application: