---
title: "Get ad analytics"
method: GET
path: "/ad_accounts/{ad_account_id}/ads/analytics"
tags: ["ads"]
---

# Get ad analytics

`GET /ad_accounts/{ad_account_id}/ads/analytics`

Get analytics for the specified ads in the specified `ad_account_id`, filtered by the specified options.
    - The token's user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via [Business Access](https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts): Admin, Analyst, Campaign Manager.
    - The request must contain either ad_ids or both campaign_ids and pin_ids.
    - If granularity is not HOUR, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days.
    - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days.

## Path parameters

- `ad_account_id` string, required

## Query parameters

- `pin_ids` string[]
- `start_date` string, date, required
- `end_date` string, date, required
- `ad_ids` PinterestLibIntegerFormatType[]
- `columns` ReportingColumnSync[], required
- `granularity` 'TOTAL' | 'DAY' | 'HOUR' | 'WEEK' | 'MONTH', required — Specifies the time interval at which analytics data is broken down. Determines how metrics are grouped within the requested date range. **Note:** The `HOUR` enum no longer provides data for conversion metrics, but it still returns data for non-conversion metrics. All other enums are unchanged.
- `click_window_days` 0 | 1 | 7 | 14 | 30 | 60
- `engagement_window_days` 0 | 1 | 7 | 14 | 30 | 60
- `view_window_days` 0 | 1 | 7 | 14 | 30 | 60
- `conversion_report_time` 'TIME_OF_AD_ACTION' | 'TIME_OF_CONVERSION'
- `campaign_ids` CampaignIdType[]
- `reporting_timezone` 'PINTEREST_TIME_ZONE' | 'AD_ACCOUNT_TIME_ZONE' — Specify the timezone to be applied for the reporting.

## Response `200`

The request has succeeded.

- AdsAnalytics[]
  - `AD_ID` string, required
  - `DATE` string, date

## Other responses

- `400` — The request could not be understood by the server due to unexpected data.
- `401` — Authentication is required and has either failed or not been provided.
- `403` — The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.
- `404` — The requested resource could not be found on this server.
- `429` — The user has sent too many requests in a given amount of time and is being rate limited.
- `default` — An unexpected error response.

---

[API](https://skmtc.net/pinterest/apis/pinterest-rest-api.md) · [All operations](https://skmtc.net/pinterest/apis/pinterest-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pinterest/pinterest-rest-api/revisions/b698c180678a/schema)
