API Rate Limiting

Overview

Our API implements rate limiting to ensure fair usage and optimal performance for all partners. Rate limits help protect the service from abuse while providing reliable access to our verification services.


Understanding Rate Limits

What is Rate Limiting?

Rate limiting controls how many API requests you can make within a specific time window. When you exceed these limits, you'll receive a temporary block until the time window resets.

Why We Use Rate Limits

  • Fair Usage: Ensures all partners get reliable access to the API

  • System Stability: Protects our infrastructure from overload

  • Performance: Maintains fast response times for everyone

  • Security: Prevents abuse and malicious activities


Rate Limit Structure

Global Limits

All API keys are subject to a baseline rate limit:

  • 100 requests per minute

API Key Specific Limits

Your specific rate limits may vary based on:

  • Your subscription plan

  • API key configuration

  • Endpoint type being accessed


Monitoring Your Usage

Rate Limit Headers

Every API response includes headers showing your current rate limit status:

Header Explanations:

  • X-RateLimit-Limit: Maximum requests allowed in the current window

  • X-RateLimit-Remaining: Number of requests you have left

  • X-RateLimit-Reset: Unix timestamp when your limit resets

Checking Your Current Usage

Monitor these headers in your API responses to track usage:


When You Hit Rate Limits

Rate Limit Response

When you exceed your rate limit, you'll receive a 429 Too Many Requests response:

Handling Rate Limits in Your Code

Basic Error Handling:

Automatic Retry with Backoff:


Best Practices

1. Monitor Your Usage

Do:

  • Check rate limit headers in responses

  • Track your API usage patterns

  • Set up alerts when approaching limits

Don't:

  • Ignore rate limit headers

  • Make unnecessary API calls

  • Implement aggressive retry loops

2. Optimize Your API Calls

Efficient Request Patterns:

Caching Strategies:

3. Use Webhooks Instead of Polling

Instead of polling for status:

Use webhooks for real-time updates:

4. Implement Request Queuing

For high-volume applications:


Rate Limit Categories

Different endpoints may have different rate limits:

Endpoint Type
Typical Limit
Description

Session Creation

20/minute

Creating new verification sessions

Status Checks

100/minute

Checking verification status

Data Retrieval

100/minute

Getting types, sources, step details

Webhook Management

10/minute

Creating/updating webhooks


Upgrading Your Limits

When You Need Higher Limits

Contact our team if you need higher rate limits due to:

  • High-volume verification requirements

  • Enterprise-level integration

  • Batch processing needs

  • Real-time application requirements

How to Request Limit Increases

  1. Contact Support

    • Include your current API key ID

    • Describe your use case and required limits

  2. Provide Usage Justification

    • Expected request volume

    • Business use case

    • Current limit constraints

  3. Consider Enterprise Plans

    • Higher default limits

    • Custom rate limit configurations

    • Priority support


Monitoring and Alerts

Track Your Usage

Set Up Monitoring

Consider implementing:

  • Rate limit usage dashboards

  • Alerts when approaching limits

  • Automatic request throttling

  • Usage pattern analysis


Quick Reference

Rate Limit Checklist

  • [ ] Monitor rate limit headers in responses

  • [ ] Implement proper error handling for 429 responses

  • [ ] Use webhooks instead of polling when possible

  • [ ] Cache frequently accessed data

  • [ ] Implement request queuing for high-volume apps

  • [ ] Set up monitoring and alerts


Last updated