Retrieve a flexible advertiser performance report by specifying the fields, filters, and grouping you need.
Retrieve a flexible advertiser performance report by specifying the fields, filters, and grouping you need. The date range must not exceed 32 days.
Response flow
This endpoint uses a redirect pattern:
- The endpoint returns 303 See Other with a
Locationheader containing a download URL. - Follow the redirect (most HTTP clients do this automatically) to download the report data as CSV.
Most HTTP clients (including curl, Postman, and browser-based code) follow the redirect automatically, so you will typically receive the CSV response directly.
Status codes
| Code | Description |
|---|---|
200 | Report data returned as CSV (after following the 303 redirect — this is what most clients will show) |
303 | Success — redirects to a URL containing the report data as CSV |
400 | Invalid request parameters (invalid field names, missing required fields, date range exceeds 32 days, etc.) |
401 | Missing or invalid access token, or the token was not requested with the required scope (see Authentication) |
500 | An unexpected error occurred while processing the request |
Authentication
This endpoint requires an access token requested with the api://revenuestripe.onmicrosoft.com/partners/.default scope (see Getting an access token). A token requested with a different scope is rejected with 401 "Not authorized to this endpoint.", even if it works on other endpoints.
Required headers
| Header | Value |
|---|---|
Authorization | Bearer <access_token> |
Accept | text/csv |
Query parameters
| Parameter | Required | Description | Format |
|---|---|---|---|
requestedFields | Yes | Comma-separated list of fields to include in results | string |
startInclusive | Yes | Start of the date range (inclusive) | YYYY-MM-DDThh:mm:ssZ |
endExclusive | Yes | End of the date range (exclusive) | YYYY-MM-DDThh:mm:ssZ |
filter | No | Key-value filter pairs | filter[FieldName]=value |
groupBy | No | Comma-separated list of fields to group results by | string |
AllgroupByfields must also be included inrequestedFields.
Date range limitThe time window between
startInclusiveandendExclusivemust not exceed 32 days.
Available fields
Dimension fields (groupable and filterable):
| Field | Description | Format |
|---|---|---|
DateTime | The date/time of the record | datetime |
Day | The day of the record | datetime |
AdvertiserCompanyId | The advertiser company ID | integer |
CampaignId | The campaign ID | integer |
CampaignLineId | The campaign line ID | integer |
CreativeId | The creative ID | integer |
DemandOrigin | The demand origin | string |
PlacementId | The placement ID | integer |
ContainerId | The container ID | integer |
PublisherAccountId | The publisher account ID | integer |
PublisherCompanyId | The publisher company ID | integer |
DeviceOrProxy | The device or proxy type | string |
Metric fields (aggregatable, not groupable):
| Field | Description | Format |
|---|---|---|
Impressions | The total number of impressions | integer |
Clicks | The total number of clicks | integer |
Conversions | The number of recorded conversions | integer |
ConversionRevenue | The revenue from conversions | float |
Spend | The total spend | float |
Example request
GET /reporting/advertiserperformance?requestedFields=DateTime,CampaignId,Impressions,Clicks,Spend&startInclusive=2026-03-01T00:00:00Z&endExclusive=2026-04-01T00:00:00Z&groupBy=DateTime,CampaignId&filter[CampaignId]=123&api-version=1.0
Accept: text/csv
Authorization: Bearer <access_token>Example response
The CSV returned after following the redirect:
"DateTime","CampaignId","Impressions","Clicks","Spend"
"2026-03-01T00:00:00Z",123,8425048,1949,2046.45
"2026-03-02T00:00:00Z",123,115692,24,22.80 401401 Unauthorized - The request is missing a valid access token, or the token does not have the required scope.
500500 Internal Server Error - An unexpected error occurred while processing the request.

