Skip to main content
Google Play analytics uses a synced dataset. Appeeky imports Play Console CSV reports and Android vitals first, then dashboard endpoints read from the imported data instead of calling Google live on every page load. This avoids slow live GCS reads on every dashboard request and gives the UI the same shape as App Store Connect analytics.

Data Sources

Metric familySource
Installs, device acquisitions, first opens, MAU, install basestats/installs/ CSV exports
Ratings count and average ratingstats/ratings/ CSV exports
Crashes and ANRsstats/crashes/ CSV exports and Developer Reporting API
Crash rate and ANR rateDeveloper Reporting API
Store listing visitors, acquisitions, conversionstats/store_performance/ CSV exports
Search terms and traffic sourcesstats/store_performance/ traffic source report
Google captures daily rows, but report exports can lag Play Console by several days. Monthly CSV files are updated as Google publishes new data.

Import Report Families

curl
curl -X POST "https://api.appeeky.com/v1/connect/google-play/analytics/import-reports" \
  -H "X-API-Key: YOUR_APPEEKY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prefixes": [
      "stats/installs/",
      "stats/crashes/",
      "stats/ratings/",
      "stats/store_performance/"
    ],
    "maxObjects": 100
  }'
FieldDescription
prefixesReport folders to import. Defaults to all supported stats prefixes.
maxObjectsSafety cap for how many objects to import in one request.
bucketOptional bucket override. Usually use saved reportsBucket.
Use this endpoint for initial backfill and manual sync testing. Scheduled jobs can run the same import flow in the background.

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/ratings/ratings_com.example.app_202601_overview.csv"
  }'
This is useful when testing one CSV object or replaying a failed import.

Sync Android Vitals

curl
curl -X POST "https://api.appeeky.com/v1/connect/google-play/apps/com.example.app/analytics/vitals-sync" \
  -H "X-API-Key: YOUR_APPEEKY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "2026-05-01",
    "to": "2026-06-01"
  }'
Vitals sync queries the Google Play Developer Reporting API and stores daily crash/ANR metrics for dashboard reads.

Read App Analytics

curl
curl "https://api.appeeky.com/v1/connect/google-play/apps/com.example.app/analytics?from=2026-05-01&to=2026-06-01" \
  -H "X-API-Key: YOUR_APPEEKY_KEY"
Response shape:
{
  "data": {
    "platform": "google",
    "packageName": "com.example.app",
    "period": {
      "from": "2026-05-01",
      "to": "2026-06-01"
    },
    "totals": {
      "device_acquisitions": 107,
      "first_opens": 15,
      "mau": 242,
      "store_listing_visitors": 920,
      "store_listing_acquisitions": 107,
      "store_listing_conversion_rate": 0.1163,
      "ratings_count": 12,
      "average_rating": 4.5,
      "crash_rate": 0.0012,
      "anr_rate": 0.0004
    },
    "rows": []
  }
}

Read Account Analytics

curl
curl "https://api.appeeky.com/v1/connect/google-play/analytics?from=2026-05-01&to=2026-06-01" \
  -H "X-API-Key: YOUR_APPEEKY_KEY"
Use this to show an account-level overview across imported Play apps.

Sources and Countries

curl
curl "https://api.appeeky.com/v1/connect/google-play/apps/com.example.app/analytics/sources?from=2026-05-01&to=2026-06-01" \
  -H "X-API-Key: YOUR_APPEEKY_KEY"
This endpoint returns traffic source, country, and UTM breakdowns where Google includes them in the store performance report.

Search Terms

curl
curl "https://api.appeeky.com/v1/connect/google-play/apps/com.example.app/analytics/search-terms?from=2026-05-01&to=2026-06-01" \
  -H "X-API-Key: YOUR_APPEEKY_KEY"
Search-term rows come from the stats/store_performance/ traffic source export. Google may suppress low-volume rows, and some monthly exports may not include the Search term column. Expected row fields:
FieldDescription
search_termPlay Store search term
store_listing_visitorsVisitors from that term
store_listing_acquisitionsAcquisitions from that term
store_listing_conversion_rateAcquisitions divided by visitors
countryCountry breakdown when available

Dashboard Mapping

Dashboard cardGoogle Play source
Device acquisitionsstats/installs/
First opensstats/installs/
MAUstats/installs/
Install basestats/installs/
Crash rateDeveloper Reporting API and stats/crashes/
ANR rateDeveloper Reporting API and stats/crashes/
Average ratingstats/ratings/
Store listing conversion ratestats/store_performance/
Search termsstats/store_performance/ traffic source report
Revenue and buyer metrics require financial report access. They are separate from the four stats folders above.

Why Not Query GCS Live?

Live GCS requests are acceptable for testing, but not for every dashboard view:
  • Report files can be large.
  • CSV parsing is slower than reading already-synced analytics data.
  • Google exports are monthly files with daily rows inside.
  • The same report may be needed by multiple users, charts, and filters.
  • Background imports let the UI stay fast and consistent.
The recommended model is:
Scheduled import -> synced analytics data -> dashboard API -> web UI