Retrieving shipment reports
Reporting API v2 enables you to retrieve shipment information based on order dates and other filtering criteria with the getShipmentReports operation. You can use this operation to build high-level shipping reports to track shipment lists, analyze shipment statuses, monitor estimated delivery dates, and validate shipping addresses.
Prerequisites
- Complete the API onboarding process to register as a developer, create an app client, and retrieve API access and refresh tokens. For more information, see Onboarding overview.
 - Gain access to the Amazon Business Analytics role. For more information, see Amazon Business API roles.
 
Step 1. Retrieve shipment details
Call the  getShipmentReports  operation to retrieve shipment information based on your search criteria. Optionally, you can filter results using the shipmentStatuses, orderIds, and region fields. In the request, include the following parameters: 
| Type | Name | Description | Schema | Required | 
|---|---|---|---|---|
| query | orderStartDate | The start of the order date range to search for shipments, in ISO 8601 format. Must not be more than 366 days before orderEndDate. | string (date-time) | Yes | 
| query | orderEndDate | The end of the order date range to search for shipments, in ISO 8601 format. Must not be in the future and must not be more than 366 days after orderStartDate. | string (date-time) | Yes | 
| query | shipmentStatuses | List of shipment status values used to filter the results. Possible values: - SHIPPED : The shipment has been sent out.- PENDING_PAYMENT : The shipment is awaiting payment before it can be processed.- SHIPPING_SOON : The shipment is being prepared and will be shipped shortly.- SHIPPED_PLANNED : The shipment has been planned but not yet dispatched.  Min count : 1  | < string > array(csv) | No | 
| query | orderIds | List of order IDs to filter by. If the order date for any specified order ID is not within the provided date range, an empty result will be returned. Min count : 1 Max count : 30  | < string > array(csv) | No | 
| query | region | The region where the order was placed. | string | No | 
GET https://na.business-api.amazon.com/reports/2025-06-09/shipmentReports?orderEndDate=2025-10-15T10:30:00Z&orderStartDate=2024-10-15T10:30:00Z
import requests
url = "https://na.business-api.amazon.com/reports/2025-06-09/shipmentReports?orderEndDate=2025-10-15T10:30:00Z&orderStartDate=2024-10-15T10:30:00Z"
headers = {
    "accept": "application/json",
    "x-amz-access-token": "<Access token retrieved in Prerequisites Step 1>",
}
response = requests.get(url, headers=headers)
print(response.text)
A successful request returns the following fields:
| Name | Description | Schema | Required | 
|---|---|---|---|
shipmentsReport | The list of shipments matching the search criteria. | < ShipmentReport > array | Yes | 
nextPageToken | A token to retrieve the next page of results. | string | Yes | 
Each Reporting API request can return a maximum of 100 results.
{
    "shipmentsReport": [
        {
            "orderMetadata": {
                "orderDate": "2024-11-08T21:29:44Z",
                "orderId": "114-0575598-4117065",
                "region": "US"
            },
            "shipmentMetadata": {
                "shipmentId": "338368514033301",
                "shipmentDate": "2024-11-09T04:20:13Z"
            },
            "purchaseOrderNumber": "PoNumber1",
            "shipmentStatus": "SHIPPED",
            "shippingAddress": {
                "addressLine1": "Amazon",
                "addressLine2": "333 Boren Ave N",
                "city": "Seattle",
                "stateOrRegion": "WA",
                "postalCode": "98109",
                "countryCode": "US"
            },
            "charges": [
                {
                    "type": "SUBTOTAL",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 2.65
                    }
                },
                {
                    "type": "SHIPPING_AND_HANDLING",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.0
                    }
                },
                {
                    "type": "PROMOTION",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.0
                    }
                },
                {
                    "type": "TAX",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.27
                    }
                },
                {
                    "type": "NET_TOTAL",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 2.92
                    }
                }
            ],
            "deliveryInfo": {
                "expectedDeliveryDate": "2024-11-10T04:00:00Z",
                "status": "DELIVERED"
            }
        }
    ],
    "nextPageToken": "123asda",
    "size": 1
}
Step 2. (Optional) Retrieve next page of shipments
If the number of matching shipments exceeds the Reporting API page size limit, the response will include a nextPageToken value. To get the next page of shipments, make another getShipmentReports call with the same parameters and values as the last request. In addition, include the nextPageToken query parameter:
| Type | Name | Description | Schema | Required | 
|---|---|---|---|---|
| Query | nextPageToken | A page token returned in the response to your previous request when the number of results exceed the page size. Must be used with the same query parameters as the original request. Changing parameters will result in an error. To get the next page of results, include pageToken as a parameter. There are no more pages to return when the response returns no nextPageToken. | string | Yes | 
GET https://na.business-api.amazon.com/reports/2025-06-09/shipmentReports?orderEndDate=2025-10-15T10:30:00Z&orderStartDate=2024-10-15T10:30:00Z&nextPageToken=123asda
import requests
url = "https://na.business-api.amazon.com/reports/2025-06-09/shipmentReports?orderEndDate=2025-10-15T10:30:00Z&orderStartDate=2024-10-15T10:30:00Z"
headers = {
    "accept": "application/json",
    "x-amz-access-token": "<Access token retrieved in Prerequisites Step 1>",
}
response = requests.get(url, headers=headers)
print(response.text)
The response format will be identical to Step 1, containing the next page of data. Continue making requests with the nextPageToken until no token is returned in the response.
{
    "shipmentsReport": [
        {
            "orderMetadata": {
                "orderDate": "2025-10-02T21:27:24Z",
                "orderId": "112-5012318-8460205",
                "region": "US"
            },
            "shipmentMetadata": {
                "shipmentId": "25377359533025",
                "shipmentDate": "2025-10-03T18:25:11Z"
            },
            "purchaseOrderNumber": null,
            "shipmentStatus": "SHIPPED",
            "shippingAddress": {
                "addressLine1": "118 6TH AVE N",
                "addressLine2": null,
                "city": "SEATTLE",
                "stateOrRegion": "WA",
                "postalCode": "98109-5055",
                "countryCode": "US"
            },
            "charges": [
                {
                    "type": "SUBTOTAL",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 20.3
                    }
                },
                {
                    "type": "SHIPPING_AND_HANDLING",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.0
                    }
                },
                {
                    "type": "PROMOTION",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.0
                    }
                },
                {
                    "type": "TAX",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 2.1
                    }
                },
                {
                    "type": "NET_TOTAL",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 22.4
                    }
                }
            ],
            "deliveryInfo": {
                "expectedDeliveryDate": "2025-10-09T06:59:59Z",
                "status": "DELIVERED"
            }
        }
    ],
    "nextPageToken": null,
    "size": 1
}
Updated about 7 hours ago