For documents exceeding these limits, use the page_range parameter to process in segments:
from datalab_sdk import DatalabClient, ConvertOptionsclient = DatalabClient()# Process a large document in segmentsoptions = ConvertOptions(page_range="0-999")result1 = client.convert("large_document.pdf", options=options)options = ConvertOptions(page_range="1000-1999")result2 = client.convert("large_document.pdf", options=options)
In addition to request rate limits, Datalab enforces a limit on the total number of pages being processed concurrently across all your requests.
Limit
Value
Concurrent pages in flight
5,000
Most workloads will not hit this limit. It primarily affects high-volume workloads with longer-running requests — for example, large or complex documents processed in accurate mode with additional features enabled — or extremely high-volume workloads. Such sustained workloads would benefit from an enterprise agreement or a batch job that we orchestrate for you. Contact support@datalab.to to discuss your requirements.This limit differs from request rate limits in two important ways:
It is not time-bound. It limits the number of pages actively being processed at any given moment, not the number of requests per minute.
It is enforced during processing, not at submission. You will not receive a 429 response when submitting a document. Instead, the result will return with success set to false and an error message:
{ "success": false, "error": "Page rate limit exceeded. Your team has {current_pages} pages in flight and this request adds {page_count} more ({total} total, limit: 5,000). Please wait for some requests to complete before submitting more, or contact support@datalab.to for a higher limit."}
Because this limit is not enforced at submission time, you won’t get an HTTP error when submitting. Always check the success field in your results. If you’re polling for results, back off and wait for in-flight requests to complete before submitting more.