Retrieving order reports
Reporting API allows you to retrieve order data with the getOrderReports operation. This operation supports high-level spend analysis by providing details such as purchase order numbers, totals, and statuses for orders over the past year.
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 order reports
Call the getOrderReports  operation to retrieve order reports within a specified date range. Optionally, you can pass the orderStatuses and region query parameters to filter order results. In the request, include the following parameters: 
| Type | Name | Description | Schema | Required | 
|---|---|---|---|---|
| Query | orderStartDate | The start of the order date range to search for orders, 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 orders, 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 | orderStatuses | List of OrderStatus values used to filter the results. Possible values: - PENDING_APPROVAL : The order has been submitted for approval.- PAYMENT_CONFIRMED : The payment information has been collected by Amazon Business.- PENDING_FULFILLMENT : The order is due for fulfillment. - PENDING : The order details are being processed by Amazon Business.- CANCELLED : The order has been cancelled either by the buyer or by Amazon Business.- CLOSED : The order has been delivered to the buyer and closed.  Min count : 1  | < string > array(csv) | No | 
| Query | region | The region where the order was placed. If the business has not placed orders in that region or does not belong to that region, the result would be empty. | string | No | 
GET https://na.business-api.amazon.com/reports/2025-06-09/orderReports?orderStartDate=2024-10-08T00:40:56Z&orderEndDate=2025-10-07T15:47:56Z
import requests
url = "https://na.business-api.amazon.com/reports/2025-06-09/orderReports?orderStartDate=2024-10-08T00:40:56Z&orderEndDate=2025-10-07T15:47:56Z"
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 details:
| Name | Description | Schema | Required | 
|---|---|---|---|
ordersReport | The list of orders matching the search criteria. | < OrderReport > array | |
nextPageToken | A token to retrieve the next page of results. | string | Yes | 
size | Number of orders in the response. | integer | No | 
Each Reporting API request can return a maximum of 100 results.
{
    "ordersReport": [
        {
            "orderMetadata": {
                "orderDate": "2024-11-08T21:27:16Z",
                "orderId": "D01-9529667-4499466",
                "region": "US"
            },
            "purchaseOrderNumber": null,
            "charges": [
                {
                    "type": "SUBTOTAL",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.0
                    }
                },
                {
                    "type": "TAX",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.0
                    }
                },
                {
                    "type": "NET_TOTAL",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.0
                    }
                }
            ],
            "orderStatus": "CLOSED",
            "buyingCustomer": {
                "name": "Jane Doe",
                "email": ""
            },
            "buyerGroup": {
                "name": "Department 1"
            },
            "businessOrderInfo": null,
            "approverDetails": null
        }
    ],
    "nextPageToken": "123asda",
    "size": 1
}
Step 2. (Optional) Retrieve next page of data
If the number of matching orders exceeds the Reporting API page size limit, the response will include a nextPageToken value. To get the next page of orders, make another getOrderReports 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/orderReports?orderStartDate=2024-10-08T00:40:56Z&orderEndDate=2025-10-07T15:47:56Z&nextPageToken=123asda
import requests
url = "https://na.business-api.amazon.com/reports/2025-06-09/orderReports?orderStartDate=2024-10-08T00:40:56Z&orderEndDate=2025-10-07T15:47:56Z&nextPageToken=123asda"
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.
{
    "ordersReport": [
              {
            "orderMetadata": {
                "orderDate": "2024-11-08T21:29:44Z",
                "orderId": "114-0575598-4117065",
                "region": "US"
            },
            "purchaseOrderNumber": "PoNumber1",
            "charges": [
                {
                    "type": "SUBTOTAL",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 2.65
                    }
                },
                {
                    "type": "SHIPPINGANDHANDLING",
                    "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
                    }
                }
            ],
            "orderStatus": "CLOSED",
            "buyingCustomer": {
                "name": "Jane Doe",
                "email": "[email protected]"
            },
            "buyerGroup": {
                "name": "Department 1"
            },
            "businessOrderInfo": null,
            "approverDetails": null
        },
        {
            "orderMetadata": {
                "orderDate": "2024-11-11T21:26:22Z",
                "orderId": "114-2955191-3042625",
                "region": "US"
            },
            "purchaseOrderNumber": "PoNumber2",
            "charges": [
                {
                    "type": "SUBTOTAL",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 10.64
                    }
                },
                {
                    "type": "SHIPPINGANDHANDLING",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.0
                    }
                },
                {
                    "type": "PROMOTION",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 0.0
                    }
                },
                {
                    "type": "TAX",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 1.1
                    }
                },
                {
                    "type": "NET_TOTAL",
                    "amount": {
                        "currencyCode": "USD",
                        "amount": 11.74
                    }
                }
            ],
            "orderStatus": "CLOSED",
            "buyingCustomer": {
                "name": "Jane Doe",
                "email": "[email protected]"
            },
            "buyerGroup": {
                "name": "Department 1"
            },
            "businessOrderInfo": null,
            "approverDetails": null
        },
    ],
    "nextPageToken": null,
    "size": 2
}
Updated about 7 hours ago