API v2 Documentation

Connect your software to the POEditor localization platform using this simple REST API

Throttling, Queuing and Rate Limiting

POEditor uses a combination of techniques in order to mitigate abusive users or faulty API scripts. We also differentiate between Free and paid accounts, to ensure equitable access to resources.

  Free
Accounts
Paid
Accounts
Enterprise
Accounts
Concurrent requests 200 max 200 max 300 max
Requests / minute 150 max 200 max 300 max
Requests / hour 4000 max 6000 max 10000 max
Upload requests 1 / 20s max 1 / 10s max 1 / 10s max

In-depth details

All requests are put in a queue (individual per user) and are resolved asynchronously in the order they reached the POEditor API servers. If the queue builds up, we start dropping requests after reaching 200 for free accounts and 200 for paid accounts. Enterprise accounts can reach 300 requests. Expect to receive a 429 Too many requests error when this happens. Our advice is to send requests one by one, even with a slight delay between them.

There are also rate limits. Free accounts can send a maximum of 150 requests per minute and 4000 per hour. Paid accounts can send a maximum of 200 requests per minute and 6000 per hour. Enterprise accounts can send up to 300 requests per minute and 10000 per hour. When these limits are reached, you will also receive 429 Too many requests errors. Note that we count received requests, not resolved ones, so if you keep hitting the server after reaching the limits, no new request will be processed until the amount of requests you sent during the last minute/hour drops below the limit.

There is a rate limit for upload requests as well, since these are the most heavy requests we have to process. The rate is 1 upload request per 10 seconds for paid accounts and 20 for free accounts respectively.

The processed requests can be viewed in your API Log page: API Log

Webhooks Limits

We allow a maximum of 50 webhooks per minute. The export webhook can't be triggered from your integrated code hosting service, because it can end up in a beautiful loop. You get a Request limit reached. (50 in 1 minute) error after that threshold.

The processed requests can be viewed in your Webhooks Log

Additional help