Get AI Analytics via API
As a part of Analytics, IDE Services provides a public API that enables you to get an insight into various AI-related metrics that can help you understand the extent of AI adoption in your organization and AI activity and its impact.
Users and Adoption
The following adoption and usage metrics are available via API:
Users have access to AI - The total number of unique users who had AI enabled during the selected period.
Active users - The total number of unique users who made at least one request to JetBrains AI during the selected period.
Get Users and Adoption metrics
To retrieve metrics about AI feature adoption, including the number of unique enabled and active users over a specified time period:
Call
GET /api/analytics/ai/users-adoptionwith the following parameters:fromDate- Start date of the time range (inclusive) in ISO date format (YYYY-MM-DD).toDate- End date of the time range (inclusive) in ISO date format (YYYY-MM-DD).groupBy- Time granularity for grouping metrics. Valid values:DAY,WEEK,MONTH,YEAR.profileId(Optional) - Profile ID to get metrics for a specific profile.
Each user is counted only once per grouped time period. For example, if a user makes a request on January 15 and again on January 26, they are counted only once in the January metric when data is grouped by month.
AI Activity and Impact
IDE and plugin version requirements
Data is collected from IDEs and plugins in the IDEs. This data includes information about generated code suggestions and their acceptance or rejection, as well as the number of interactions with AI tools and features. For IDEs and plugins to provide this data, they must meet the following version requirements:
IDE version 2025.3.0 or later
AI Assistant version 2025.3.0 or later
Junie version 253.487.77 or later
Earlier versions of IDEs and plugins don't send data required for this analytics segment. In the case of partially meeting version requirements, AI activity and impact will not include data for all AI tools and features. For example, if the IDE and AI Assistant versions are up to date but the Junie version is older than the minimum requirement, Junie-related data will not be included in the analytics.
AI tools and features included in the metrics
Chat-based interactions: Data related to chat interactions with AI models and coding agents. The metrics include data related to actions performed in the following tools:
Junie, when used in Code mode.
Claude Agent, a third-party coding agent by Anthropic integrated with AI Assistant.
AI Assistant, for messages sent in Chat mode.
In-editor interactions: Code suggestions generated inside the editor by the following features:
Code completion: Cloud-based completion that can autocomplete single lines, blocks of code, and even entire functions in real time based on the project context.
Next edit suggestions: Prediction of the code segments to change next and suggestion of likely edits.
Get AI Activity and Impact metrics
Get aggregated AI Activity and Impact metrics
Retrieves aggregated activity and impact metrics including suggestions, acceptances, and invocations for AI tools over a specified time period. When multiple tools are selected, this endpoint combines all metrics across tools into a single set of values per time period.
To retrieve activity and impact over a specified time period:
Call
GET /api/analytics/ai/effectiveness/metricswith the following parameters:fromDate- Start date of the time range (inclusive) in ISO date format (YYYY-MM-DD).toDate- End date of the time range (inclusive) in ISO date format (YYYY-MM-DD).groupBy(Optional) - Time granularity for grouping metrics. Valid values:DAY,WEEK,MONTH,YEAR.tool(Optional) - Comma-separated list of observed tools to filter by. Valid values:junie,aia,claude_code,code_completion,nes.
Get AI Activity and Impact metrics by feature
Retrieves activity and impact metrics broken down by individual features, including suggestions, acceptances, and invocations for each tool separately over a specified time period. This endpoint maintains separate metrics for each tool in the response.
To retrieve activity and impact metrics by feature:
Call
GET /api/analytics/ai/effectiveness/metrics-by-featurewith the following parameters:fromDate- Start date of the time range (inclusive) in ISO date format (YYYY-MM-DD).toDate- End date of the time range (inclusive) in ISO date format (YYYY-MM-DD).groupBy(Optional) - Time granularity for grouping metrics. Valid values:DAY,WEEK,MONTH,YEAR.tool(Optional) - Comma-separated list of observed tools to filter by. Valid values:junie,aia,claude_code,code_completion,nes.
Get total AI Activity and Impact metrics
Retrieves aggregated activity and impact metrics for the entire specified time period without time-based grouping. This endpoint provides a single summary of metrics across all dates in the range.
To retrieve total activity and impact metrics:
Call
GET /api/analytics/ai/effectiveness/metrics/totalswith the following parameters:fromDate- Start date of the time range (inclusive) in ISO date format (YYYY-MM-DD).toDate- End date of the time range (inclusive) in ISO date format (YYYY-MM-DD).tool(Optional) - Comma-separated list of observed tools to filter by. Valid values:junie,aia,claude_code,code_completion,nes.
Get per-user AI Activity and Impact metrics
Retrieves metrics for individual users with cursor-based pagination. Each record represents metrics for a specific user, date, and tool combination. Results include user information (name and email) along with their daily metrics for the specified tools.
To get per-user AI Activity and Impact metrics:
Call
GET /api/analytics/ai/effectiveness/metrics/users.pagedwith the following parameters:fromDate- Start date of the time range (inclusive) in ISO date format (YYYY-MM-DD).toDate- End date of the time range (inclusive) in ISO date format (YYYY-MM-DD).tool(Optional) - Comma-separated list of observed tools to filter by. If not specified, includes all tools. Valid values:junie,aia,claude_code,code_completion,nes.query(Optional) - Comma-separated list of user UUIDs to filter by specific users. If not specified, includes all users.cursor(Optional) - Opaque cursor string for pagination continuation. Obtained fromnextCursorin the previous response. If omitted, returns first page.limit(Optional) - Number of records per page. Must be between 1 and 1000. The default value is 50.sortOrder(Optional) - Sort order for results. Valid values:ASC,DESC. Defaults toASC. Results are sorted by tool, date, and user ID.