Skip to content

Exporting Files

The FreeConvert API supports multiple methods for exporting processed files, allowing them to be delivered in the format and location of your choice.

Export File - To URL

In this example, the export/url endpoint is used to retrieve a download link to the converted file.

curl -X POST https://api.freeconvert.com/v1/process/export/url \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access_token}'

# Body Parameter
{
  "input": [
    "convert_task_id_1",
    "convert_task_id_2"
  ],
  "filename": "some.zip", # optional
  "archive_multiple_files": true
}
POST https://api.freeconvert.com/v1/process/export/url HTTP/1.1
Host: api.freeconvert.com
Content-Type: application/json
Accept: application/json

# Body Parameter
{
  "input": [
    "convert_task_id_1",
    "convert_task_id_2"
  ],
  "filename": "some.zip", // optional
  "archive_multiple_files": true
}
inputBody = {
  input: [convert_task_id_1, convert_task_id_2],
  filename: "some.zip", // optional
  archive_multiple_files: true,
};
const headers = {
  "Content-Type": "application/json",
  Accept: "application/json",
  Authorization: `Bearer ${access_token}`,
};

fetch("https://api.freeconvert.com/v1/process/export/url", {
  method: "POST",
  body: inputBody,
  headers: headers,
})
  .then(function (res) {
    return res.json();
  })
  .then(function (body) {
    console.log(body);
  });
import requests

request_body = {
  'input': [convert_task_id_1, convert_task_id_2],
  'filename': 'some.zip', # optional
  'archive_multiple_files': true,
}
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer' + access_token
}

result = requests.post(
  'https://api.freeconvert.com/v1/process/export/url',
  data = request_body,
  headers = headers
)

print(result.json())
require 'rest-client'
require 'json'

request_body = {
  'input' => [convert_task_id_1, convert_task_id_2],
  'filename' => 'some.zip', # optional
  'archive_multiple_files' => true,
}
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer' + access_token
}

result = RestClient.post(
  'https://api.freeconvert.com/v1/process/export/url',
  body: request_body,
  headers: headers
)

JSON.parse(result)
<?php

require 'vendor/autoload.php';

$headers = array(
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer ' $access_token,
);

$client = new \GuzzleHttp\Client();

$request_body = array(
  'input' => array(convert_task_id_1, convert_task_id_2),
  'filename' => 'some.zip', # optional
  'archive_multiple_files' => true,
)

try {
  $response = $client->request(
    'POST',
    'https://api.freeconvert.com/v1/process/export/url',
    array(
      'headers' => $headers,
      'content' => json_encode($request_body),
    )
  );
  print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
  // handle exception or api errors.
  print_r($e->getMessage());
}

// ...
URL obj = new URL("https://api.freeconvert.com/v1/process/export/url");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");

int responseCode = con.getResponseCode();

BufferedReader in = new BufferedReader(
  new InputStreamReader(con.getInputStream())
);

String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
  response.append(inputLine);
}
in.close();

System.out.println(response.toString());
package main

import (
  "bytes"
  "net/http"
)

func main() {
  jsonReq := map[string][]string{
    "input": []string{convert_task_id_1, convert_task_id_2}
    "filename": string{"some.zip"}, // optional
    "archive_multiple_files": bool{"true"},
  }
  headers := map[string][]string{
    "Content-Type": string{"application/json"},
    "Accept": string{"application/json"},
    "Authorization": string{"Bearer" + access_token},
  }

  data := bytes.NewBuffer([]byte{jsonReq})

  req, err := http.NewRequest(
    "POST",
    "https://api.freeconvert.com/v1/process/export/url",
    data
  )
  req.Header = headers

  client := &http.Client{}
  resp, err := client.Do(req)
  // ...
}

The FreeConvert API supports additional methods for exporting files.