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.
21 Nov 2024, 07:08 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
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 | dc290c380f90532f0a7296300797edc0 | 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 | dc290c380f90532f0a7296300797edc0 | 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'];
}