Docy

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

ParameterTypeRequiredDescription
start_datestringYesStart date in YYYY-MM-DD format
end_datestringYesEnd date in YYYY-MM-DD format
columnsstringNoComma-separated columns. Omit for all.
campaign_idstringNoFilter by campaign ID (e.g., C0001234)
creative_idstringNoFilter by creative ID (e.g., C0001234-001)
source_idstringNoFilter by source ID (e.g., S0001234)

Date Constraints

  • start_date must be ≤ end_date
  • start_date cannot be more than 32 days in the past
  • Dates use America/Chicago timezone

Available Columns

ColumnDescription
dateReport date
campaign_idCampaign identifier
campaign_nameCampaign name
creative_idCreative identifier
source_idTraffic source identifier
total_spendSpend 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

StatusErrorCause
400Missing required parameters: start_date, end_dateMissing dates
400Invalid date format (expected YYYY-MM-DD)Bad date format
400start_date must be <= end_dateInvalid date range
400start_date cannot be more than 32 days before todayDate too far in past
401Authentication required. Use Basic Auth or Bearer token.No credentials provided
401Incorrect username or passwordWrong credentials
403User account not confirmed. Please check your email.Account not verified
403User does not have an advertiser_id assigned. Contact support.No advertiser linked
500Internal 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