All Collections
Data Sources
Amazon
Amazon Selling Partner API Data Feed Limits, Errors, And Constraints
Amazon Selling Partner API Data Feed Limits, Errors, And Constraints

Why NO_DATA and CANCELLED responses are sent from the Amazon Selling Partner API

Openbridge Support avatar
Written by Openbridge Support
Updated over a week ago

Openbridge employs a conservative API request strategy, ensuring we operate within published rate limits and the throttling constraints that Amazon imposes. We carefully model each endpoint and how best to request and re-request data to minimize our consumption of API rate limits.

Amazon recommends that you do not request reports at a frequency greater than the data for that report can be refreshed, typically once a day.

NO DATA and CANCELED Blocks Historical Data Collection

History data collection (or any data collection) is impossible if the Amazon API consistently responds with a CANCELED response. Despite numerous attempts and re-attempts to retrieve this data, a CANCELED response from the Amazon API is considered a blocker.

We know there are use cases where other applications are attached to a customer account. Unfortunately, these applications do not follow Amazon documentation for limits and throttles. It is not uncommon seeing these applications or tools making requests many times an hour for data Amazon states can only be requested once a day.

Another error that is more common in Vendor Reports is "FATAL". Amazon says, "if you request a report for a reporting period that is not yet available, the report will not be generated and processingStatus for the report will be FATAL".

How NO DATA and CANCELED impacts data delivery

There are two common outcomes of over-aggressive use of the Amazon API:

  • CANCELED - The report was canceled.

  • NO_DATA - The report was generated, but there was no data to report. This happens when no new data is reported between consecutive report requests.

  • FATAL - If a request for a report for a reporting period is not yet available, the report will not be generated, and the processing status for the report will be FATAL.

As a result, these applications fail to properly work within Amazon limits which Openbridge from collecting data on your behalf. Openbridge has no control over Amazon's FATAL, CANCELED, or NO_DATA responses. We will attempt a series of retries to collect the data, but given API limits, we can only retry for a set time period.

Check Your Seller Accounts

Please take a look at any other applications attached to the seller account for usage levels for the Amazon Reporting API. Any applications making calls to this API should be reviewed and access restricted if the app is no longer used OR it is overly aggressive with API calls. This will unlock additional API capacity.

How To Check For Canceled Reports

One check you can perform is to review your Report logs in the Amazon interface. You likely need to audit application access if you see reports with large numbers of CANCELED reports. They may be calling too frequently.

Below is an example of Amazon Fulfilled Inventory requests being canceled:

In the Inventory Health example below, you can see a mix of success and CANCELLED responses in relation to requests for the data:

Lastly, the Received Inventory report below shows most requests returned CANCELED:

How To Check For No Data

NO_DATA is another common response from Amazon. For example, the Amazon Orders report indicates there is NO_DATA:

In a different report type, Returns, it also reports NO_DATA:

Here is another example of data sporadically being available for download:

No Data and Canceled Combined

Getting a combination of NO_DATA and CANCELLED responses from the API is possible. The Daily Inventory Report below highlights both use cases, NO_DATA and CANCELED:

Here is a combination of No Data and Cancelled with no success outputs:

In-Progress Errors

There are cases when Amazon may not be responding to requests and is exceeding the expected timing for the delivery of a report.

The example below shows that order-by-date reports are working correctly, but orders by the last update are "stuck" in an "in-progress" state.

"In-progress" states can impact our ability to deliver data. In these cases, we depend on Amazon to return information per publishes specifications. In these cases, we attempt to re-request in-progress reports, though it is possible that Amazon remains stuck for over 24 hours. Normally it may take a few minutes to provide the report. A delay of this magnitude can cause us to "time out" waiting for them to respond.


Amazon API Limits

Generally, most reports are daily and should be requested no more than once a day. Specifically, here is what Amazon will do in response to an application or tool exhausting API limits:

  1. Amazon will return CANCELLED to an API request, or

  2. The report will be generated with no data. It will include a short error message that the report was requested too frequently.

Check your Amazon Seller account for other tools, processes, or systems that are requesting data

If you have other applications OR scheduled processes in the Seller Central UI, these errors will increase the risk of occurring. Per Amazon, you should not have multiple requests for the same data.

If you have another app or tool exhausting API capacity, it will impact our ability to collect data on your behalf! If Amazon always reports NO_DATA or CANCELLED, we cannot collect this data. This is a hard limit that Amazon sets, not Openbridge.

Check if you have any other applications or Seller Central reports scheduled. If you do, remove or pause them. This will reduce the number of requests that end in a CANCELLED or NO_DATA state.

Lastly, if reports have been generated from Seller Central UI, these requests will count against API limits. If you have scheduled reports in the Seller Central UI and are attempting to export via the API programmatically, we suggest stopping any scheduled reports in the Seller UI.

Did this answer your question?