s391088 avatar image
s391088 asked ·

Getting Sales Data from eBay



Is is possible to get sales data from eBay using the API.


If I have my own web server with a database, can eBay post the sales data as it happens in xml format to my server, so that I can store the data on my database?


If so, which API do I need for this?

I can see how to list ebay items, but not how to get the real time sales information.




10 |600 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
epinapala avatar image
epinapala ,

Best Regards,

Eswara Rajesh Pinapala,

eBay Dvelopers Program Site Engineer.

answered ·

If you are looking to Get Notified when an Item is Sold, Then you can use eBay Notifications. Notifications and alerts update users and applications about events on the eBay site, and help reduce the number of times your application needs to make API calls to retrieve information.

Here is a KB article to get You Started :

Set your notifications to recive a notification for the event : ItemSold


Related Information

See Working with Platform Notifications.

See also the reference documentation for these calls:

  • GetNotificationPreferences - Retrieves the requesting application's notification preferences.
  • GetNotificationsUsage - Retrieves usage information about platform notifications for a given application.


However, If you are looking to get more information bout your orders, eBay Recommends GetOrders to manage all your Orders. With version 705 and above, you can take advantage of the updates made to the GetOrders API call to manage your orders using the Trading API. If you were looking to get  updated Sales Data, best way is to set up cron jobs to call getOrders.


You can Call GetOrders based on one of these filters:



 Filter  Use Case  Filter Sample Order creation time Get the information about an order only for the first time when it is created. No subsequent updates are required.


Order modification time Get all updates about an order such as updates to payment & shipping status <ModTimeFrom>2011-01-01T01:00:00.000Z</ModTimeFrom>
<ModTimeTo>2011-01-01T01:00:15.000Z</ModTimeTo> OrderID  Get information about specific orders




Here are the recommended steps for getting the transaction information and managing your orders:

  1. Make a call to GetOrders every 15 minutes with:
    • DetailLevel set to ReturnAll
    • filter that is appropriate for your use case (either creation or modified time) and use it consistently in all your calls
    • set "Create / Mod TimeFrom" to the last time you made the call minus 2 minutes.  You are going back 2 mins to ensure that no orders are missed.
    • set "Create / Mod TimeTo" time to the current time minus 2 minutes.  You are going back to ensure that you do not pick up any orders that are still in the process of being completed. 
    • Pagination
  2. Iterate through each order
  3. Check for Order.CheckoutStatus.Status
    • If it is Complete then it is ready for post sales processing
      • An order many contain one or more line items.  Iterate through each transaction in TransactionArray to get the item information
      • Next, check the payment method used during checkout and the payment status using the fields CheckoutStatus.PaymentMethod and CheckoutStatus.eBayPaymentStatus
        • If the payment method is one of the integrated methods on eBay, such as PayPal, Moneybookers, ProPay, IntegratedMerchantCreditCard or Paymate, and the eBayPaymentStatus is NoPaymentFailure then the mark the order as paid.  Additionally, you should look for the ExternalTransactionID and PaidTime for the purposes of reconciliation with the payment system.
        • If the payment method is not integrated on eBay such as Other, the eBayPaymentStatus will be NoPaymentFailure, however the seller will need to confirm if the payment is complete.  The ExternalTransactionID field will have a value of SIS.  Please see this article for details: 
          What does SIS mean?   
    • If Checkout is not Complete, then the transaction is not completely ready for post sales processing
      • You need to allocate the inventory for the transaction, but do need to wait for the checkout and payment information.
        •  Some of it can change from the defaults such as the buyer may choose to an address other than their default address during the checkout process.
        • Other data points will remain unchanged such as item details, the OrderLineItemID, Quantity Purchased; which you can use for managing your inventory, but not fulfillment.
      • To determine the final value fee, wait till the CheckoutStatus turns to Complete
  4. If  HasMoreOrders field in the response is true, increment the PageNumber and make the call and iterate through the orders as above.


When you are in the process of downloading your orders, ensure that you do not make any updates such as marking items as paid or shipped using the website or CompleteSale. Please see the following KB article for more details: 
Transactions missing in GetSellerTransactions response

· Share
10 |600 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.