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.

One payment, no subscription. Credits don’t expire.

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.pdf

Operations

One credit is one operation. Reading a document’s metadata is free. Output is deterministic — the same input gives you a byte-identical result.

metadatafree
copy1 credit
fill-form1 credit
merge1 credit
page-numbers1 credit
pages1 credit
split1 credit
watermark1 credit

Limits

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