apyhub
FILE CONVERSION · FILE MANIPULATION

Unarchive Files API

Hosted on ApyHub

What it does

Archive Extractor lets you send a local archive file or a remote archive URL and get back signed URLs for each extracted file. It supports .zip, .rar, and .7z archives.

Use the POST /file/link endpoint when you already have the archive in your app and want to upload it as binary file. Use POST /url/link when the archive is already hosted elsewhere and you want to pass a url instead. In both cases, the response contains a data array of URI strings, with one signed cloud storage URL per extracted file.

This is useful when you need to unpack user uploads, process bundled assets, or hand extracted documents off to another workflow without managing the archive contents yourself. You send the archive, and Archive Extractor returns links you can fetch directly.

Because the output is just a list of signed URLs, it fits cleanly into pipelines that archive inbound files, queue document processing, or mirror extracted attachments into storage.

▣ ENDPOINT 01 / 02
POST
Upload a local archive and return signed URLs for each extracted file
http://localhost:8080/apyhub/unarchive-files/file/link
QUICKSTARTGUIDE

Quickstart

Upload a .zip, .rar, or .7z archive to extract its files and get signed download URLs back.

curl -X POST "http://localhost:8080/apyhub/unarchive-files/file/link" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/archive.zip"

What you'll get back

Returns a JSON object with a data array of strings, where each string is a signed URI for one extracted file.

{
  "data": [
    "https://storage.example.com/unzip/document.pdf?sig=abc",
    "https://storage.example.com/unzip/image.png?sig=def"
  ]
}
TRY ITLIVE · 250 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
Archive file (.zip, .rar, or .7z).

About this endpoint

What it does

Uploads a local archive file and returns signed URLs for each file extracted from that archive.

Request Body

ParameterTypeMandatoryDescription
fileStringYesArchive file in binary format. Supported archive types: .zip, .rar, or .7z.

Response

Returns a JSON object with a data string array field, where each item is a signed URI for an extracted file.

ParameterTypeMandatoryDescription
dataString ArrayYesSigned cloud storage URLs for each extracted file.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 02 / 02
POST
Extract remote archive and return signed URLs for each file
http://localhost:8080/apyhub/unarchive-files/url/link
QUICKSTARTGUIDE

Quickstart

Send the ZIP file URL to extract its contents.

curl -X POST "http://localhost:8080/apyhub/unarchive-files/url/link" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.zip"}'

What you'll get back

Returns a JSON object with a data array of strings — each string is a signed cloud storage URL for one extracted file.

{
  "data": [
    "https://storage.example.com/unzip/document.pdf?sig=abc",
    "https://storage.example.com/unzip/image.png?sig=def"
  ]
}
TRY ITLIVE · 250 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*

About this endpoint

What it does

Extracts a remote archive from a URL and returns signed URLs for each file found inside the archive.

Request Body

ParameterTypeMandatoryDescription
urlStringYesRemote archive URL to extract. Must be a URI.

Response

Returns a JSON object with a data string array field containing signed cloud storage URLs for each extracted file. The response schema defines the top-level data field as an array of URI strings.

ParameterTypeMandatoryDescription
dataString ArrayYesSigned cloud storage URLs for each extracted file. Each item is a URI.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.