eBay Merchandising APIVersion 1.5.0
 

getTopSellingProducts

Retrieves the 20 top selling products on eBay, unless maxResults is used to specify a smaller result set. Products in the response are sorted in sales rank order, with the top selling products first. There are no call-specific input parameters for this call.

Note: The getTopSellingProducts call does not work for the following global IDs (eBay sites): EBAY-FRBE (eBay Belgium, French), EBAY-NLBE (eBay Belgium, Dutch), or BAY-AU (eBay Australia).



Input

See also Samples.

The box below lists all fields that could be included in the call request. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

<?xml version="1.0" encoding="utf-8"?>
<getTopSellingProductsRequest xmlns="http://www.ebay.com/marketplace/services">
  <!-- (No call-specific Input fields) -->

  <!-- Standard Input Fields -->
  <affiliate> Affiliate
    <customId> string </customId>
    <networkId> string </networkId>
    <trackingId> string </trackingId>
  </affiliate>
  <maxResults> int </maxResults>
</getTopSellingProductsRequest>
Argument Type Occurrence Meaning
(No call-specific fields)
Standard Input Fields  
affiliate Affiliate Optional Container for affiliate details. eBay uses the specified affiliate details to build a View Item URL and Product URL string in the response that includes your affiliate tracking information in the correct format. When a user clicks through these URLs to eBay and performs certain tasks, you may get an affiliate commission.

See the eBay Partner Network for information about commissions.
affiliate.customId string Optional Need not be specified. You can define an AffiliateUserID (up to 256 characters) if you want to leverage it to better monitor your marketing efforts. If you are using the eBay Partner Network, and you provide an AffiliateUserID, the tracking URL returned by eBay Partner Network will contain the AffiliateUserID, but it will be referred to as a "customid".
affiliate.networkId string Optional Specifies your tracking partner for affiliate commissions. Affiliates earn money from eBay for driving traffic to eBay. Required if you specify a TrackingID. Depending on your tracking partner, specify one of the following values. Not all partners are valid for all sites. For PlaceOffer, only eBay Partner Network and Mediaplex are valid:
2 = Be Free
3 = Affilinet
4 = TradeDoubler
5 = Mediaplex
6 = DoubleClick
7 = Allyes
8 = BJMT
9 = eBay Partner Network For information about commissions, see the eBay Partner Network.
affiliate.trackingId string Optional The value you specify is obtained from your tracking partner. For eBay Partner Network, the TrackingID is the Campaign ID ("campid") provided by eBay Partner Network. A Campaign ID is a 10-digit, unique number to be used for associating traffic. A Campaign ID is valid across all programs to which you have been accepted. Another example is the Affiliate ID given to you by TradeDoubler.
maxResults int Optional Specifies the maximum number of entries to return in a single call. If the number of entries that can be returned is less than the value you specify, the lower number is returned. Values less than 1 or greater than 50 (or 20 in the case of getTopSellingProducts) will be ignored.
Min: 1. Max: 20. Default: 20.



Output

See also Samples.

The box below lists all fields that might be returned in the response. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

<?xml version="1.0" encoding="utf-8"?>
<getTopSellingProductsResponse xmlns="http://www.ebay.com/marketplace/services">
  <!-- Call-specific Output Fields -->
  <productRecommendations> ProductRecommendations
    <product> Product
      <catalogName> string </catalogName>
      <imageURL> anyURI </imageURL>
      <priceRangeMax currencyId="string"> Amount (double) </priceRangeMax>
      <priceRangeMin currencyId="string"> Amount (double) </priceRangeMin>
      <productId type="string"> ProductId (string) </productId>
      <productURL> anyURI </productURL>
      <reviewCount> long </reviewCount>
      <title> string </title>
    </product>
    <!-- ... more product nodes allowed here ... -->
  </productRecommendations>
  <!-- Standard Output Fields -->
  <ack> AckValue </ack>
  <errorMessage> ErrorMessage
    <error> ErrorData
      <category> ErrorCategory </category>
      <domain> string </domain>
      <errorId> long </errorId>
      <exceptionId> token </exceptionId>
      <message> string </message>
      <parameter name="string"> ErrorParameter (string) </parameter>
      <!-- ... more parameter values allowed here ... -->
      <severity> ErrorSeverity </severity>
      <subdomain> string </subdomain>
    </error>
    <!-- ... more error nodes allowed here ... -->
  </errorMessage>
  <timestamp> dateTime </timestamp>
  <version> string </version>
</getTopSellingProductsResponse>
Return Value Type Occurrence Meaning
Call-specific Output Fields [Jump to standard fields]
productRecommendations ProductRecommendations Conditionally Array of products. Recommendations. Returned when there are products that match the search criteria.
productRecommendations.product Product Conditionally,
repeatable: [0..*]
An eBay catalog product. This contains stock information about a particular DVD, camera, set of golf clubs, or other product. Returned when there is at least one product that matches the search criteria.
productRecommendations.product
  .catalogName
string Always Name of the catalog the product is in. Only returned if product is in a catalog.
productRecommendations.product
  .imageURL
anyURI Conditionally Fully qualified URL for a stock image (if any) associated with the eBay catalog product. The URL is for the image eBay usually displays in product search results (usually 70px tall). It may be helpful to calculate the dimensions of the photo programmatically before displaying it. Only returned if a URL is available for the product.
productRecommendations.product
  .priceRangeMax
Amount (double) Conditionally The highest price for items listed as this product.
productRecommendations.product
  .priceRangeMax
  [ attribute currencyId ]
string Always The highest price for items listed as this product.
productRecommendations.product
  .priceRangeMin
Amount (double) Conditionally The lowest price for items listed as this product.
productRecommendations.product
  .priceRangeMin
  [ attribute currencyId ]
string Always The lowest price for items listed as this product.
productRecommendations.product
  .productId
ProductId (string) Always The eBay or external IDs associated with the product. Use the Reference value as input to search for the same product in the future, or use the ISBN, EAN, or UPC value (if returned). The productId values can be used as input for calls in the Shopping and Trading APIs to retrieve products, item listings, or guides and reviews.
The ISBN, EAN, and UPC values can also be useful as keys if your application is comparing products across different sites.
Max length: 4000.
productRecommendations.product
  .productId
  [ attribute type ]
string Always The eBay or external IDs associated with the product. Use the Reference value as input to search for the same product in the future, or use the ISBN, EAN, or UPC value (if returned). The productId values can be used as input for calls in the Shopping and Trading APIs to retrieve products, item listings, or guides and reviews.
The ISBN, EAN, and UPC values can also be useful as keys if your application is comparing products across different sites.
productRecommendations.product
  .productURL
anyURI Always Fully qualified URL for optional information about the product, such as a movie's description or film credits. This information is hosted through the eBay Web site and it cannot be edited. Portions of the content are protected by copyright. Applications can include this URL as a link in product search results so that end users can view additional descriptive details about the product. This is usually always returned when Product is returned, but it may be safest to check for the existence of this field.
productRecommendations.product
  .reviewCount
long Conditionally The total number of reviews available for this product on the eBay Web site. Always returned when product is returned.
productRecommendations.product
  .title
string Always The title of the product, as specified in the catalog. Always returned when Product is returned.
Standard Output Fields  
ack AckValue Always Indicates whether there are any errors or warnings associated with the processing of the request.

Applicable values:

Failure
Errors occurred that prevented the request from being processed successfully.
PartialFailure
Reserved for future use.
Success
The request was processed successfully without errors or warnings.
Warning
The request was processed successfully, but some warnings were returned.

Code so that your app gracefully handles any future changes to this list.
errorMessage ErrorMessage Conditionally Information for an error or warning that occurred when eBay processed the request. Not returned when responseStatus is Success. See Errors by Number for a list of errors and warnings that can be returned by Merchandising API calls.
errorMessage.error ErrorData Conditionally,
repeatable: [0..*]
Details about a single error.
errorMessage.error.category ErrorCategory Conditionally There are three categories of errors: request errors, application errors, and system errors.

Applicable values:

Application
An error occurred due to a problem with the request, such as missing or invalid fields. The problem must be corrected before the request can be made again. If the problem is due to something in the application (such as a missing required field), the application must be changed. Once the problem in the application or data is resolved, resend the corrected request to eBay.
Request
An error occurred due to a problem with the request, such as invalid or missing data. The problem must be corrected before the request can be made again. If the problem is a result of end-user data, the application must alert the end-user to the problem and provide the means for the end-user to correct the data. Once the problem in the data is resolved, resend the request to eBay with the corrected data.
System
Indicates that an error has occurred on the eBay system side, such as a database or server down. An application can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.

Code so that your app gracefully handles any future changes to this list.
errorMessage.error.domain string Conditionally Name of the domain upon which the error occurred.

Domains include:

Marketplace
A business or validation error occurred for the Merchandising Service.
SOA
An exception occurred in the framework.
errorMessage.error.errorId long Conditionally A unique code that identifies the particular error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms.
errorMessage.error.exceptionId token Conditionally Unique identifier for an exception associated with an error.
errorMessage.error.message string Conditionally A detailed description of the condition that resulted in the error.
errorMessage.error.parameter ErrorParameter (string) Conditionally,
repeatable: [0..*]
Some warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
errorMessage.error.parameter
  [ attribute name ]
string Conditionally Some warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
errorMessage.error.severity ErrorSeverity Conditionally Indicates whether the error caused the request to fail (Error) or not (Warning).

If the request fails and the source of the problem is within the application (such as a missing required element), please change the application before you retry the request. If the problem is due to end- user input data, please alert the end-user to the problem and provide the means for them to correct the data. Once the problem in the application or data is resolved, you can attempt to re- send the request to eBay.

If the source of the problem is on eBay's side, you can retry the request as-is a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.

When a warning occurs, the error is returned in addition to the business data. In this case, you do not need to retry the request (as the original request was successful). However, depending on the cause or nature of the warning, you might need to contact either the end user or eBay to effect a long term solution to the problem to prevent it from reoccurring in the future.

Applicable values:

Error
The request that triggered the error was not processed successfully. When a serious application-level error occurs, the error is returned instead of the business data.
Warning
The request was processed successfully, but something occurred that may affect your application or the user. For example, eBay may have changed a value the user sent in. In this case, eBay returns a normal, successful response and also returns the warning.

Code so that your app gracefully handles any future changes to this list.
errorMessage.error.subdomain string Conditionally Name of the subdomain upon which the error occurred.

Subdomains include:

Merchandising
The error is specific to the Merchandising service.
MarketplaceCommon
The error is common to all Marketplace services.
timestamp dateTime Always This value represents the date and time when eBay processed the request. The time zone of this value is GMT and the format is the ISO 8601 date and time format (YYYY-MM-DDTHH:MM:SS.SSSZ). See the "dateTime" type for information about this time format and converting to and from the GMT time zone.
version string Always The version of the response payload schema. Indicates the version of the schema that eBay used to process the request. Developer Technical Support may ask you for the version value when you work with them to troubleshoot issues.



Samples

New to making API calls? Please see Making a Call.

Note: Some item IDs, user IDs, or other data in these samples might no longer be active on eBay. If necessary, you can substitute current eBay data in your requests.

Sample: Basic Call

Retrieves top selling products for a given eBay site.

Description

The user b*********r doesn't have a specific product in mind, but just wants to browse for what's popular. This sample retrieves information about the top-selling products.

Input

No input fields are required for this call.

URL format. See also the non-wrapped version of this URL. For results in a format other than XML, 
specify a different value for responseencoding.
https://svcs.ebay.com/MerchandisingService?
   OPERATION-NAME=getTopSellingProducts&
   SERVICE-NAME=MerchandisingService&
   SERVICE-VERSION=1.1.0&
   CONSUMER-ID=YourAppID&
   RESPONSE-DATA-FORMAT=XML&
   REST-PAYLOAD&
   maxResults=3

   Here is the same input in XML format. Note that this does not include standard values.

XML format.

<?xml version="1.0" encoding="UTF-8"?>
<getTopSellingProducts xmlns="https://www.ebay.com/marketplace/services">
  <maxResults>3</maxResults>
</getTopSellingProducts>

Output

The response contains a list of recommended products from which b*********r can choose. The price range and review count are returned for each product, along with basic information about the product, such as productId, title, and catalogName. The productURL links to the Product Details page.

XML format.
<?xml version="1.0" encoding="UTF-8"?>
<getTopSellingProductsResponse xmlns:sct="https://www.ebay.com/soaframework/common/types" xmlns="https://www.ebay.com/marketplace/services">
  <ack>Success</ack>
  <version>1.1.0</version>
  <timestamp>2008-08-15T16:09:35.113-07:00</timestamp>
  <productRecommendations>
    <product>
      <productId type="Reference">56833153</productId>
      <title>Nintendo Wii - Game console</title>
      <productURL>
        https://catalog.ebay.com/_W0QQ_pidZ56833153QQ_tabZ1QQ_trksid_trkparmsZalgo
      </productURL>
      <catalogName>US CNET Video Game Systems</catalogName>
      <imageURL>https://i6.ebayimg.com/07/c/000/77/36/2e4c_0.JPG</imageURL>
      <reviewCount>5298</reviewCount>
      <priceRangeMin currencyId="USD">0.01</priceRangeMin>
      <priceRangeMax currencyId="USD">1449.0</priceRangeMax>
    </product>
    <product>
      <productId type="Reference">46859558</productId>
      <title>Microsoft Xbox 360 Premium Edition System, Game Console</title>
      <productURL>
        https://catalog.ebay.com/_W0QQ_pidZ46859558QQ_tabZ1QQ_trksid_trkparmsZalgo
      </productURL>
      <catalogName>US CNET Video Game Systems</catalogName>
      <imageURL>https://i14.ebayimg.com/04/c/05/aa/9f/c5_0.JPG</imageURL>
      <reviewCount>1887</reviewCount>
      <priceRangeMin currencyId="USD">0.0</priceRangeMin>
      <priceRangeMax currencyId="USD">0.0</priceRangeMax>
    </product>
    <product>
      <productId type="Reference">58924630</productId>
      <title>Sony PlayStation 3 - Game console - black</title>
      <productURL>
        https://catalog.ebay.com/_W0QQ_pidZ58924630QQ_tabZ1QQ_trksid_trkparmsZalgo
      </productURL>
      <catalogName>US CNET Video Game Systems</catalogName>
      <imageURL>https://i9.ebayimg.com/04/c/000/77/39/f38d_0.JPG</imageURL>
      <reviewCount>252</reviewCount>
      <priceRangeMin currencyId="USD">0.01</priceRangeMin>
      <priceRangeMax currencyId="USD">1000.0</priceRangeMax>
    </product>
  </productRecommendations>
</getTopSellingProductsResponse>



Change History

Change Date Description
1.1.0
2008-08-12
  • version (added): The version of the schema eBay used to process the request.
  • timestamp (added): The date and time when eBay processed the request.
1.0.0
2008-06-11
  • (added) New call