Policy  ·  Reference

Drillbit Rate Limits
API Documentation

Understand the throttling windows, applicable timeframes, and integration best practices that keep your submission workflows running smoothly on the DrillBit API.

5-Minute Window
200files
Maximum submissions every 5 minutes
1-Hour Window
2,400files
Rolling hourly submission cap
Applicable Timeframe
6 PM – 6 AM
Off-peak hours, server local time
Current Limits

Throttling thresholds

The following API rate limits are currently applicable for the DrillBit plagiarism check service. Plan your batch submission windows around these thresholds to avoid throttling.

Category Current Limit
5 Minute Window
200 files within 5 minutes
1 Hour Window
2,400 files within 1 hour
Applicable Timeframe
6 PM to 6 AM
Both limits apply simultaneously
A request must satisfy both the 5-minute and 1-hour caps. If either window is full, new submissions in that window will be rejected until the rolling counter drains.
Off-Peak Hours

When the limits apply

Rate limits are designed for higher-volume batch processing during off-peak hours. Outside this window, please contact support to plan submissions.

12 AM6 AM12 PM6 PM12 AM
Active
Active
Rate-limited window (6 PM – 6 AM)
Peak business hours (6 AM – 6 PM)
Important Notes

What you need to know

1
Off-peak optimization. These limits are intended to support smooth processing of higher submission volumes during off-peak hours, when server load from real-time classroom usage is lower.
2
Enforcement. API usage exceeding the applicable limits may result in temporary account suspension or request blocking until the rolling window resets.
3
Stay within thresholds. Please ensure your integration adheres to the configured limits to avoid operational interruptions for your end users.
4
Same limits for everyone. These rate limits apply uniformly to all DrillBit API customers - there are no custom plans or premium tiers. For integration support, reach out to DrillBit Support at support@drillbitplagiarism.com.
Enforcement Behavior

What happens when you hit a limit

When your application crosses a threshold, the API responds in predictable ways so your integration can recover gracefully.

Request blocking
New submission requests are rejected for the remainder of the active rolling window. Already-queued jobs continue to process - only fresh inbound calls are throttled.
Temporary account suspension
Repeated or sustained abuse of the rate limits may lead to temporary suspension of the API key. You must contact support to reactivate.
Automatic recovery
Once the rolling window drains and your usage falls below the threshold, requests are accepted again automatically - no manual intervention is required for normal throttling events.
Best Practices

Build a resilient integration

Apply these patterns when designing your submission pipeline to avoid throttling and recover from it gracefully.

Pace your submissions. Spread batches across the rolling window - e.g., 40 files per minute keeps you safely under the 200/5min cap with headroom for retries.
Implement exponential backoff. On rejection, wait 2s, 4s, 8s, 16s… before retrying. Cap retries at 5 attempts before alerting.
Queue, don't fire-and-forget. Persist pending submissions in a local queue so throttled jobs can resume after the window resets without data loss.
Schedule heavy jobs at night. Bulk uploads, end-of-term sweeps, and re-runs should run between 6 PM and 6 AM to align with the rate-limit window.
Monitor & alert. Track throttled request counts in your observability stack - a sudden spike is an early warning that your pacing logic is off.
Integration Tip

Example: paced submission with backoff

A minimal Node.js pattern showing how to space requests and retry on throttling.

// Paced submission loop with exponential backoff const submitWithBackoff = async (files) => { for (const file of files) { let attempt = 0; while (attempt < 5) { try { await drillbit.submit(file); break; } catch (err) { if (err.status === 429) { const wait = Math.min(2 ** attempt * 1000, 30000); await sleep(wait); attempt++; } else throw err; } } await sleep(1500); // ~40 req/min - comfortably under 200/5min } };
FAQ

Frequently asked questions

Do these limits apply to every endpoint?
The published limits target plagiarism check submissions - i.e., file upload endpoints. Lightweight calls such as authentication, status polling, and report retrieval are not the primary target of these thresholds, but excessive calls of any kind may still be throttled.
Are the limits applied per user or per organization?
Rate limits are enforced per organization. All requests originating from your organization share the same rolling counters, so please coordinate batch jobs internally to stay within the limits.
Are there custom or premium rate-limit tiers?
No - the published limits apply uniformly to every DrillBit API customer. There are no tiered plans, premium quotas, or per-account overrides. Please design your integration around the standard thresholds.
What HTTP status do I receive when throttled?
Throttled requests receive HTTP 429 Too Many Requests. Treat this as a transient error, back off, and retry - do not surface it as a hard failure to your users.
Do the rolling windows reset on the hour?
No - they are continuous rolling windows. The 5-minute counter looks at the last 5 minutes from right now, not a fixed clock interval. Plan pacing accordingly.
Can I submit during peak business hours (6 AM – 6 PM)?
You can, but the documented limits target the off-peak window. For sustained daytime volume, please discuss your needs with support so capacity can be planned ahead of time.

Continue exploring the DrillBit API

Head back to the developer portal for product references and quick-start guides.

Back to home
Copied