Introduction to the SellerCenter API

SellerCenter allows a store keeper to manage the products and orders in their online store.

Accordingly, the SellerCenter API enables the programmatic maintenance of products and orders.

E.g., you might use the API to import products, or to migrate orders into your accounting system.

Communication Format

Generally speaking, all requests originate with you; in other words, you contact the API. The API does not contact you.

More specifically, each request is an HTTP request directed to an endpoint. Depending on what you want to achieve, you will either perform an HTTP request with a GET or POST verb.

In most cases, the call involves only HTTP URL parameters, such as the call to GetProducts, which is as simple as this:

https://api.sellercenter.net/?Action=GetProducts&Filter=sold-out&Format=XML&Timestamp=2015-07-21T05%3A14%3A49%2B02%3A00&UserID=maintenance%40sellercenter.net&Version=1.0&Signature=dee80841b2aa0ad1fb517f196c56a5e5b9c78627c9256a11df11da76a3f84503

Endpoint URL

Throughout this documentation, the example make calls against api.sellercenter.net. This is not a real URL. You must substitute it with the URL for your instance of SellerCenter.

Please be sure to always test your code against a staging instance. Short of a database restore, there is no undo for an API call!

In looking at the above request, we see that all of the needed parameters are already included in the URL as parameters. The API then returns the information we seek, either in XML or JSON format, depending on what we asked for, for instance like so (there are tabs below that allow you to see either format):

<?xml version="1.0" encoding="UTF-8"?>
<SuccessResponse>
  <Head>
    <RequestId/>
    <RequestAction>GetProducts</RequestAction>
    <ResponseType>Products</ResponseType>
    <Timestamp>2015-07-01T11:11:11+0000</Timestamp>
  </Head>
  <Body>
    <Products>
      <Product>
        <SellerSku>BobKing</SellerSku>
        <ShopSku>KI995ELAAK2HNAFAMZ-53759</ShopSku>
        <Name>Bob the King</Name>
        <Variation>...</Variation>
        <ParentSku>BobKing</ParentSku>
        <Quantity>51</Quantity>
        <Available>51</Available>
        <Price>323.00</Price>
        <SalePrice/>
        <SaleStartDate/>
        <SaleEndDate/>
        <Status>active</Status>
        <ProductId>BobtheKing</ProductId>
        <Url>http://rocket:[email protected]/26009.html</Url>
        <MainImage>http://mycdn.net/p/26009-1497-90062-1-catalog.jpg</MainImage>
      </Product>
      <Product>
        <SellerSku>Bobqueen</SellerSku>
        <ShopSku>JE134FAAAK2INAFAMZ-53760</ShopSku>
        <Name>Bob the queen</Name>
        <Variation>42</Variation>
        <ParentSku>Bobqueen</ParentSku>
        <Quantity>5</Quantity>
        <Available>5</Available>
        <Price>343.00</Price>
        <SalePrice/>
        <SaleStartDate/>
        <SaleEndDate/>
        <Status>active</Status>
        <ProductId>Bobthequeen</ProductId>
        <Url>http://rocket:[email protected]/26010.html</Url>
        <MainImage>http://mycdn.net/p/26010-4018-01062-1-catalog.jpg</MainImage>
      </Product>
    </Products>
  </Body>
</SuccessResponse>
{
  "SuccessResponse": {
    "Head": {
      "RequestId": "",
      "RequestAction": "GetProducts",
      "ResponseType": "Products",
      "Timestamp": "2015-07-21T07:28:52+0200"
    },
    "Body": {
      "Products": {
        "Product": [
          {
            "SellerSku": "BobKing",
            "ShopSku": "KI995ELAAK2HNAFAMZ-53759",
            "Name": "Bob the King",
            "Variation": "...",
            "ParentSku": "BobKing",
            "Quantity": "51",
            "Available": "51",
            "Price": "323.00",
            "SalePrice": "",
            "SaleStartDate": "",
            "SaleEndDate": "",
            "Status": "active",
            "ProductId": "BobtheKing",
            "Url": "http://rocket:[email protected]/26009.html",
            "MainImage": "http://mycdn.net/p/26009-1497-90062-1-catalog.jpg"
          },
          {
            "SellerSku": "Bobqueen",
            "ShopSku": "JE134FAAAK2INAFAMZ-53760",
            "Name": "Bob the queen",
            "Variation": "42",
            "ParentSku": "Bobqueen",
            "Quantity": "5",
            "Available": "5",
            "Price": "343.00",
            "SalePrice": "",
            "SaleStartDate": "",
            "SaleEndDate": "",
            "Status": "active",
            "ProductId": "Bobthequeen",
            "Url": "http://rocket:[email protected]/26010.html",
            "MainImage": "http://mycdn.net/p/26010-4018-01062-1-catalog.jpg"
          }
        ]
      }
    }
  }
}

All JSON Values are Strings

A current limitation of the API is that in a JSON response all values are strings: e.g., booleans are returned as "true" and "false", not true and false. In the above JSON response, for instance, you would expect Quantity to be the integer 51, but it's returned as the string "51".

SDK

We offer various SDK for common used web programming languages in order to make adoption of our API easier. Please feel free to use it and contribute to them since the code is published under Open Source MIT Licence.

Call Velocity Limitations

There are limits to the number of calls you can make per second (this is sometimes referred to as throttling): if you make more than 30 requests per 3 seconds, you will get an “E429:Too many requests” error response.

See also the Feed Throttling topic on the Feeds page.