DocumentationAPIRate Limits & Usage Quotas

Rate Limits & Usage Quotas

Product Classifier implements rate limits and usage quotas to ensure fair resource allocation across all customers. Understanding these limits helps you plan your integration and avoid service interruptions.

Rate Limits

Rate limits control how many requests you can make within specific time windows. These limits prevent individual accounts from overloading the service.

How Rate Limits Work

When you exceed a rate limit, the API returns an HTTP 429 (Too Many Requests) error. The request is not processed, and no credit is deducted from your account.

Rate limiting applies at two levels:

  1. Product Classifier API limits - Controls the request volume to our service
  2. Upstream AI service limits - Controls capacity from the AI models we use

Both types of rate limiting return the same HTTP 429 error code, so your application should handle them identically.

Default Rate Limits

All accounts are subject to these default rate limits:

  • Per minute: 200 requests
  • Per hour: 1,000 requests
  • Per day: 5,000 requests

Rate limit windows are rolling—each request starts a new window for that specific time period. For example, if you make 200 requests at 2:00 PM, you can make another 200 requests at 2:01 PM.

Requesting Higher Limits

If your use case requires higher rate limits, contact us at support at productclassifier.com with:

  • Your current plan
  • Your average and peak request volumes
  • A description of your use case
  • Your expected growth over the next 6 months

We evaluate requests individually and can adjust limits based on your needs.

Usage Quotas

Usage quotas determine how many classifications you can perform based on your subscription plan. Unlike rate limits, which control request frequency, usage quotas control total volume.

How Credits Work

Product Classifier uses a credit-based system where one classification = one credit. Every successful classification request—regardless of whether a category is found—consumes one credit.

Credits come in two types:

Monthly credits - Included with your subscription plan and renewed at the start of each billing cycleTop-up credits - Purchased separately in bulk packages at various price points

When you make a classification request, the system consumes credits in this order:

  1. Monthly credits (if available)
  2. Top-up credits (if monthly credits are exhausted)

When Credits Run Out

If you have no remaining credits—neither monthly nor top-up—the API returns an HTTP 403 (Forbidden) error. The request is not processed.

This applies to all account types:

  • Trial accounts - Start with 50 credits
  • Paid plans - Receive monthly credits based on subscription tier

To continue classifying products, you must either:

  • Wait for your monthly credits to renew (at the start of your next billing cycle)
  • Purchase top-up credits
  • Upgrade to a plan with a higher monthly credit allocation

Monitoring Your Usage

Monitor your credit balance and usage in the dashboard. The dashboard shows:

  • Remaining monthly credits
  • Remaining top-up credits
  • Total credits consumed this billing cycle
  • Days until monthly credit renewal

Handling Errors

Your application should gracefully handle both types of limits:

Rate Limit Exceeded (429)

if (response.status === 429) {
  // Wait and retry with exponential backoff
  // Check Retry-After header if provided
  await wait(retryDelay);
  retry();
}

Implement exponential backoff to automatically retry after brief delays. Most 429 responses include a Retry-Afterheader indicating when to retry.

Quota Exceeded (403)

if (response.status === 403) {
  // Check if error indicates insufficient credits
  // Alert user or admin
  // Either wait for renewal or purchase top-up credits
  notifyInsufficientCredits();
}

When credits are exhausted, alert relevant stakeholders and either wait for renewal or purchase additional credits. Unlike rate limits, this requires manual intervention.

Next Steps