Archive Conversion API — Free Tier + Pay-As-You-Go
Programmatically convert between ZIP, RAR, 7Z, TAR, GZ, BZ2, XZ, and 15+ archive formats. Streaming + integrity validation.
What it does
The Archive Conversion API handles 22 archive formats with native ZIP, 7Z, TAR (gzip, bzip2, xz, zstd, lz4 variants), and JAR write paths, plus read-only extraction support for legacy formats such as CAB, ISO, DEB, RPM, and DMG. Conversion is streaming where possible — the API decompresses the source and pipes into the target encoder without materialising the full extracted tree on disk, dramatically reducing latency and disk pressure for multi-gigabyte tarballs. Each job runs through a ZIP-bomb detection layer that aborts when the decompression ratio exceeds a configurable threshold (default 100:1).
Encrypted archives are supported on read for ZIP and 7Z; pass `archivePassword` to extract, and the same field requests password-protected output on write. RAR is extraction-only — only the free unrar binary is installed, with no RAR writer, so RAR creation is rejected at validation rather than failing later in the engine. The write-side parameters are `archiveFormat` and `archivePassword`; solid mode, dictionary size, thread count and multi-volume splitting are not exposed, and every job returns a single archive file.
The same idempotency, webhook, and rate-limit model as the other category APIs applies.
Supported formats
Source formats (22)
- zip
- rar
- 7z
- tar
- gz
- bz2
- xz
- zst
- lz4
- jar
- war
- ear
- cab
- iso
- deb
- rpm
- dmg
- cpio
- ar
- alz
- arj
- lzma
Target formats (11)
- zip
- 7z
- tar
- gz
- bz2
- xz
- zst
- tar.gz
- tar.bz2
- tar.xz
- jar
Quick start
Every sample posts the job, then polls /v1/status/{jobId} until it finishes, with your API key in the X-Api-Key header. The parameter names below are the ones the endpoint actually accepts — anything else is dropped rather than rejected.
curl -X POST https://api.convertintomp4.com/v1/convert \
-H "X-Api-Key: ck_your_api_key" \
-F "file=@input.rar" \
-F "targetFormat=zip"
-F "compressionLevel=6"import { readFileSync } from "node:fs";
import { ConvertIntoMP4Client } from "convertintomp4";
const apiKey = process.env.CIM4_API_KEY;
const client = new ConvertIntoMP4Client({ apiKey });
// Presigned direct-to-R2 upload, then queue the conversion.
const { jobId } = await client.uploadDirect(
readFileSync("input.rar"),
"input.rar",
"application/octet-stream",
{ targetFormat: "zip" },
);
// Poll until the job reaches a terminal state.
let job;
do {
await new Promise((r) => setTimeout(r, 2000));
job = await fetch(`https://api.convertintomp4.com/v1/status/${jobId}`, {
headers: { "X-Api-Key": apiKey },
}).then((r) => r.json());
} while (job.status !== "completed" && job.status !== "failed");
console.log("Download URL:", job.result?.downloadUrl);import time, requests
from convertintomp4 import Client
api_key = "ck_your_api_key"
client = Client(api_key=api_key)
# Presigned direct-to-R2 upload, then queue the conversion.
with open("input.rar", "rb") as f:
job = client.upload_direct(
f, "input.rar", "application/octet-stream", "zip"
)
# Poll until the job reaches a terminal state.
while True:
status = requests.get(
f"https://api.convertintomp4.com/v1/status/{job['jobId']}",
headers={"X-Api-Key": api_key},
).json()
if status["status"] in ("completed", "failed"):
break
time.sleep(2)
print("Download URL:", status.get("result", {}).get("downloadUrl"))Features
- 22 source formats, 11 target formats
- Streaming pipeline — no full-tree disk materialisation
- ZIP-bomb detection with configurable ratio threshold
- AES-256 encrypted ZIP, 7Z, RAR-compatible output
- Split archives via volume size parameter
- Multi-threaded compression for 7Z and ZSTD
- Read-only support for CAB, ISO, DEB, RPM, DMG
Pricing
From $9.99/mo (Pro) or $24.99/mo (Business) — or pay-as-you-go on the API plan.
Free tier: 5 conversions/day, 100 MB file size, no API key required (IP-gated). Pro $9.99/mo: 100/day (2,000/month), 2 GB files. Business $24.99/mo: 1,000/day (20,000/month), 10 GB files, GPU encoding, dedicated support.
See full pricing breakdown →Built for production
99.9% uptime SLA
Multi-region failover, transparent status page, 60-second response-time guarantee on Business.
Encryption + auto-delete
TLS 1.2+ in transit, AES-256 at rest. Files deleted after 1h / 24h / 7d depending on plan, or instantly via DELETE endpoint. See the security page.
~7s median latency
Most sub-100 MB jobs complete in 6-9 seconds. Webhook-driven async for heavier workloads; waitForJob for synchronous flows.
Frequently Asked Questions
Can the API write RAR archives?
No — RAR's encoder is proprietary and closed-source. The API outputs RAR-compatible archives (7Z with a .rar extension is NOT what we do; we cleanly refuse the request). Use ZIP or 7Z as drop-in alternatives — both achieve better compression than RAR in practice.
How are encrypted ZIPs decrypted?
Pass `password=<secret>` in the request. Both legacy ZipCrypto and modern AES-128/256 are supported. AES-encrypted ZIPs are recommended over ZipCrypto, which has known cryptographic weaknesses.
What is ZIP-bomb protection?
Every job tracks decompression ratio and aborts if a single entry's expansion exceeds 100:1 (or your `bombRatioLimit` override). Standard archive contents stay well under 10:1; values above 100:1 are reliably malicious payloads.
Can the API split a large archive into volumes?
No. Multi-volume output is not exposed — there is no `split` parameter, and every job returns one archive file. The knobs that exist are `archiveFormat` and `archivePassword`. If you need volumes for a size-limited transfer, split the archive yourself after downloading it.
Are there formats the API can only read, not write?
CAB, ISO, DEB, RPM, DMG, ALZ, ARJ are read-only — these are extracted into a normalised target archive (ZIP / 7Z / TAR) on conversion. Writing requires proprietary or platform-specific encoders we don't bundle.
Related APIs
- File Conversion APIOne unified file conversion API for video, audio, image, document, ebook, archive, and font formats — 255 formats, 2,290+ conversion pairs.
- Convert APIProduction-grade file conversion API with 9 language SDKs, async webhooks, and cloud-to-cloud workflows. Free tier available.
- Media Conversion APIVideo and audio conversion API in one endpoint. 27 video + 21 audio formats, FFmpeg-backed, GPU-accelerated.
Or browse the full catalogue of 23 API products →
Get an API key
Start integrating the Archive Conversion API in five minutes. Read the docs, grab a key, and ship your first conversion before the trial coffee cools.