API Explorer
The API Explorer is an interactive query builder in the developer portal. Use it to explore Vitals and Monetization API metrics, build requests visually, and run them against your live data, all without writing any code. It's the fastest way to try a query before you integrate the API into your own app.
For each query you build, the API Explorer gives you the following:
- The full JSON response, inline
- A copy-ready cURL command
- Code snippets in Java, Python, and Node.js
With the visual interface, you can do the following:
- Select an API and query type, pick metrics and dimensions, apply filters, and run the query
- Watch the generated API request update in real time as you change options
- Inspect the full JSON response inline
- Copy the request into your own code
- Use the API Explorer
- Request Preview panel
- Response panel
- Tips
- Related topics
Use the API Explorer
Open the API Explorer from the API Access tab in the App Analytics section of the developer portal, then complete the form in the following order.
1. Select the API
In the API field, choose the data you want. Your choice determines the query types, metric sets, dimensions, and filters that are available.
| API | What it covers |
|---|---|
| Vitals | App health and performance: crash, ANR, and LMK rates and the top issues behind them, plus startup latency, ready-to-use time, slow-start rate, and fluidity |
| Monetization | Subscriptions: signups, renewals, cancellations, reactivations, active subscriptions, health, cancellation surveys, and fulfillment |
2. Select the query type
For Vitals, choose a Query Type:
- Metrics: Query a metric set (rates, counts, and timings), optionally broken down by dimensions and narrowed by filters.
- Issues: Return the top issues ranked by frequency, with stack traces. In this mode, you choose a Report Type instead of a metric set.
Monetization supports Metrics only, so the query type is fixed.
3. Select your app
In the App field, select or enter your Android package name (for example, com.amazon.sampleapp). This must be an app owned by your vendor account.
4. Choose the metric set or report type
For the Issues query type (Vitals only), choose a Report Type: Crash or ANR.
For the Metrics query type, choose a Metric Set. The options depend on the API.
Vitals metric sets
| Metric set | What it measures |
|---|---|
| Crash | Crash rate, user-perceived crash rate, and crash event counts |
| ANR | ANR rate, user-perceived ANR rate, and ANR event counts |
| LMK | LMK rate, user-perceived LMK rate, and LMK event counts |
| App Latency | Time for the first app activity to appear during cold and warm starts |
| Ready to Use | Time for the app to become fully rendered and usable during cold and warm starts |
| Slow Start Rate | Percentage of distinct devices that experienced a slow cold or warm start |
| Fluidity | Dropped-frame rate and percentage of distinct devices that experienced slow rendering |
Monetization metric sets
| Metric set | What it measures |
|---|---|
| Subscription Signup | New subscription signups and signup revenue |
| Subscription Renewal | Subscription renewals and renewal revenue |
| Subscription Cancellation | Cancelled subscriptions and refund amounts |
| Subscription Reactivation | Previously cancelled subscriptions that were reactivated, and the revenue from them |
| Active Subscriptions | Total active subscriptions on a given day |
| Subscription Health | Auto-renewal and grace-period activity |
| Cancellation Survey | Cancellation reasons reported by subscribers |
| Subscription Fulfillment | Receipt delivery status and developer acknowledgement latency |
COLD or WARM. This field is required.5. Choose aggregation and time period
- Aggregation: Select
HOURLYorDAILY. - Time Period: Choose a preset (for example, Last 7 days or Last 30 days), or Custom date range to specify exact dates.
The query window depends on the aggregation. All times are in UTC.
- DAILY: Counts complete days only, ending yesterday. Today is excluded because it isn't finished yet. For example, if today is September 28, Last 30 days covers August 29 through September 27, inclusive. The maximum look-back is 30 days.
- HOURLY: Goes up to T-3 hours for Monetization metrics and T-2 hours for Vitals metrics.
6. Pick metrics
Use the Metrics multi-select dropdown to choose which metrics to include. Leave it empty to query all metrics for the selected metric set.
Available metrics vary by metric set. For example:
- Vitals LMK:
lmkRate,lmkRate7dUserWeighted,lmkRate28dUserWeighted,userPerceivedLmkRate,userPerceivedLmkRate7dUserWeighted,userPerceivedLmkRate28dUserWeighted,distinctDevices,lmkCount - Monetization Subscription Signup:
signups,signupRevenue - Monetization Subscription Fulfillment:
totalReceipts,fulfilled,unavailable,pending,notEligible,existingPurchase,notDelivered,p50AcknowledgementDelay,p90AcknowledgementDelay,p95AcknowledgementDelay
7. Optional: Add dimensions
Select dimensions to break down results. Each dimension adds a column to the output. The available dimensions depend on the selected API and metric set:
- Vitals: Version Code, Country Code, Device Model, Device Type, Device OS, OS Version
- Monetization: Marketplace, Term SKU, Device Type, Device OS, Subscription Type, Renewal Type, Cancellation Type, Cancellation Reason, Purchase Channel
8. Optional: Apply filters
Filters narrow results without adding a breakdown column. Set one or more filter values. The available filters depend on the API.
Vitals filters
- Version Code: Filter to a specific app version
- Country: Filter to one or more countries (for example,
US) - Device Model: Filter to specific device models
- Device Type: Filter by device family
- Device OS: Filter by Fire OS or Vega OS devices
- OS Version: Filter by OS version
Monetization filters
- Marketplace: Filter to a specific marketplace
- Term SKU: Filter to a specific subscription product SKU
- Device Type: Filter by device family
- Device OS: Filter by Fire OS or Vega OS devices
- Subscription Type, Renewal Type, Cancellation Type, Cancellation Reason, Purchase Channel: Filter by the corresponding subscription attribute
FIRE_OS or IAP), so your filter values exactly match the response.9. Set page size
Choose the maximum number of rows per response (default: 1,000, max: 100,000).
10. Run the query
Select Run Query. The response appears in the Response panel on the right.
Request Preview panel
As you configure your query, the Request Preview panel updates in real time and shows the following:
- The full
POSTURL - The complete cURL command and JSON request body
You can expand the preview into a full-screen view for easier reading, or copy it to your clipboard using the copy button.
Response panel
After you run a query, the Response panel displays the full JSON response, including the following:
rows[], each with its time period, dimension values, and metric values- A pagination token (
nextPageToken), if more results are available
You can expand the response into a full-screen view to inspect large result sets.
Tips
See the following tips for using the API Explorer:
- Start simple: Run a query with no dimensions or filters first to verify your app has data, then add breakdowns.
- Check for empty results: If you get empty results, your selected time range might be ahead of available data. For details, see the query window in step 5. Try an earlier date range.
- Copy and integrate: Use the Request Preview to copy the exact request into your app code.
- 28-day metrics require DAILY: 28-day user-weighted metrics aren't available for HOURLY aggregation. Switch aggregation to
DAILY. - Count vs. Rate: Use
crashCount,anrCount, orlmkCountfor absolute event volumes. Use rate metrics for normalized trend comparison across versions or devices.
Related topics
- Reporting API: Sales, earnings, and subscription report downloads
- Vitals API V2 Overview: Available metrics and dimensions
- Vitals API V2 Reference: Authentication, endpoints, code examples, and error handling
- Monetization Metrics API Overview: Available metrics and dimensions
- Monetization Metrics API Reference: Prerequisites, authentication, API endpoints, code examples, error handling, and best practices
Last updated: Oct 13, 2026

