---
title: "Get the account analytics report created by the async call"
method: GET
path: "/ad_accounts/{ad_account_id}/reports"
tags: ["ad_accounts"]
---

# Get the account analytics report created by the async call

`GET /ad_accounts/{ad_account_id}/reports`

## Request

- Base URL: `https://api.pinterest.com/v5`
- URL: `https://api.pinterest.com/v5/ad_accounts/{ad_account_id}/reports`
- Auth: OAuth 2
  - Authorization code: `https://www.pinterest.com/oauth/`
  - Token URL: `https://api.pinterest.com/v5/oauth/token` scopes: `ads:read`
- TypeScript: <https://skmtc.dev/pinterest/apis/pinterest-rest-api/docs/ad_accounts/:ad_account_id/reports/get.ts> (a function with typed inputs; its response is checked against the schema)

This returns a URL to an analytics report given a token returned from the post request report creation call.
  You can use the URL to download the report. The link is valid for five minutes and the report is valid for one hour.
  - 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.

## Path parameters

- `ad_account_id` string, required

## Query parameters

- `token` string, required

## Response `200`

The request has succeeded.

- AdsAnalyticsGetAsyncResponse
  - `report_status` 'DOES_NOT_EXIST' | 'FINISHED' | 'IN_PROGRESS' | 'EXPIRED' | 'FAILED' | 'CANCELLED': Possible status for a bulk reporting job
  - `size` number, nullable
  - `url` string, nullable

## 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.

## Changes

- **2026-06-04** (v5) `b698c180678a`: 6 warning, 5 info
  - added the new `CANCELLED` enum value to the `report_status` response property for the response status `200`
  - added the new `DOES_NOT_EXIST` enum value to the `report_status` response property for the response status `200`
  - added the new `EXPIRED` enum value to the `report_status` response property for the response status `200`
  - added the new `FAILED` enum value to the `report_status` response property for the response status `200`
  - …7 more
- **2023-02-14** (v5) `be19b77aa78a`: 1 info
  - added `#/components/schemas/BulkReportingJobStatus` to the `report_status` response property `allOf` list for the response status `200`
- **2022-11-14** (v5) `e041d7b0cef0`: 1 breaking
  - for the `path` request parameter `ad_account_id`, the maxLength was decreased from `19` to `18`
- **2022-09-07** (v5) `bd20b6eb152f`: 1 warning
  - for the `path` request parameter `ad_account_id`, the maxLength was set to `19`
- **2022-04-08** (v5) `c561dee8c137`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pinterest/apis/pinterest-rest-api/changes/ad_accounts/:ad_account_id/reports/get.md)

---

[API](https://skmtc.dev/pinterest/apis/pinterest-rest-api.md) - [All operations](https://skmtc.dev/pinterest/apis/pinterest-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pinterest/apis/pinterest-rest-api/revisions/b698c180678a?raw)
