Get inventory reconciliation data for WFS item
The Inventory Reconciliation Report API provides a summary of your net inventory movement for a specified time period. Use this endpoint to compare starting and ending quantities for each SKU, and track units sold, lost, returned, and other inventory changes.
The report is updated daily at 7 am PST and includes all transactions as of midnight the previous day. Data is available from January 1, 2022, and can be accessed at a monthly level. For the current month, you can also query by a single GTIN.
Note: As the report is regenerated periodically, we recommend retrieving it no more than once per hour.
Workflow
- Get an access token by calling the Token API.
- Call
GET /v3/report/wfs/inventoryReconciliationReportwith themonthYearparameter (format: mm-YYYY). - Optionally add a
gtinparameter to filter to a single GTIN (current month only). - Save the returned CSV file to your local system.
For a full list of request parameters and response fields, refer to the Get WFS Inventory Reconciliation Report API reference.
Endpoint
GET https://marketplace.walmartapis.com/v3/report/wfs/inventoryReconciliationReportSample request
This sample request retrieves a summary of net inventory changes for your SKUs within the specified month.
curl --request GET \ --url 'https://marketplace.walmartapis.com/v3/report/wfs/inventoryReconciliationReport?monthYear=05-2024' \ --header 'Accept: application/json' \ --header 'Authorization: Basic <base64_encoded_credentials>' \ --header 'WM_SEC.ACCESS_TOKEN: <access_token>' \ --header 'WM_QOS.CORRELATION_ID: <correlation_id>' \ --header 'WM_SVC.NAME: Walmart Marketplace' \ --header 'WM_GLOBAL_VERSION: 3.1' \ --header 'WM_MARKET: us'import requests url = "https://marketplace.walmartapis.com/v3/report/wfs/inventoryReconciliationReport"
params = { "monthYear": "05-2024"
}
headers = { "Authorization": "Basic <base64_encoded_credentials>", "WM_SEC.ACCESS_TOKEN": "<access_token>", "WM_QOS.CORRELATION_ID": "<correlation_id>", "WM_SVC.NAME": "Walmart Marketplace", "WM_GLOBAL_VERSION": "3.1", "WM_MARKET": "us", "Accept": "application/json"
} response = requests.get(url, headers=headers, params=params) if response.status_code == 200: print("Success!") with open("WFSInventoryReconciliationReport.csv", "wb") as f: f.write(response.content)
else: print(f"Error: {response.status_code}") print(response.text)This sample request queries a single GTIN for the current month.
curl --request GET \ --url 'https://marketplace.walmartapis.com/v3/report/wfs/inventoryReconciliationReport?monthYear=06-2024>in=00012345678905' \ --header 'Accept: application/json' \ --header 'Authorization: Basic <base64_encoded_credentials>' \ --header 'WM_SEC.ACCESS_TOKEN: <access_token>' \ --header 'WM_QOS.CORRELATION_ID: <correlation_id>' \ --header 'WM_SVC.NAME: Walmart Marketplace' \ --header 'WM_GLOBAL_VERSION: 3.1' \ --header 'WM_MARKET: us'import requests url = "https://marketplace.walmartapis.com/v3/report/wfs/inventoryReconciliationReport"
params = { "monthYear": "06-2024", "gtin": "00012345678905"
}
headers = { "Authorization": "Basic <base64_encoded_credentials>", "WM_SEC.ACCESS_TOKEN": "<access_token>", "WM_QOS.CORRELATION_ID": "<correlation_id>", "WM_SVC.NAME": "Walmart Marketplace", "WM_GLOBAL_VERSION": "3.1", "WM_MARKET": "us", "Accept": "application/json"
} response = requests.get(url, headers=headers, params=params) print(response.status_code)
if response.status_code == 200: with open("WFSInventoryReconciliationReport_gtin.csv", "wb") as f: f.write(response.content)Modify your code
- Replace
<base64_encoded_credentials>with your Base64-encoded Client ID and Client Secret. - Replace
<access_token>with a valid access token obtained through authentication. - Use a unique
<correlation_id>(GUID) for each request. - Set
monthYearto the desired month in mm-YYYY format (e.g.,05-2024for May 2024). - The
gtinparameter is optional and valid only for the current month. Use the 14-digit GTIN with digits only (no spaces or dashes). WM_GLOBAL_VERSIONmust be set to3.1.WM_MARKETmust be set tous.
Sample response
On success, the API returns a 200 OK response with a CSV file attached. A successful API response includes a Content-Disposition header with the report, for example: attachment; filename=WFSInventoryReconciliationReport_2024-06-15T06_42_13.766Z.csv, where the timestamp indicates when the file was generated.
{ "status": "200", "message": "CSV file returned as attachment", "filename": "WFSInventoryReconciliationReport_2024-06-15T06_42_13.766Z.csv"
}The CSV file contains inventory reconciliation data for the specified WFS item(s) and time period. Each row provides details for a SKU, including: GTIN, beginning quantity ending quantity, units sold, units returned, units lost, units found, units damaged, and other adjustments
Result
On success, the API returns a 200 OK response with a CSV file as the response body. The file contains inventory reconciliation data for the specified month and optional GTIN filter. The report is generated with a timestamp indicating when it was created.
Rate limit
This endpoint is throttled to 50 calls per minute per seller. Exceeding this limit returns a 429 Too Many Requests response.
For more information, refer to the Rate limiting guide.
Updated 15 days ago

