Spend Report API
API to retrieve detailed spend reporting data for your Pushnami Ads advertiser account.
Quick Start
Get your spend report in one request:
curl -u 'username:password' \
'https://adnetpn.com/ads/spend-report?start_date=2025-12-01&end_date=2025-12-03'
Use your Pushnami Ads login credentials.
Endpoint
GET https://adnetpn.com/ads/spend-report
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| start_date | string | Yes | Start date in YYYY-MM-DD format |
| end_date | string | Yes | End date in YYYY-MM-DD format |
| columns | string | No | Comma-separated columns. Omit for all. |
| campaign_id | string | No | Filter by campaign ID (e.g., C0001234) |
| creative_id | string | No | Filter by creative ID (e.g., C0001234-001) |
| source_id | string | No | Filter by source ID (e.g., S0001234) |
Date Constraints
start_datemust be ≤end_datestart_datecannot be more than 32 days in the past- Dates use America/Chicago timezone
Available Columns
| Column | Description |
|---|---|
| date | Report date |
| campaign_id | Campaign identifier |
| campaign_name | Campaign name |
| creative_id | Creative identifier |
| source_id | Traffic source identifier |
| total_spend | Spend amount (USD) |
Default: If columns is omitted, all columns are returned.
Examples
Get All Data
curl -u 'username:password' \
'https://adnetpn.com/ads/spend-report?start_date=2025-12-01&end_date=2025-12-03'
Response:
{
"columns": ["date", "campaign_id", "campaign_name", "creative_id", "source_id", "total_spend"],
"data": [
{
"date": "2025-12-01",
"campaign_id": "C0001234",
"campaign_name": "Campaign Name",
"creative_id": "C0001234-001",
"source_id": "S0001234",
"total_spend": 123.45
}
]
}
Get Specific Columns
curl -u 'username:password' \
'https://adnetpn.com/ads/spend-report?start_date=2025-12-01&end_date=2025-12-03&columns=date,total_spend'
Response:
{
"columns": ["date", "total_spend"],
"data": [
{"date": "2025-12-01", "total_spend": 221.00},
{"date": "2025-12-02", "total_spend": 50.00},
{"date": "2025-12-03", "total_spend": 75.21}
]
}
Filter by Campaign
curl -u 'username:password' \
'https://adnetpn.com/ads/spend-report?start_date=2025-12-01&end_date=2025-12-03&campaign_id=C0001234'
Filter by Source
curl -u 'username:password' \
'https://adnetpn.com/ads/spend-report?start_date=2025-12-01&end_date=2025-12-03&source_id=S0004483'
Code Examples
Python
import requests
response = requests.get(
'https://adnetpn.com/ads/spend-report',
auth=('username', 'password'),
params={'start_date': '2025-12-01', 'end_date': '2025-12-03'}
)
print(response.json())
JavaScript
const credentials = btoa('username:password');
const response = await fetch(
'https://adnetpn.com/ads/spend-report?start_date=2025-12-01&end_date=2025-12-03',
{ headers: { 'Authorization': `Basic ${credentials}` } }
);
console.log(await response.json());
cURL
curl -u 'username:password' \
'https://adnetpn.com/ads/spend-report?start_date=2025-12-01&end_date=2025-12-03'
Error Responses
| Status | Error | Cause |
|---|---|---|
| 400 | Missing required parameters: start_date, end_date | Missing dates |
| 400 | Invalid date format (expected YYYY-MM-DD) | Bad date format |
| 400 | start_date must be ≤ end_date | Invalid date range |
| 400 | start_date cannot be more than 32 days before today | Date too far in past |
| 401 | Authentication required. Use Basic Auth or Bearer token. | No credentials provided |
| 401 | Incorrect username or password | Wrong credentials |
| 403 | User account not confirmed. Please check your email. | Account not verified |
| 403 | User does not have an advertiser_id assigned. Contact support. | No advertiser linked |
| 500 | Internal server error. Request ID: ... | Server error – include Request ID when contacting support |
Support
For API access or issues, contact your Pushnami account representative or email us: support@pushnami.com