Skip to content

Reporting API

The Reporting API returns the same data you see on the Dashboard’s Analytics page.

Use it when you want to pull Pinokio data into your own systems, dashboards, or pipelines.

Parameter names match the short codes used in Pre-bid and Post-bid.

The Reporting API uses HTTP Basic Auth.

  • Username — your Pinokio Customer ID.
  • Password — your Reporting API key.

Both values live in the Integrations → Reporting section of the Dashboard. If you cannot find them, ask your Pinokio account manager.

GET <pinokio-reporting-url>

Your Pinokio account manager will provide the base URL during onboarding. All parameters are passed via the query string.

Every request must specify the time window the report covers.

ParameterRequiredDescription
start_dateYesStart of the window, YYYY-MM-DD.
end_dateYesEnd of the window, YYYY-MM-DD. Inclusive.

Use group_by to choose which dimensions the data is rolled up by. Pass a comma-separated list of dimension names. The same dimensions appear in the Dashboard’s Analytics column picker.

&group_by=date,pub,sid

Available dimensions:

DimensionDescription
dateDay of the transaction.
hourHour of the transaction. Use with date for hourly breakdowns.
pubPublisher ID.
sidSupplier ID.
appApp ID / bundle ID.
dmnDomain.
nodeServer or prebid instance.
adtAd type — 1 Banner, 2 Video, 3 Audio, 4 Native.
geoTwo-letter ISO country code.
dvtDevice type.
osOperating system.
browserBrowser family.
envEnvironment — site, app, or dooh.
cmpCampaign ID.
advAdvertiser ID.
p1p5Custom reporting dimensions you passed through Post-bid.

Every filter is optional. Pass them as query parameters; multiple values for the same filter are comma-separated.

FilterDescription
pubOne or more publisher IDs.
sidOne or more supplier IDs.
appOne or more app IDs / bundle IDs.
dmnOne or more domains.
geoTwo-letter ISO country codes.
dvtDevice type values.
osOperating systems.
browserBrowser families.
envsite, app, dooh.
adt1 Banner, 2 Video, 3 Audio, 4 Native.
cmpCampaign IDs.
advAdvertiser IDs.
nodeServer or prebid instance IDs.
p1p5Match on custom dimensions.

Long result sets are paginated.

ParameterRequiredDescription
limitNoMaximum number of rows to return. Default 20, max 1000.
offsetNoStarting index in the result set. Default 0.
Today's traffic, grouped by supplier and country, US and UK only
curl -u "<customer_id>:<api_key>" \
"<pinokio-reporting-url>?start_date=2026-05-24&end_date=2026-05-24&group_by=sid,geo&geo=US,GB&limit=100"

200 OK — body is a JSON object with meta describing the query and rows containing the aggregated data.

Example response
{
"meta": {
"start_date": "2026-05-24",
"end_date": "2026-05-24",
"group_by": ["sid", "geo"],
"total_rows": 142,
"returned_rows": 100,
"offset": 0
},
"rows": [
{
"sid": "supplyhub.com",
"geo": "JP",
"total_transactions": 12450,
"valid_transactions": 11200,
"invalid_transactions": 1250,
"sivt_transactions": 980,
"givt_transactions": 270
}
]
}

Each row contains:

  • one value for each dimension named in group_by,
  • the aggregated transaction metrics for that group:
MetricDescription
total_transactionsTotal recorded transactions in the group.
valid_transactionsClassified as valid.
invalid_transactionsFlagged as IVT — the sum of SIVT and GIVT.
sivt_transactionsFlagged as Sophisticated IVT.
givt_transactionsFlagged as General IVT.
CodeMeaning
400Bad request — missing required parameter, unknown dimension or filter, malformed date.
401Customer ID or Reporting API key is wrong, or the Basic Auth header is missing.
422Validation error — invalid parameter values.
429Too many requests — wait and retry.