Pricing and limits
What a request may be, how many at once, how pages count, and what it costs.
Price#
The API is part of your ReflowPDF plan (pricing). On Free its pages are the plan's pages without the mark, shared with the editor. Pro and Max include a number of API pages each month; the pages past them are billed once the month is over, on an invoice of their own, to the plan's card.
| Plan | Price | API pages a month |
|---|---|---|
| Free | $0 | 50 without the mark, then with it |
| Pro | $10 a month, or $100 a year | 1,000, then $5 per 1,000 |
| Max | $29 a month, or $290 a year | 5,000, then $5 per 1,000 |
Every page the API lays out counts, also when only some of a document's pages are asked as pictures; GET /v1/usage shows the month's count (api_pages). A Pro or Max subscription started before 14 November 2026 was sold with every API page in the plan and keeps it; its api_pages is null.
Rate and size#
| Free | Pro, Max | |
|---|---|---|
| At once | 2 prints; up to 20 more wait their turn | 5 prints; up to 50 more wait their turn |
| In 10 minutes | 300 prints | 1,200 prints |
| Files by link | 256 MB kept at once | 2 GB kept at once |
| Request body | up to 15 MB |
| Images | up to 200 pages a request, 18–600 dpi, 250 megapixels and 256 MB together (A4 at 150 dpi: about 115 pages) |
| Attachments | up to 20 files, 10 MB together |
| Merge, split, compress | up to 50 parts, 100 MB each and 200 MB together, 10,000 pages; a split makes up to 200 files; 60 seconds |
| A print | up to 90 seconds as a request; up to 3 minutes as a job |
| A file by link | 24 hours; 1 GB at most |
| Jobs | kept 24 hours; up to 50 not finished at once, their documents 250 MB together; a job waits its turn up to an hour |
| A template's fill | 1,000,000 loop iterations, 20,000,000 characters |
Over a limit, the response is 429 rate_limited with Retry-After (seconds). The SDKs wait and retry. Every response says where the account stands (RateLimit-Policy: 1200;w=600, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset in seconds), and GET /v1/usage says it all: the plan, the pages printed this period and of them those without the mark, the files kept, the rate.
Pages#
A page printed by the API is a page of your plan, exactly as one exported in the editor:
| Plan | Pages |
|---|---|
| Free | 50 pages a month without the ReflowPDF mark; then the PDF carries the mark (X-ReflowPDF-Mark: free-allowance-used) |
| Pro, Max | without the mark; PDF/UA-2, PDF/A-3a and PDF/A-1b, PDF/X-4 and PDF/X-1a |
Images count as the pages they show (X-Page-Count: three images of a 40-page document are three pages); the layout counts as the document's pages. A request refused before printing (400, 403, 422 unfulfillable) counts nothing.
curl https://api.reflowpdf.com/v1/usage -H "Authorization: Bearer $REFLOWPDF_API_KEY"const usage = await reflow.usage.get() // { plan, pages_printed, pages_without_mark: { limit, used, remaining }, … }usage = client.usage.get() # .plan, .pages_without_mark, .ai_pages, .files, .ratePlans: app.reflowpdf.com → account menu → Billing.