Free for people. Paid for agents.
Every tool on this site is free to use and always will be. This is the API those tools run on — the same operations, callable by software. It is metered per operation, and it is what pays for the free side.
Three calls
Documents are handles, not paths. Upload once, pass the handle to as many operations as you like, download when you’re done. Handles expire after 24 hours.
# 1. upload a document -> 201
curl -X POST https://www.foolio.co/api/v1/documents \
-H "Authorization: Bearer $FOOLIO_KEY" \
-F "file=@contract.pdf"
# { "id": "…", "file_name": "contract.pdf", "page_count": 12,
# "size_bytes": 84213, "sha256": "…", "expires_at": "…" }
# 2. run an operation -> 200
curl -X POST https://www.foolio.co/api/v1/operations/merge \
-H "Authorization: Bearer $FOOLIO_KEY" \
-H "Content-Type: application/json" \
-d '{"documents":["<id-a>","<id-b>"]}'
# { "document": "<id-c>" }
# 3. download the result -> 200
curl https://www.foolio.co/api/v1/documents/<id-c>/download \
-H "Authorization: Bearer $FOOLIO_KEY" -o merged.pdfOperations
One credit is one operation. Reading a document’s metadata is free. Output is deterministic — the same input gives you a byte-identical result.
metadatafreecopy1 creditfill-form1 creditmerge1 creditpage-numbers1 creditpages1 creditsplit1 creditwatermark1 creditLimits
- Auth
- Bearer token, sent as Authorization
- Upload size
- 50 MB per document
- Document retention
- 24 hours, then deleted
- Rate limit
- 300 requests per minute per key
- Out of credits
- 402, with the cost in the message