> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appeeky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Report Exports

> Access Google Play Console bulk reports from the private Cloud Storage bucket

Google Play Console exports owner reports to a private Google Cloud Storage bucket. These reports are the source for many dashboard metrics, including installs, ratings, crashes, store listing conversion, search terms, sales, and earnings.

<Note>
  The reports bucket is account-level. It is not a normal customer-created GCS bucket and it is not stored inside the customer's Google Cloud project.
</Note>

***

## Reports Bucket

Common report paths look like this:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
gs://pubsite_prod_8701287375724464057/stats/installs/
gs://pubsite_prod_8701287375724464057/stats/crashes/
gs://pubsite_prod_8701287375724464057/stats/ratings/
gs://pubsite_prod_8701287375724464057/stats/store_performance/
```

When saving credentials, pass only the bucket root:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
pubsite_prod_8701287375724464057
```

If a customer pastes a full `gs://.../stats/...` path, Appeeky normalizes it to the bucket root automatically.

***

## Required Permission

For report exports, the service account needs account-level/global access in Play Console:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
View app information and download bulk reports
```

For financial reports, it also needs:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
View financial data
```

Google documents this requirement in [Download and export monthly reports](https://support.google.com/googleplay/android-developer/answer/6135870).

***

## Supported Prefixes

The analytics importer currently supports these report families:

| Prefix                     | Used for                                                                |
| -------------------------- | ----------------------------------------------------------------------- |
| `stats/installs/`          | Device acquisitions, installs, first opens, MAU, install base           |
| `stats/crashes/`           | Crash and ANR counts/rates from CSV exports                             |
| `stats/ratings/`           | Ratings count and average rating                                        |
| `stats/store_performance/` | Store listing visitors, acquisitions, conversion, sources, search terms |

Other report families can still be listed and downloaded through the report endpoints when the service account has access.

***

## List Objects

```bash curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl "https://api.appeeky.com/v1/connect/google-play/reports/objects?prefix=stats/store_performance/" \
  -H "X-API-Key: YOUR_APPEEKY_KEY"
```

Optional query parameters:

| Name     | Description                                         |
| -------- | --------------------------------------------------- |
| `prefix` | GCS object prefix, such as `stats/installs/`        |
| `bucket` | Override the saved `reportsBucket` for this request |
| `limit`  | Max objects to return                               |

***

## Get Object Metadata

```bash curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl "https://api.appeeky.com/v1/connect/google-play/reports/object?objectName=stats/store_performance/store_performance_com.example.app_202601_country.csv" \
  -H "X-API-Key: YOUR_APPEEKY_KEY"
```

Use this when you need metadata for one report object before downloading or importing it.

***

## Download a Report

```bash curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -o report.csv "https://api.appeeky.com/v1/connect/google-play/reports/download?objectName=stats/installs/installs_com.example.app_202601_overview.csv" \
  -H "X-API-Key: YOUR_APPEEKY_KEY"
```

Google report files may be CSV, ZIP, or gzip-compressed CSV depending on the report family. The analytics importer handles the supported stats CSV formats automatically.

***

## Import One Report

```bash curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.appeeky.com/v1/connect/google-play/analytics/import-report" \
  -H "X-API-Key: YOUR_APPEEKY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "objectName": "stats/store_performance/store_performance_com.example.app_202601_traffic_source.csv"
  }'
```

Use this for manual testing or targeted backfills. For normal analytics sync, use the bulk import endpoint in [Analytics](/docs/google-play-analytics#import-report-families).

***

## `storage.objects.list denied`

This error means the service account can authenticate, but Google Cloud Storage will not allow it to list the Play Console reports bucket.

Most common causes:

1. The service account was not invited in Play Console.
2. The service account has app-scoped permissions but not global bulk report permission.
3. The wrong service account email was invited.
4. The reports bucket belongs to a different Play Console developer account.
5. Permission propagation has not completed yet.

Fix:

1. Open **Play Console > Users and permissions**.
2. Select the service account user.
3. Grant global `View app information and download bulk reports`.
4. Save changes.
5. Retry `GET /reports/objects?prefix=stats/installs/`.

If financial reports are needed, also grant global `View financial data`.
