GET MyJFrog Usage Data

JFrog REST APIs

Content Type
REST API

Subscription Information

This feature is supported on the Cloud (SaaS) platform for all licenses.

Description: Returns a CSV file containing usage data for the subscription over a specified time period. You can define data filters and output settings for the exported report.

Related Documentation: This API parallels the filtering and reporting features of the MyJFrog portal's Usage Explorer tab.FilteringReporting

Since: November 3, 2025

Security: Requires a valid tokenGenerate a Token in MyJFrog

Returns: application/json

Usage:

GET /api/usage/v1/export/<scenario>?format=csv&start_date=<YYYY-MM-DD>
    &non_inclusive_end_date=<YYYY-MM-DD>
    &partition_by=<partition_type>&partition_group_limit=<partition_limit> 
    &filter_by[<key>]=<filter_value> &group_by=<key> 

With the following request parameters:

Parameter

Type

Description

scenario

string

A string that indicates the type of data that is requested. Currently only the value traffic is supported. This corresponds to the Data Transfer usage reports of the MyJFrog portal.

format

string

A string that indicates the format of the returned payload. Currently only the value csv is supported.

start_date

string

The earliest date for which data is reported, in the string format YYYY-MM-DD. When you submit the request, this must be within the last 558 days.

non_inclusive_end_date

string

The latest date for which data is reported, in the string format YYYY-MM-DD.

partition_by

string

A string that indicates the granularity of data aggregation. Valid values:

  • day: report average and/or peak values several times per day. The range between start_date and non_incluisive_end_date cannot exceed 3 months.

  • month: report average and/or peak values several times per month. The range between start_date and non_incluisive_end_date cannot exceed 12 months.

partition_group_limit

numeric range

A numeric value that indicates the number of daily or monthly data samples. Valid range: 1-1999.

filter_by[key]=<value>

string array

(Optional) Filter data to include only records with the specified value for the key. See GET MyJFrog Usage Data for valid keys and values.

For example, the term &filter_by[package_type]=docker

includes data about docker packages and excludes all other records.

You can define multiple filters to include other package types, or apply additional filters to the set of Docker packages.

group_by=<key>

string array

(Optional) Group reported data in the returned file based on the specified key. See GET MyJFrog Usage Data for valid keys and values.

For example. the term group_by=username groups together data records for each user account.

You can define multiple grouping criteria.

Filter and Group Keys

The following keys are valid for the optional filter_by and group_by terms.

  • action: Valid values are upload or download. By default, unfiltered reports include both uploads and downloads.

  • artifact_path: you can group data in blocks of 32 days or more

  • ip: you can group data in blocks of 32 days or more

  • package_type

  • project

  • repo_type (repository type)

  • repository

  • server_name

  • service

  • username

Rate Limiting

This API request can generate significant processing loads. To retrieve a large data set, define a series of API requests with date ranges or filters.

The following limits are imposed on consecutive submissions of this request:

  • The following IP-based limits are applied to requests:

    • 10 requests within 10 minutes

    • 20 requests per hour

  • The following limits are then applied to requests with the same (currently valid) authentication token:

    • 5 requests within 5 minutes

    • 10 requests per hour

Note

Rate limits may vary from these defaults in response to network conditions and service priorities.

Response

The response payload contains a CSV file named JFrog-data-transfer-YYYYMMDD-yyyymmdd.csv

Where YYYYMMDD is the value of start_date and yyyymmdd is the value of non_inclusive_end_date.

All timestamps in the CSV file are UTC.

Sample Usage:

curl -OJ --location --request GET \
'https://my.jfrog.com/api/usage/v1/export/traffic?format=csv&start_date=2025-01-01&non_inclusive_end_date=2025-02-01
&partition_by=day&partition_group_limit=1000
&filter_by[server_name]=myserver1&filter_by[server_name]=myserver2
&group_by=repository&group_by=action' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>'

Response Status Codes:

200: Success. CSV attached to return message.

400: Bad Request: Invalid parameters supplied.

401: Unauthorized user: Missing or invalid bearer token.

403: Forbidden:

  • User lacks the required view_usage permission.

  • User not authenticated for this SaaS subscription.

429: Request Denied: Request rate exceeded. Too many/too frequent API requests were submitted.

500 : Internal Server Error: An unexpected error occurred.