Hello guest, please Sign Up or Login to upload to your own accounts on hosting sites
You need to create an account in order to use our API
Overview
Purpose
Our API is designed to help developers to upload files to our services seamlessly, with the ability to choose which hosts the file(s) will be uploaded to.
API Endpoint
All requests should be sent over HTTPS. The required method will be indicated right before the endpoint on this documentation page.
POST
https://api.multipload.io
Date Format
All date/time are UTC/GMT based and in the following format.

11 Oct 2024, 06:03 AM

Response
All API responses will be JSON encoded with appropriate HTTP status code. JSON responses will contain the necessary information based on the request made.
Authentication (Optional)
Purpose
Authentication is not required for anonymous uploads. However, if you wish to upload files to your own account and keep track of files and their statistics, you need to authenticate your requests but adding your API key to your requests.
API Key
You can find your API key on the top of this page, or by visiting this page
Daily API Calls Limit
Currently, you are allowed to make up to 60 API calls per minute. If you wish to increase this limit for your account, please contact us
Get Host Info
Purpose
Our API is designed to help developers to upload files to our services seamlessly, with the ability to choose which hosts the file(s) will be uploaded to.
Endpoint
GET
https://api.multipload.io/info/hosts

Parameters

Name Description Example Required
No parameters are required

Response

{
 "Upfiles": {
    "reference": "upfiles",
    "domain": "https://upfiles.com",
    "available": true,
    "supports_guest_uploads": true,
    "supports_auth_uploads": true,
    "max_upload_size_for_guests": 21474836480,
    "max_upload_size_for_users": 21474836480
 },
 "GoogleDrive": {
    "reference":"googledrive",
    "domain":"https://www.google.com/drive",
    "available":true,
    "supports_guest_uploads":false,
    "supports_auth_uploads": true,
    "max_upload_size_for_guests":0,
    "max_upload_size_for_users":21474836480
 }
}
Notes
  • All the sizes displayed are in Bytes
Upload Local Files
Endpoint
POST
https://api.multipload.io/upload/local

Parameters

Name Description Example Required
token Your API token 9cdcbdf0a275aad1783d13bfe6e2fa33 No
file The file that you want to upload. - Yes
hosts The host references of the hosts that you want your files to be uploaded to gofile,googledrive,upfiles Yes
password The password for this file or files password No

Response

Name Description Example
status The status of the upload success/ error
name The name of the uploaded file example1.txt
size The size of the uploaded file in bytes 10485760
url The URL that you need to share with people who would be interested in downloading the file https://multipload.io/Jnh0GS
message A message will be present only if an error happened during the upload null
Example PHP code
$path = '/path/to/local/file';
$cFile = curl_file_create($path);
$post = array('hosts' => 'upfiles,gofile', 'file' => $cFile);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.multipload.io/upload/local');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);

if(isset($result['status']) && $result['status'] === 'success') {
    echo $result['url'];
} else {
    echo $result['message'];
}
Upload Files From A Direct URL
Endpoint
POST
https://api.multipload.io/upload/remote

Parameters

Name Description Example Required
token Your API token 9cdcbdf0a275aad1783d13bfe6e2fa33 No
url The file that you want to upload. - Yes
hosts The host references of the hosts that you want your files to be uploaded to gofile,googledrive,upfiles Yes
password The password for this file or files password No

Response

Name Description Example
status The status of the upload success/ error
name The name of the uploaded file example1.txt
size The size of the uploaded file in bytes 10485760
url The URL that you need to share with people who would be interested in downloading the file https://multipload.io/Jnh0GS
original_url The URL used to make the upload https://the.earth.li/~sgtatham/putty/latest/putty-0.78.tar.gz
message A message will be present only if an error happened during the upload null
Example PHP code
$url = 'https://the.earth.li/~sgtatham/putty/latest/putty-0.78.tar.gz';
$post = array('hosts' => 'upfiles,gofile','url' => $url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.multipload.io/upload/remote');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);
curl_close ($ch);

if(isset($result['status']) && $result['status'] === 'success') {
    echo $result['url'];
} else {
    echo $result['message'];
}