The Analytics API provides users with key information about their RESTful API and Trading API usage, and how that compares with the call quotas established for each API or API method or call.

The data pertaining to usage against the limit of a specific method or call is called rate-limit data, and you can use the Analytics API to get rate-limit data on a per-user or per-application basis.

Technical overview

The following are the main resources of the Analytics API:

  • rate_limit
  • user_rate_limit

The GET methods in each of these resources returns the rate-limit data for an application and a user, respectively. Rate-limit data consists of the following information:

  • limit – The quota, or the total number of requests you can make against a resource within the stated time window.
  • remaining – The remaining number of requests the user or application can make to the associated resource before reaching the quota.
  • reset – The date and time the limit and remaining values are reset.
  • timeWindow – The length of the time window to which the quota is applied, expressed in seconds.

Business use cases

The following are some of the Analytics API's high-level use cases:

The data returned by the methods in the Analytics API lets users review the current resource usage and lets them compare that to the quota given for each resource. Developers can take action depending on the remaining requests available before the quota resets. If the user or application is in danger of reaching the call limit, developers can programmatically throttle their request rate, at least until the time window is reset.

Retrieve call-limit data for an application

Each application can make a set number of requests to any one resource for an eBay-specified time window. The getRateLimits method returns call-limit data for a set of resources. For each resource returned, the call-limit data includes the number of calls an application can make against a resource in a given time window, the number of calls remaining for the current time window, the data and time the time window resets, and the specified length of time for the resource.

Note: In addition to daily call limits, some API methods are subject to short-duration call rate limits. For these methods, you'll see a timeWindow value of 86400 (seconds, equaling one day) and then another much shorter timeWindow value, such as 300 (seconds). An example response of the getRateLimits method that has a daily call limit and a short duration call limit is shown below.

{
    "apiContext": "sell",
    "apiName": "fulfillment",
    "apiVersion": "v1",
    "resources"
        [{
        "name": "sell.fulfillment.payment_dispute_detail",
        "rates":[{
            "limit": 250000,
            "remaining": 249940,
            "reset": "2023-09-01T07:00:00.000Z",
            "timeWindow": 86400
            },
            { 
            "limit": 5000,
            "remaining": 5000,
            "reset": "2023-09-01T02:00:00.000Z",
            "timeWindow": 300
            }]
        }]
}

Retrieve call-limit data for a user

Much like using getRateLimits for retrieving application-specific call-limit data, use the getUserRateLimits method to retrieve call-limit data for a specific user of an application.

API restrictions

The Analytics API is not restricted by marketplace or user.