Contents

Ad Groups Report (Brands)

Retrieve performance metrics for Apple Maps ad groups.

URL

POST https://api.ads.apple.com/v1/reports/business-brands/adgroups/query

Header Parameters

NameTypeDescription
X-AP-Context Requiredstring

Response Codes

StatusReasonTypeDescription
200OK
Content-Type: application/json
BrandsAdGroupReportResponse

Successful response. Returns BrandsAdGroupReportResponse (result: BrandsAdGroupResultContainer).

400Bad Request
Content-Type: application/json
Error

Bad Request. Returns ErrorResponse.

401Unauthorized
Content-Type: application/json
Error

Unauthorized.

403Forbidden
Content-Type: application/json
Error

Forbidden.

404Not Found
Content-Type: application/json
Error

Not Found. Returns ErrorResponse.

429Too Many Requests
Content-Type: application/json
Error

Rate Limit Exceeded. Returns ErrorResponse.

500Internal Server Error
Content-Type: application/json
Error

Internal Server Error. Returns ErrorResponse.

Discussion

Brand ad group reports return one row per ad group. Each row contains a metadata object with ad group identifiers (including campaignId), totalMetrics aggregated over the full date range, and a granularMetrics array broken down by the selected granularity.

Filter by campaignId or adGroupId in the filters array to scope results. Use groupBy to split metrics along a dimension: each dimension value produces its own row within the ad group’s result.

See Filter for the full set of supported comparison operators.

Request Body

See BrandsReportingRequest.

The groupBy array supports three dimensions for ad groups: device class, business location, and ad placement.

Dimension

Description

deviceClass

Break down metrics by device type (IPHONE, IPAD).

locationId

Break down metrics per business location.

supplyPlacement

Break down metrics by ad placement.

Date range requirements vary by granularity: HOURLY and DAILY are capped at 7-day and 90-day spans respectively, while WEEKLY and MONTHLY require spans of at least 14 and 90 days respectively.

Granularity

Constraint

DAILY

Date range must span 90 days or less.

HOURLY

Date range must span 7 days or less, and the start date must be within the last 365 days.

WEEKLY

Date range must span at least 14 days.

MONTHLY

Date range must span at least 90 days.

To request a single day of data, omit granularity entirely. For a single-day request, the response returns results in totalMetrics only, since there is no granularMetrics breakdown to compute.

Beyond granularity, note that EMPTY_METRICS isn’t supported for business-brands, filtering by campaignId keeps responses manageable, and only ORTZ or UTC timezones are accepted.

Constraint

Detail

EMPTY_METRICS

Not supported for business-brands.

Filter scope

Always filter by campaignId to reduce response size.

Timezone

Use ORTZ (reporting timezone) or UTC.

Payload Examples

See Also