Skip to main content
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.
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.

Reports Bucket

Common report paths look like this:
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:
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:
View app information and download bulk reports
For financial reports, it also needs:
View financial data
Google documents this requirement in Download and export monthly reports.

Supported Prefixes

The analytics importer currently supports these report families:
PrefixUsed 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

curl
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:
NameDescription
prefixGCS object prefix, such as stats/installs/
bucketOverride the saved reportsBucket for this request
limitMax objects to return

Get Object Metadata

curl
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

curl
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

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

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.