---
updatedAt: 2026-06-29T16:52:37.000Z
---

# Get billing history

Use the <Anchor target="_blank" href="https://developer.walmart.com/us-marketplace/reference/getbillinghistory">billing history API</Anchor> to retrieve a paginated list of billing transactions for all campaigns. You can specify the starting point for the first record and the maximum number of records to fetch per page.

Amounts use positive and negative values to indicate transaction types:

* Negative (-) values represent charges for ad spend.
* Positive (+) values represent ad credits or ad spend adjustments such as promotions or refunds.

> The invoice type is not currently exposed in the API or UI; use the value sign to interpret the transaction type.

## Rate limits

If you submit too many feeds in a short period of time, you may exceed Walmart’s rate limits and receive HTTP 429 (Too Many Requests) responses. For more details on throttling and best practices, refer to the [Rate Limiting Guide](/us-marketplace/docs/rate-limiting).

## Endpoint

```Text bash
POST /v3/advertising/sem/billing-history
```

## Sample request

```curl cURL
curl --location 'https://marketplace.walmartapis.com/v3/advertising/sem/billing-history' \
--header 'WM_SVC.NAME: Search Engine Marketing' \
--header 'WM_QOS.CORRELATION_ID: cc092b9b-e414-4ad8-a3d2-e5560bd57588' \
--header 'WM_SEC.ACCESS_TOKEN: **********' \
--header 'Content-Type: application/json' \
--data '{
    "page": {
        "offset": 0,
        "limit": 10
    }
}'
```
```python
import requests

url = 'https://marketplace.walmartapis.com/v3/advertising/sem/billing-history'
headers = {
    'WM_SVC.NAME': 'Search Engine Marketing',
    'WM_QOS.CORRELATION_ID': 'cc092b9b-e414-4ad8-a3d2-e5560bd57588',
    'WM_SEC.ACCESS_TOKEN': '**********',
    'Content-Type': 'application/json'
}
data = {
    "page": {
        "offset": 0,
        "limit": 10
    }
}

response = requests.post(url, headers=headers, json=data)

print(response.text)
```

### Modify your code

1. Use your unique `WM_QOS.CORRELATION_ID` for each request.
2. Use your unique `WM_SEC.ACCESS_TOKEN` obtained from the Token API.
3. Optionally, replace the offset  value  of 0 with a positive number to specify the starting point for fetching the records.
4. Optionally, replace the limit  value of 10 with a positive number to specify the maximum number of records to display per page. This value cannot exceed 200.

## Sample response

```json
{
  "pagination": {
    "pageNo": 0,
    "pageSize": 10,
    "totalCount": 2,
    "totalPages": 1
  },
  "data": [
    {
      "invoiceDate": "2025-01-09",
      "billingDateFrom": "2025-01-01",
      "billingDateTo": "2025-01-07",
      "status": "SUCCESS",
      "amount": -100,
      "currency": "USD",
      "paymentMode": "SETTLEMENT"
    },
    {
      "invoiceDate": "2024-12-23",
      "billingDateFrom": "2024-12-21",
      "billingDateTo": "2024-12-15",
      "status": "SUCCESS",
      "amount": 200,
      "currency": "USD",
      "paymentMode": "SETTLEMENT"
    }
  ]
}
```

## Result

You'll get a detailed billing report for your SEM campaigns.