Skip to content

Command Palette

Search for a command to run...

API Documentation

FileCraft REST API lets you integrate file processing into your own systems. Available on Pro, Business, and Enterprise plans.

Base URL

https://api.filecraft.tools/v1

Authentication

All requests require an API key passed in the Authorization header.

# All requests require this header

Authorization: Bearer YOUR_API_KEY

Get your API key from the account dashboard. Enterprise customers can generate multiple keys per team.

Endpoints

POST/api/process/compress-pdf

Compress a PDF file

Parameters

NameTypeRequiredDescription
fileFileThe PDF file to compress
qualitystring"low" | "medium" | "high". Default: "medium"

Response: Binary PDF blob with X-Size-Before, X-Size-After, X-Reduction headers

POST/api/process/compress-image

Compress a JPEG, PNG, or WebP image

Parameters

NameTypeRequiredDescription
fileFileThe image file to compress
qualitynumberQuality 1–100. Default: 80
formatstring"jpeg" | "png" | "webp". Default: same as input

Response: Binary image blob with X-Size-Before, X-Size-After headers

POST/api/process/merge-pdf

Merge multiple PDFs into one

Parameters

NameTypeRequiredDescription
file0, file1, …FilePDFs to merge, in order

Response: Binary merged PDF blob

Code Example

# Compress a PDF with curl

curl -X POST https://api.filecraft.tools/v1/compress-pdf \

-H "Authorization: Bearer YOUR_API_KEY" \

-F "[email protected]" \

-F "quality=medium" \

--output compressed.pdf

# JavaScript / Node.js

const form = new FormData()

form.append('file', fs.createReadStream('document.pdf'))

form.append('quality', 'medium')

const res = await fetch(

'https://api.filecraft.tools/v1/compress-pdf',

{ method: 'POST', headers: { Authorization: `Bearer ${API_KEY}` }, body: form }

)

const blob = await res.blob()

Rate Limits

PlanLimitNotes
FreeAPI access not available on Free plan
Pro100 req/hourUp to 500MB per file
Business1,000 req/hourUp to 2GB per file
EnterpriseUnlimitedCustom file size limits

Need higher limits or custom integration support?

Talk to Enterprise Sales →