canonical: https://jentic.com/apis/googleapis.com/playdeveloperreporting

# Google Play Developer Reporting API

The Google Play Developer Reporting API gives Android app developers programmatic access to the same vitals, errors, and anomaly data that appear in Play Console. Across 7 endpoints it exposes searchable apps, queryable metric sets such as crash rate and ANR rate, error issue search, anomaly listing, and release-filter option fetching. Developers can build dashboards, alerting pipelines, and post-release health checks without scraping Play Console.

## For AI agents

Query Android app vitals, error issues, and anomalies from Google Play Console for an app and any release filter.

## Scope

Does not publish releases, modify store listings, or stream raw events - use only to read aggregated Play Console vitals, error issues, and anomalies.

## Capabilities

- Search apps by package name to confirm reporting access for a developer account
- Query metric sets such as crash rate, ANR rate, slow-rendering rate, and excessive-wakeup rate
- Fetch release filter options including app version, country, device type, and Android version
- Search error issues to find the top crashes affecting an app's users
- List anomalies that Google Play has automatically detected on key vitals
- Inspect anomaly time ranges and impacted dimensions to investigate regressions

## Use cases

### Release Health Dashboard

Build an internal dashboard that polls crash rate, ANR rate, and slow-rendering metrics per app version after every release. The metrics:query endpoint returns metric values broken down by dimensions like versionCode, countryCode, and deviceModel, and the anomalies list flags regressions automatically. Teams replace manual Play Console screenshotting with a continuously-refreshing release health view.

Example prompt: POST /v1beta1/{name}:query against the crashRateMetricSet with dimensions=['versionCode'], metrics=['crashRate'], and a 7-day timeline to chart crash rate per version.

### Post-Release Regression Alerting

Wire Play's anomaly detection into the team's incident channel. The anomalies list endpoint returns anomalies the Play platform has detected on metric sets such as ANR rate or excessive wakeups, with the dimensions and time range affected. A scheduled job pulls new anomalies hourly and posts them to Slack with a deep link to Play Console for triage.

Example prompt: GET /v1beta1/{parent}/anomalies?filter=metricSet="crashRateMetricSet" and forward each new anomaly's dimensions and time range to Slack.

### Top Crash Triage

Surface the top error issues affecting users so engineering can prioritise fixes. The errorIssues:search endpoint returns ranked error issues with sample stack traces, occurrence counts, and affected app versions. Exporting daily into a bug tracker lets teams treat the top 10 crashes as standing tickets without manual Play Console export.

Example prompt: GET /v1beta1/{parent}/errorIssues:search?pageSize=10&filter=type=CRASH and create a Jira ticket for each issue not already tracked.

### AI Agent Vitals Querying via Jentic

Engineering agents that triage post-release health can call the Reporting API through Jentic without managing OAuth scopes or metric-set names directly. Jentic stores the developer's refresh token in its vault and exposes the right metricSet:query operation as a single search-load-execute call, turning a multi-day reporting integration into a same-day automation.

Example prompt: Search Jentic for 'query Android crash rate', load the metricSets.query schema, and execute it with the crashRateMetricSet name and a 14-day timeline.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v1beta1/apps:search | Search apps the caller has access to |
| POST | /v1beta1/{name}:query | Query a metric set with dimensions, metrics, and a timeline |
| POST | /v1beta1/{name}:fetchReleaseFilterOptions | Fetch release filter options for a metric set |
| GET | /v1beta1/{parent}/errorIssues:search | Search top error issues for an app |
| GET | /v1beta1/{parent}/anomalies | List anomalies detected on metric sets |

## Key resources

- **apps** — Search apps available to the calling developer account
- **metricSets** — Query named metric sets such as crashRate, anrRate, slowRendering, and excessiveWakeups
- **errorIssues** — Search ranked error issues with sample stack traces and occurrence counts
- **anomalies** — List anomalies automatically detected by Google Play on metric sets

## Why Jentic

- **Setup:** Wiring the Google Play Developer Reporting API by hand means setting up Play Console service-account OAuth 2.0, minting scoped tokens, and building the metric-set query requests against playdeveloperreporting.googleapis.com yourself. Through Jentic you install once, import the Google Play Developer Reporting API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** The Google Play Developer Reporting API puts the app and metric set in the URL path (/v1beta1/{name}:query, /v1beta1/{parent}/errorIssues:search), so a rule can pin your agent to one app: it can query vitals and search error issues there and nothing else. Every operation the agent can call is one you added, and these are read-only report queries.
- **Credential handling:** Your Play Console service-account credential for the Reporting API is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'query the Android crash rate' or 'list app anomalies', and Jentic returns the matching Developer Reporting operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Google Play Android Publisher API** — Manage releases and listings whose health Reporting then measures
- **Google Play Integrity API** — Attest device and app integrity at runtime alongside reporting on vitals
- **Google Play Grouping API** — Tag user segments inside an Android app for analysis alongside vitals data

## FAQ

### What authentication does the Play Developer Reporting API use?

It uses OAuth 2.0 with the https://www.googleapis.com/auth/playdeveloperreporting scope and is typically called with a service account linked to the Play Console. Through Jentic the refresh token or service account credential is held in your Jentic One instance and a scoped access token is injected at call time.

### Can I get crash rate broken down by app version?

Yes. POST /v1beta1/{crashRateMetricSet}:query accepts a dimensions array including versionCode, countryCode, and deviceModel, plus a metrics array such as ['crashRate', 'distinctUsers']. Use fetchReleaseFilterOptions to discover which dimension values are valid for the selected app.

### What are the rate limits for this API?

The API enforces standard Google Cloud project quotas measured in queries per minute. Metric queries are heavier than search calls, so dashboards that fan out across many metric sets in parallel may need a quota increase via Google Cloud Console.

### How do I list anomalies through Jentic?

Run jentic search 'list Android app anomalies', load the schema for GET /v1beta1/{parent}/anomalies, and execute it with the app's parent resource name and an optional filter such as metricSet="crashRateMetricSet". Jentic handles OAuth automatically.

### Is the Play Developer Reporting API free?

There is no per-call charge for the API itself, but it requires an active Google Play developer account and Google Cloud project. Standard quotas apply and metric queries are subject to reasonable-use limits.

### Can I get sample stack traces for top crashes?

Yes. GET /v1beta1/{parent}/errorIssues:search returns ranked error issues with sample stack traces, occurrence counts, and the app versions affected, ranked by user impact. Use the issue's resource name to fetch deeper detail or to deep-link into Play Console.

### Can I limit what my agent is allowed to do with the Google Play Developer Reporting API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials your agent may use, and only the operations you have added are callable. This API puts the app and metric set in the URL path, so you can pin your agent to a single app and let it query vitals with POST /v1beta1/{name}:query, search error issues with GET /v1beta1/{parent}/errorIssues:search, and list anomalies, while blocking everything else. Every one of these operations is a read-only report query, so the agent can read Play Console vitals but cannot publish releases or change store listings.
