canonical: https://jentic.com/apis/ebay.com/developer-analytics

# Ebay Developer Analytics API

The eBay Developer Analytics API exposes the call-limit and quota state of every eBay REST API and the legacy Trading API for a given application or user. Two endpoints - /rate_limit and /user_rate_limit - return per-resource quotas, calls remaining, time until window reset, and the length of the rolling window itself. Applications use it to throttle their own request rate before eBay rejects calls, and to alert engineering when a quota is about to run out. /rate_limit reports application-level limits and accepts a Client_Credentials access token; /user_rate_limit reports per-user limits and requires a User token from the authorization-code grant.

## For AI agents

Read live eBay API quota usage - calls remaining, window length, and reset time - for any eBay REST or Trading API resource. Two endpoints.

## Scope

Does not handle business analytics, sales reporting, or traffic metrics - use for reading API rate-limit and quota status only.

## Capabilities

- Fetch application-level remaining-call counts for every eBay REST resource via /rate_limit
- Fetch per-user remaining-call counts for user-context endpoints via /user_rate_limit
- Read the rolling-window length and reset timestamp for any eBay API quota
- Drive client-side throttling before hitting eBay's hard rate-limit wall
- Trigger pager alerts when an application's daily quota for a resource drops below a threshold
- Compare quota burn across multiple eBay APIs (Browse, Inventory, Fulfillment, etc.) from one endpoint

## Use cases

### Pre-flight quota check before a bulk job

Before launching a bulk catalogue refresh against the Browse or Item Feed APIs, an integration calls /rate_limit and inspects the remaining quota for the relevant resource. If fewer calls remain than the job needs, the integration delays until the next reset window rather than failing partway through with HTTP 429 responses.

Example prompt: Call /rate_limit, find the entry where api='buy' and resource='browse', and abort the job if remaining < 10000

### User-level quota dashboard for a multi-tenant app

Multi-tenant SaaS tools that act on behalf of many eBay sellers call /user_rate_limit per connected seller to render a per-tenant dashboard of remaining calls. This catches the case where one seller's heavy use exhausts their user-level quota even though the application-level quota is healthy.

Example prompt: For each connected seller, call /user_rate_limit with their User token and persist the rate-limit array to the tenant_usage table

### Alerting on quota exhaustion

Operations teams pipe /rate_limit responses into their monitoring stack (Datadog, Prometheus) on a 5-minute schedule. Alerts fire when remaining drops below 10% of the window allowance, so engineers can pause non-essential workloads before customer-facing flows start hitting 429s.

Example prompt: Every 5 minutes call /rate_limit, emit a metric per (API, resource) pair, and alert when remaining/limit < 0.1

### AI agent integration via Jentic

An AI agent that orchestrates several eBay APIs queries Jentic with 'check eBay API quota' and Jentic returns the /rate_limit operation. The agent loads its schema and executes the call before scheduling a long-running task - when remaining quota is low for a target resource, the agent re-plans or defers the task until after the window reset, avoiding mid-run failures.

Example prompt: Use Jentic to search 'check eBay API quota', load /rate_limit, and execute it; if remaining for buy.browse < 100, defer the planned bulk lookup

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /rate_limit/ | Get application-level rate-limit and quota status |
| GET | /user_rate_limit/ | Get per-user rate-limit and quota status |

## Key resources

- **rate_limit** — Application-level call-limit and quota status across all eBay APIs (Client_Credentials token)
- **user_rate_limit** — Per-user call-limit and quota status (Authorization Code token)

## Why Jentic

- **Setup:** Wiring the eBay Developer Analytics API by hand means implementing eBay's OAuth 2.0 flow, choosing between the application client-credentials token and the user authorization-code token for each call, and pointing requests at the api.ebay.com developer/analytics host. Through Jentic you install once, import the Developer Analytics API from the API Directory, store the eBay OAuth credentials once, and your agent calls it.
- **Permission scoping:** This API exposes two flat read endpoints, /rate_limit and /user_rate_limit, with no resource id in the URL path, so scope it by operation: you limit the agent to the operations it needs, such as reading application-level or user-level rate-limit status. Both are read-only quota checks, so the agent reports usage and nothing more.
- **Credential handling:** Your eBay OAuth application and user credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'check eBay API quota', and Jentic returns the matching /rate_limit or /user_rate_limit operation with its input schema so the agent picks the application-level or user-level endpoint without browsing the reference docs.

## Related APIs

- **eBay Browse API** — Browse is one of the heaviest-quota consumers; pair with Developer Analytics to manage burn.
- **eBay Item Feed Service** — Feed downloads consume quota per file pull; check Developer Analytics before scheduling the job.
- **eBay Sell Account API** — Sell Account uses a User token; pair with /user_rate_limit to track per-seller burn.

## FAQ

### What authentication does the Developer Analytics API use?

/rate_limit accepts an OAuth 2.0 Application access token issued via the Client_Credentials grant. /user_rate_limit requires a User access token issued via the Authorization Code grant - the user must complete an eBay OAuth consent flow first. Through Jentic, both credential types live in your Jentic One instance and the agent receives only the scoped access token it needs.

### Can I see legacy Trading API call limits with the Developer Analytics API?

Yes. /rate_limit reports quotas for both the RESTful APIs (Browse, Inventory, Fulfillment, etc.) and the legacy Trading API in the same response - each entry carries an API and resource pair, so the Trading API appears alongside the REST ones.

### What are the rate limits for the Developer Analytics API itself?

Developer Analytics calls themselves consume quota under the developer.analytics resource. The defaults are generous - the API is meant to be polled - but you can confirm your specific allotment by calling /rate_limit and inspecting the developer.analytics entry in its own response.

### How do I check my remaining quota through Jentic?

Search Jentic for 'check eBay API quota', load the /rate_limit operation schema, and execute it. The response is an array of resource entries, each with limit, remaining, reset, and timeWindow. Install with pip install jentic. Get started with Jentic One, the self-hosted execution layer.

### What is the difference between /rate_limit and /user_rate_limit?

/rate_limit reports application-keyset-level quotas - the cap eBay enforces across all calls made with your Client_ID. /user_rate_limit reports per-user quotas - the additional cap enforced when one specific eBay user's token is used to call user-context endpoints. A heavy single user can exhaust /user_rate_limit while /rate_limit remains healthy.

### Can I limit what my agent is allowed to do with the eBay Analytics API?

Yes. Because you run Jentic One yourself, your own rules decide which of this API's two operations the agent may call and which stored eBay OAuth credentials it may use. This API exposes only two flat read endpoints, /rate_limit for application-level quota and /user_rate_limit for per-user quota, so you scope the agent by operation, granting just the rate-limit check it needs. Both operations are read-only quota lookups, so a scoped agent can report remaining calls and reset windows and nothing more.
