Endpoint: List Compressors
Method + paths
GET /compress/compressorsGET /compress/compressors/{filter}—{filter}accepts a format extension (e.g.jpg,pdf) or a category name (e.g.images,documents)GET /compress/compressors/from/{format}GET /compress/compressors/to/{format}
Auth
Requires X-Fast-Api-Key header.
Query params
formats(optional): comma-separated formats (e.g.jpg,png,pdf)category(optional): compressor category (e.g.images,documents)
Response
200 OK with GetCompressorsResponse.
Example response (trimmed)
{
"compressors": [
{
"job": "image.jpg-compress",
"category": "images",
"costing": {
"strategy": "PerMegabyte",
"baseCost": 1,
"increment": 40,
"incrementUnit": "mb",
"displaySuffix": "per 40 MB"
},
"endpoint": "/api/compress",
"inputFormats": ["jpg", "jpeg"],
"outputFormats": ["jpg"],
"maxFileSizeBytes": 1073741824,
"maxConcurrentJobs": 6
},
{
"job": "document.pdf-compress",
"category": "documents",
"costing": {
"strategy": "PerMegabyte",
"baseCost": 1,
"increment": 40,
"incrementUnit": "mb",
"displaySuffix": "per 40 MB"
},
"endpoint": "/api/compress",
"inputFormats": ["pdf"],
"outputFormats": ["pdf"],
"maxFileSizeBytes": 1073741824,
"maxConcurrentJobs": 4
}
],
"sourceFormatTo": {
"jpg": [
{
"sourceFormat": "jpg",
"targetFormat": "jpg",
"job": "image.jpg-compress",
"endpoint": "/api/compress",
"category": "images",
"costing": {
"strategy": "PerMegabyte",
"baseCost": 1,
"increment": 40,
"incrementUnit": "mb",
"displaySuffix": "per 40 MB"
},
"maxFileSizeBytes": 1073741824,
"maxConcurrentJobs": 6
}
]
},
"maxFileSizeBytes": 1073741824,
"maxConcurrentJobs": 6,
"maxBatchFiles": 200
}
Examples
# all compressors
curl -sS "https://api.tools.fast/compress/compressors" \
-H "X-Fast-Api-Key: $API_KEY"
# filtered compressors
curl -sS "https://api.tools.fast/compress/compressors?formats=jpg,png&category=images" \
-H "X-Fast-Api-Key: $API_KEY"
# route filter variant (bidirectional — matches input or output)
curl -sS "https://api.tools.fast/compress/compressors/jpg" \
-H "X-Fast-Api-Key: $API_KEY"
# directional lookup
curl -sS "https://api.tools.fast/compress/compressors/from/jpg" \
-H "X-Fast-Api-Key: $API_KEY"
curl -sS "https://api.tools.fast/compress/compressors/to/pdf" \
-H "X-Fast-Api-Key: $API_KEY"
# category filter
curl -sS "https://api.tools.fast/compress/compressors/images" \
-H "X-Fast-Api-Key: $API_KEY"
curl -sS "https://api.tools.fast/compress/compressors/documents" \
-H "X-Fast-Api-Key: $API_KEY"# all compressors
Invoke-RestMethod "https://api.tools.fast/compress/compressors" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
# filtered compressors
Invoke-RestMethod "https://api.tools.fast/compress/compressors?formats=jpg,png&category=images" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
# route filter variant (bidirectional — matches input or output)
Invoke-RestMethod "https://api.tools.fast/compress/compressors/jpg" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
# directional lookup
Invoke-RestMethod "https://api.tools.fast/compress/compressors/from/jpg" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
Invoke-RestMethod "https://api.tools.fast/compress/compressors/to/pdf" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
# category filter
Invoke-RestMethod "https://api.tools.fast/compress/compressors/images" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
Invoke-RestMethod "https://api.tools.fast/compress/compressors/documents" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }Format Lookup
Use the route filter variant to look up what compressors are available for a given file extension. The sourceFormatTo field in the response maps each source format to its available output options with costing details.
# What compressors handle JPG files?
curl -sS "https://api.tools.fast/compress/compressors/jpg" \
-H "X-Fast-Api-Key: $API_KEY"
# What compressors handle PDF files?
curl -sS "https://api.tools.fast/compress/compressors/pdf" \
-H "X-Fast-Api-Key: $API_KEY"
# What image compressors are available?
curl -sS "https://api.tools.fast/compress/compressors/images" \
-H "X-Fast-Api-Key: $API_KEY"# What compressors handle JPG files?
Invoke-RestMethod "https://api.tools.fast/compress/compressors/jpg" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
# What compressors handle PDF files?
Invoke-RestMethod "https://api.tools.fast/compress/compressors/pdf" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
# What image compressors are available?
Invoke-RestMethod "https://api.tools.fast/compress/compressors/images" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }Directional Format Lookup
Use the /from/{format} and /to/{format} variants to look up compressors by direction:
/compress/compressors/from/{format}— compressors that accept this format as input ("I have a JPG, can it be compressed?")/compress/compressors/to/{format}— compressors that produce this format as output ("I need a compressed PDF, what compressors output PDF?")
Both return the same GetCompressorsResponse shape. Compare with the bidirectional /compress/compressors/{filter} variant which matches on both input and output formats.
# What accepts JPG as input?
curl -sS "https://api.tools.fast/compress/compressors/from/jpg" \
-H "X-Fast-Api-Key: $API_KEY"
# What outputs PDF?
curl -sS "https://api.tools.fast/compress/compressors/to/pdf" \
-H "X-Fast-Api-Key: $API_KEY"
# Combine with category filter
curl -sS "https://api.tools.fast/compress/compressors/from/docx?category=documents" \
-H "X-Fast-Api-Key: $API_KEY"# What accepts JPG as input?
Invoke-RestMethod "https://api.tools.fast/compress/compressors/from/jpg" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
# What outputs PDF?
Invoke-RestMethod "https://api.tools.fast/compress/compressors/to/pdf" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
# Combine with category filter
Invoke-RestMethod "https://api.tools.fast/compress/compressors/from/docx?category=documents" `
-Headers @{ "X-Fast-Api-Key" = $env:API_KEY }Legacy endpoint
The original GET /compress endpoint is still available for backward compatibility. It returns the minimal shape (jobId, category, pool, formats with leading dots). New integrations should use GET /compress/compressors for rich metadata including costing, limits, and the format graph.
Notes
- All submissions go through
POST /compress— the server resolves the correct compressor from the file extension. inputFormatsandoutputFormatsuse dotless notation (e.g.,jpgnot.jpg).- The
sourceFormatTograph maps each input format to its possible output formats with per-compressor costing and limits. - Requires
X-Fast-Api-Key— limits are personalized to your plan.