Get billing history

Use the Billing History API to retrieve a paginated list of invoices for all your campaigns. You can specify the starting point for the first record and the maximum number of records to fetch per page.

Throttling

Request limits: 10 calls per minute per seller. You may receive an HTTP 429 error if you exceed this limit.

Endpoint

POST /v3/advertising/sem/billing-history

Sample request

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 }
}'
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

{ "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.