Rate Limits
The PDF Squeezer API enforces rate limits per API key and subscription tier. Exceeding the limit returns 429 Too Many Requests.
Limits by tier
| Tier | Requests/min | Max file size |
|---|---|---|
| Free | 5 | 5 MB |
| Basic | 30 | 25 MB |
| Pro | 120 | 100 MB |
Handling 429 responses
When you exceed the rate limit, the API returns 429 with a JSON error. Implement exponential backoff and retry after a short delay (e.g. 1–5 seconds).
import time
import requests
def compress_with_retry(file_path, max_retries=3):
for attempt in range(max_retries):
with open(file_path, 'rb') as f:
r = requests.post(
'https://api.pdfsqueezer.io/v1/compress',
files={'file': f},
headers={'Authorization': f'Bearer {API_KEY}'}
)
if r.status_code == 429:
time.sleep(2 ** attempt)
continue
return r
return r
Response headers
Rate limit headers (when available) include X-RateLimit-Remaining and Retry-After. Check these to implement smart throttling in your client.