Reports

According to Amazon’s documentation:

The Reports API section of the Amazon Marketplace Web Service (Amazon MWS) API lets you request various reports that help you manage your Sell on Amazon business. Report types are specified using the ReportTypes enumeration.

Reports API reference

class mws.Reports(access_key, secret_key, account_id, region='US', uri='', version='', auth_token='', proxy=None, user_agent_str='', headers=None, force_response_encoding=None)[source]

Amazon MWS Reports API.

MWS Docs: Reports API Overview

request_report(report_type, start_date=None, end_date=None, marketplace_ids=None, report_options=None)[source]

Creates a report request and submits the request to Amazon MWS.

MWS Docs: RequestReport

Parameters
  • report_type (Union[mws.models.reports.ReportType, str]) –

  • start_date (Union[datetime.datetime, datetime.date]) –

  • end_date (Union[datetime.datetime, datetime.date]) –

  • marketplace_ids (List[Union[mws.mws.Marketplaces, str]]) –

  • report_options (dict) –

get_report_request_list(request_ids=None, report_types=None, processing_statuses=None, max_count=None, from_date=None, to_date=None, next_token=None)[source]

Returns a list of report requests that you can use to get the ReportRequestId for a report.

Pass next_token with no other arguments to call the GetReportRequestListByNextToken operation, requesting the next page of results.

MWS Docs: GetReportRequestList

Parameters
  • request_ids (List[str]) –

  • report_types (List[Union[mws.models.reports.ReportType, str]]) –

  • processing_statuses (List[Union[mws.models.reports.ProcessingStatus, str]]) –

  • max_count (int) –

  • from_date (Union[datetime.datetime, datetime.date]) –

  • to_date (Union[datetime.datetime, datetime.date]) –

  • next_token (str) –

get_report_request_list_by_next_token(token)[source]

Alias for get_report_request_list(next_token=token).

MWS Docs: GetReportRequestListByNextToken

Parameters

token (str) –

get_report_request_count(report_types=None, processing_statuses=None, from_date=None, to_date=None)[source]

Returns a count of report requests that have been submitted to Amazon MWS for processing.

MWS Docs: GetReportRequestCount

Parameters
  • report_types (List[Union[mws.models.reports.ReportType, str]]) –

  • processing_statuses (List[Union[mws.models.reports.ProcessingStatus, str]]) –

  • from_date (Union[datetime.datetime, datetime.date]) –

  • to_date (Union[datetime.datetime, datetime.date]) –

cancel_report_requests(request_ids=None, report_types=None, processing_statuses=None, from_date=None, to_date=None)[source]

Cancels one or more report requests.

MWS Docs: CancelReportRequests

Parameters
  • request_ids (Optional[List[str]]) –

  • report_types (Optional[List[Union[mws.models.reports.ReportType, str]]]) –

  • processing_statuses (Optional[List[Union[mws.models.reports.ProcessingStatus, str]]]) –

  • from_date (Optional[Union[datetime.datetime, datetime.date]]) –

  • to_date (Optional[Union[datetime.datetime, datetime.date]]) –

get_report_list(request_ids=None, max_count=None, report_types=None, acknowledged=None, from_date=None, to_date=None, next_token=None)[source]

Returns a list of reports that were created between fromdate and todate (defaults to previous 90 days if ommitted).

Pass next_token with no other arguments to call the GetReportListByNextToken operation, requesting the next page of results.

MWS Docs: GetReportList

Parameters
  • request_ids (List[str]) –

  • max_count (int) –

  • report_types (List[Union[mws.models.reports.ReportType, str]]) –

  • acknowledged (bool) –

  • from_date (Union[datetime.datetime, datetime.date]) –

  • to_date (Union[datetime.datetime, datetime.date]) –

  • next_token (str) –

get_report_list_by_next_token(token)[source]

Alias for get_report_list(next_token=token).

MWS Docs: GetReportListByNextToken

Parameters

token (str) –

get_report_count(report_types=None, acknowledged=None, from_date=None, to_date=None)[source]

Returns a count of the reports, created in the previous 90 days, with a status of _DONE_ and that are available for download.

MWS Docs: GetReportCount

Parameters
  • report_types (List[Union[mws.models.reports.ReportType, str]]) –

  • acknowledged (bool) –

  • from_date (Union[datetime.datetime, datetime.date]) –

  • to_date (Union[datetime.datetime, datetime.date]) –

get_report(report_id)[source]

Returns the contents of a report and the Content-MD5 header for the returned report body.

MWS Docs: GetReport

Parameters

report_id (str) –

manage_report_schedule(report_type, schedule, schedule_date=None)[source]

Creates, updates, or deletes a report request schedule for a specified report type.

MWS Docs: ManageReportSchedule

Parameters
  • report_type (mws.models.reports.ReportType) –

  • schedule (mws.models.reports.Schedule) –

  • schedule_date (Optional[Union[datetime.datetime, datetime.date]]) –

get_report_schedule_list(report_types=None, next_token=None)[source]

Returns a list of order report requests that are scheduled to be submitted to Amazon MWS for processing.

Pass next_token with no other arguments to call the GetReportScheduleListByNextToken operation, requesting the next page of results.

MWS Docs: GetReportScheduleList

Parameters
  • report_types (List[Union[mws.models.reports.ReportType, str]]) –

  • next_token (str) –

get_report_schedule_list_by_next_token(token)[source]

Alias for get_report_schedule_list(next_token=token).

MWS Docs: GetReportScheduleListByNextToken

Parameters

token (str) –

get_report_schedule_count(report_types=None)[source]

Returns a count of order report requests that are scheduled to be submitted to Amazon MWS.

MWS Docs: GetReportScheduleCount

Parameters

report_types (List[Union[mws.models.reports.ReportType, str]]) –

update_report_acknowledgements(report_ids=None, acknowledged=None)[source]

Updates the acknowledged status of one or more reports.

MWS Docs: UpdateReportAcknowledgements

Parameters
  • report_ids (Optional[List[str]]) –

  • acknowledged (Optional[bool]) –

Enums

class mws.Reports.ReportType(value)

Bases: str, enum.Enum

An enumeration of the types of reports that can be requested from Amazon MWS.

MWS Docs: ReportType enumeration

Available values

You can use either the Enum instance itself or its string value as an argument in relevant request methods. Each of the below examples may be used in a request for a flat file of open listings:

from mws import Reports

my_report_type = Reports.ReportType.INVENTORY
# OR
my_report_type = Reports.ReportType.INVENTORY.value
# OR
my_report_type = '_GET_FLAT_FILE_OPEN_LISTINGS_DATA_'
INVENTORY = '_GET_FLAT_FILE_OPEN_LISTINGS_DATA_'
ALL_LISTINGS = '_GET_MERCHANT_LISTINGS_ALL_DATA_'
ACTIVE_LISTINGS = '_GET_MERCHANT_LISTINGS_DATA_'
INACTIVE_LISTINGS = '_GET_MERCHANT_LISTINGS_INACTIVE_DATA_'
OPEN_LISTINGS = '_GET_MERCHANT_LISTINGS_DATA_BACK_COMPAT_'
OPEN_LISTINGS_LITE = '_GET_MERCHANT_LISTINGS_DATA_LITE_'
OPEN_LISTINGS_LITER = '_GET_MERCHANT_LISTINGS_DATA_LITER_'
CANCELED_LISTINGS = '_GET_MERCHANT_CANCELLED_LISTINGS_DATA_'
SOLD_LISTINGS = '_GET_CONVERGED_FLAT_FILE_SOLD_LISTINGS_DATA_'
LISTING_QUALITY_AND_SUPPRESSED = '_GET_MERCHANT_LISTINGS_DEFECT_DATA_'
PAN_EUROPEAN_ELIGIBILITY_FBA_ASINS = '_GET_PAN_EU_OFFER_STATUS_'
PAN_EUROPEAN_ELIGIBILITY_SELF_FULFILLED_ASINS = '_GET_MFN_PAN_EU_OFFER_STATUS_'
GLOBAL_EXPANSION_OPPORTUNITIES = '_GET_FLAT_FILE_GEO_OPPORTUNITIES_'
REFERRAL_FEE_PREVIEW = '_GET_REFERRAL_FEE_PREVIEW_REPORT_'
ORDERS_UNSHIPPED = '_GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_'
ORDERS_SCHEDULED_XML = '_GET_ORDERS_DATA_'
ORDERS_REQUESTED_OR_SCHEDULED = '_GET_FLAT_FILE_ORDERS_DATA_'
ORDERS_CONVERGED = '_GET_CONVERGED_FLAT_FILE_ORDER_REPORT_DATA_'
TRACKING_BY_LAST_UPDATE = '_GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE_'
TRACKING_BY_ORDER_DATE = '_GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_'
TRACKING_ARCHIVED_ORDERS_FLATFILE = '_GET_FLAT_FILE_ARCHIVED_ORDERS_DATA_BY_ORDER_DATE_'
TRACKING_BY_LAST_UPDATE_XML = '_GET_XML_ALL_ORDERS_DATA_BY_LAST_UPDATE_'
TRACKING_BY_ORDER_DATE_XML = '_GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_'
PENDING_ORDERS_FLAT_FILE = '_GET_FLAT_FILE_PENDING_ORDERS_DATA_'
PENDING_ORDERS_XML = '_GET_PENDING_ORDERS_DATA_'
PENDING_ORDERS_CONVERGED_FLAT_FILE = '_GET_CONVERGED_FLAT_FILE_PENDING_ORDERS_DATA_'
RETURNS_XML_DATA_BY_RETURN_DATE = '_GET_XML_RETURNS_DATA_BY_RETURN_DATE_'
RETURNS_FLAT_FILE_RETURNS_DATA_BY_RETURN_DATE = '_GET_FLAT_FILE_RETURNS_DATA_BY_RETURN_DATE_'
RETURNS_XML_MFN_PRIME_RETURNS_REPORT = '_GET_XML_MFN_PRIME_RETURNS_REPORT_'
RETURNS_CSV_MFN_PRIME_RETURNS_REPORT = '_GET_CSV_MFN_PRIME_RETURNS_REPORT_'
RETURNS_XML_MFN_SKU_RETURN_ATTRIBUTES_REPORT = '_GET_XML_MFN_SKU_RETURN_ATTRIBUTES_REPORT_'
RETURNS_FLAT_FILE_MFN_SKU_RETURN_ATTRIBUTES_REPORT = '_GET_FLAT_FILE_MFN_SKU_RETURN_ATTRIBUTES_REPORT_'
PERFORMANCE_FEEDBACK = '_GET_SELLER_FEEDBACK_DATA_'
PERFORMANCE_CUSTOMER_METRICS_XML = '_GET_V1_SELLER_PERFORMANCE_REPORT_'
SETTLEMENT_FLATFILE = '_GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE_'
SETTLEMENT_V2_XML = '_GET_V2_SETTLEMENT_REPORT_DATA_XML_'
SETTLEMENT_V2_FLATFILE = '_GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE_V2_'
FBA_SALES_AMAZON_FULFILLED = '_GET_AMAZON_FULFILLED_SHIPMENTS_DATA_'
FBA_SALES_ALL_LAST_UPDATE = '_GET_FLAT_FILE_ALL_ORDERS_DATA_BY_LAST_UPDATE_'
FBA_SALES_ALL_BY_ORDER_DATE = '_GET_FLAT_FILE_ALL_ORDERS_DATA_BY_ORDER_DATE_'
FBA_SALES_ALL_BY_LAST_UPDATE_XML = '_GET_XML_ALL_ORDERS_DATA_BY_LAST_UPDATE_'
FBA_SALES_ALL_BY_ORDER_DATE_XML = '_GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_'
FBA_SALES_CUSTOMER_SHIPMENT = '_GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_SALES_DATA_'
FBA_SALES_PROMOTIONS = '_GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_PROMOTION_DATA_'
FBA_SALES_CUSTOMER_TAXES = '_GET_FBA_FULFILLMENT_CUSTOMER_TAXES_DATA_'
FBA_SALES_REMOTE_FULFILLMENT_ELIGIBILITY = '_GET_REMOTE_FULFILLMENT_ELIGIBILITY_'
FBA_INVENTORY_AFN = '_GET_AFN_INVENTORY_DATA_'
FBA_INVENTORY_AFN_BY_COUNTRY = '_GET_AFN_INVENTORY_DATA_BY_COUNTRY_'
FBA_INVENTORY_HISTORY_DAILY = '_GET_FBA_FULFILLMENT_CURRENT_INVENTORY_DATA_'
FBA_INVENTORY_HISTORY_MONTHLY = '_GET_FBA_FULFILLMENT_MONTHLY_INVENTORY_DATA_'
FBA_INVENTORY_RECEIVED = '_GET_FBA_FULFILLMENT_INVENTORY_RECEIPTS_DATA_'
FBA_INVENTORY_RESERVED = '_GET_RESERVED_INVENTORY_DATA_'
FBA_INVENTORY_EVENT_DETAIL = '_GET_FBA_FULFILLMENT_INVENTORY_SUMMARY_DATA_'
FBA_INVENTORY_ADJUSTMENTS = '_GET_FBA_FULFILLMENT_INVENTORY_ADJUSTMENTS_DATA_'
FBA_INVENTORY_HEALTH = '_GET_FBA_FULFILLMENT_INVENTORY_HEALTH_DATA_'
FBA_INVENTORY_MANAGE_ACTIVE = '_GET_FBA_MYI_UNSUPPRESSED_INVENTORY_DATA_'
FBA_INVENTORY_MANAGE_ALL = '_GET_FBA_MYI_ALL_INVENTORY_DATA_'
FBA_INVENTORY_RESTOCK_INVENTORY = '_GET_RESTOCK_INVENTORY_RECOMMENDATIONS_REPORT_'
FBA_INVENTORY_CROSS_BORDER_MOVEMENT = '_GET_FBA_FULFILLMENT_CROSS_BORDER_INVENTORY_MOVEMENT_DATA_'
FBA_INVENTORY_INBOUND_PERFORMANCE = '_GET_FBA_FULFILLMENT_INBOUND_NONCOMPLIANCE_DATA_'
FBA_INVENTORY_STRANDED = '_GET_STRANDED_INVENTORY_UI_DATA_'
FBA_INVENTORY_BULK_FIX_STRANDED = '_GET_STRANDED_INVENTORY_LOADER_DATA_'
FBA_INVENTORY_AGE = '_GET_FBA_INVENTORY_AGED_DATA_'
FBA_INVENTORY_EXCESS = '_GET_EXCESS_INVENTORY_DATA_'
FBA_INVENTORY_STORAGE_FEE_CHARGES = '_GET_FBA_STORAGE_FEE_CHARGES_DATA_'
FBA_INVENTORY_PRODUCT_EXCHANGE = '_GET_PRODUCT_EXCHANGE_DATA_'
FBA_PAYMENTS_FEE_PREVIEW = '_GET_FBA_ESTIMATED_FBA_FEES_TXT_DATA_'
FBA_PAYMENTS_REIMBURSEMENTS = '_GET_FBA_REIMBURSEMENTS_DATA_'
FBA_PAYMENTS_LONGTERM_STORAGE_FEE_CHARGES = '_GET_FBA_FULFILLMENT_LONGTERM_STORAGE_FEE_CHARGES_DATA_'
FBA_CONCESSION_RETURNS = '_GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA_'
FBA_CONCESSION_SHIPMENT_REPLACEMENT = '_GET_FBA_FULFILLMENT_CUSTOMER_SHIPMENT_REPLACEMENT_DATA_'
FBA_REMOVAL_ORDER_DETAIL = '_GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA_'
FBA_REMOVAL_SHIPMENT_DETAIL = '_GET_FBA_FULFILLMENT_REMOVAL_SHIPMENT_DETAIL_DATA_'
FBA_SMALL_LIGHT_INVENTORY = '_GET_FBA_UNO_INVENTORY_DATA_'
SALES_TAX = '_GET_FLAT_FILE_SALES_TAX_DATA_'
VAT_CALCULATION = '_SC_VAT_TAX_REPORT_'
VAT_TRANSACTIONS = '_GET_VAT_TRANSACTION_DATA_'
TAX_GST_MERCHANT_B2B = '_GET_GST_MTR_B2B_CUSTOM_'
TAX_GST_MERCHANT_B2C = '_GET_GST_MTR_B2C_CUSTOM_'
BROWSE_TREE = '_GET_XML_BROWSE_TREE_DATA_'
EASYSHIP_DOCUMENTS = '_GET_EASYSHIP_DOCUMENTS_'
EASYSHIP_PICKED_UP = '_GET_EASYSHIP_PICKEDUP_'
EASYSHIP_WAITING_FOR_PICKUP = '_GET_EASYSHIP_WAITING_FOR_PICKUP_'
AMZN_BUSINESS_FEE_DISCOUNTS_REPORT = '_FEE_DISCOUNTS_REPORT_'
AMZN_BUSINESS_RFQD_BULK_DOWNLOAD = '_RFQD_BULK_DOWNLOAD_'
AMAZONPAY_SANDBOX_SETTLEMENT = '_GET_FLAT_FILE_OFFAMAZONPAYMENTS_SANDBOX_SETTLEMENT_DATA_'
class mws.Reports.Schedule(value)

Bases: str, enum.Enum

An enumeration of the units of time that reports can be requested.

MWS Docs: Schedule enumeration

Available values

Several schedule frequencies are provided by Amazon, and this Enum provides easy access to all of them through several aliases for each schedule type.

EVERY_15_MIN = '_15_MINUTES_'
EVERY_15_MINS = '_15_MINUTES_'
EVERY_15_MINUTE = '_15_MINUTES_'
EVERY_15_MINUTES = '_15_MINUTES_'
EVERY_30_MIN = '_30_MINUTES_'
EVERY_30_MINS = '_30_MINUTES_'
EVERY_30_MINUTE = '_30_MINUTES_'
EVERY_30_MINUTES = '_30_MINUTES_'
EVERY_HOUR = '_1_HOUR_'
EVERY_1_HOUR = '_1_HOUR_'
EVERY_1_HOURS = '_1_HOUR_'
EVERY_2_HOUR = '_2_HOURS_'
EVERY_2_HOURS = '_2_HOURS_'
EVERY_4_HOUR = '_4_HOURS_'
EVERY_4_HOURS = '_4_HOURS_'
EVERY_8_HOUR = '_8_HOURS_'
EVERY_8_HOURS = '_8_HOURS_'
EVERY_12_HOUR = '_12_HOURS_'
EVERY_12_HOURS = '_12_HOURS_'
DAILY = '_1_DAY_'
EVERY_DAY = '_1_DAY_'
EVERY_1_DAY = '_1_DAY_'
EVERY_1_DAYS = '_1_DAY_'
EVERY_2_DAY = '_2_DAYS_'
EVERY_2_DAYS = '_2_DAYS_'
EVERY_48_HOUR = '_2_DAYS_'
EVERY_48_HOURS = '_2_DAYS_'
EVERY_3_DAY = '_72_HOURS_'
EVERY_3_DAYS = '_72_HOURS_'
EVERY_72_HOUR = '_72_HOURS_'
EVERY_72_HOURS = '_72_HOURS_'
WEEKLY = '_1_WEEK_'
EVERY_WEEK = '_1_WEEK_'
EVERY_1_WEEK = '_1_WEEK_'
EVERY_1_WEEKS = '_1_WEEK_'
EVERY_7_DAY = '_1_WEEK_'
EVERY_7_DAYS = '_1_WEEK_'
EVERY_14_DAY = '_14_DAYS_'
EVERY_14_DAYS = '_14_DAYS_'
EVERY_2_WEEK = '_14_DAYS_'
EVERY_2_WEEKS = '_14_DAYS_'
FORTNIGHTLY = '_14_DAYS_'
EVERY_15_DAY = '_15_DAYS_'
EVERY_15_DAYS = '_15_DAYS_'
EVERY_30_DAY = '_30_DAYS_'
EVERY_30_DAYS = '_30_DAYS_'
DELETE = '_NEVER_'

Delete a previously created report request schedule.

class mws.Reports.ProcessingStatus(value)

Bases: str, enum.Enum

An optional enumeration of common processing_status values.

SUBMITTED = '_SUBMITTED_'
IN_PROGRESS = '_IN_PROGRESS_'
CANCELLED = '_CANCELLED_'
CANCELED = '_CANCELLED_'

An alias for “CANCELLED”, as some folks spell it with one L and there’s nothing wrong with that.

DONE = '_DONE_'
DONE_NO_DATA = '_DONE_NO_DATA_'