NAV
PHP

General informations

Introduction

Welcome to the UploadedPremiumLink API ! You can use this API to access various UploadedPremiumLink services from custom applications or scripts.

Our API is organized around REST, returns JSON-encoded responses and use standard HTTP response codes.

All calls are to be made on the HTTPS endpoints. Some are public, others require to be authentificated with an apikey (see Authentication).

If you have any issue or question, feel free to contact us.

Response Format

All responses return JSON with 2 attributes. The success attribute is always returned, and has a value of either true or false.

If the request is invalid or an error occured, you will get "success" : "false" and an data attribute, containing the error details. All error codes and messages can be found in the errors section.

If a request doesn't return valid JSON or JSON without a data attribute, you can consider that this request failed.

This API also use HTTP status code to signal how a request went through. Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, wrong parameter size, etc.). Codes in the 5xx range indicate an error with UploadedPremiumLink servers (these are rare).

HTTP Status Description
200 - OK All fine!
404 - Not Found Api endpoint doesn't exist
429 - Too Many Requests Too many requests hit the API too quickly, see Rate limiting
500, 502, 503, 504 - Server Errors Something went wrong on UploadedPremiumLink end

Authentication

We uses API keys to authenticate requests. You can view and manage your API keys in your My Account Page.

Please send the api_key parameter using the POST method.

The following errors can be returned if your authentication fails.

Category_Error Description
AUTH_MISSING_APIKEY The auth apikey was not sent
AUTH_BAD_APIKEY The auth apikey is invalid
AUTH_USER_BANNED This account is banned
AUTH_IP_BANNED This IP address is banned

Rate limiting

There is rate limiting in place for the API.

Current limits are at 12 requests per second and 600 requests per minute.

Any request in excess of those limits will return a 429 or 503 errors.

User

Get User Info

Retrieve information about the user's account using their api_key.

<?php
$url = 'https://api.uploadedpremiumlink.net/wp-json/api/user';
$api_key = 'your_api_key_here';
$data = array('api_key' => $api_key);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

$response = curl_exec($ch);
curl_close($ch);

$responseData = json_decode($response, true);
if (isset($responseData['success']) && $responseData['success']) {
  print_r($responseData['data']);
} else {
  echo 'Error: ' . $responseData['message'];
}
?>

The above request returns JSON structured like this if successfull :

HTTP Request

POST https://api.uploadedpremiumlink.net/wp-json/api/user

Parameters

Parameter Type Required Description
api_key string Yes Your API key for authentication.
{
  "success": true,
  "data": {
    "username": "DemoPremiumUser",
    "expire_date": "2027-02-26 11:14:16",
    "expire_date_timestamp": 1803640456,
    "type": "Premium",
    "traffic_left": "Unlimited",
    "time_left": "911 days",
    "daily_links_limit": 400,
    "daily_links_generated": 7,
    "daily_traffic_limit": 214748364800,
    "daily_traffic_used": 208770440,
    "daily_traffic_left": 214539594360,
    "daily_traffic_percentage_used": 1,
    "hosters": [
      {
        "primary_domain": "rosefile.net",
        "alternatives_domain": ["rosefile.net"],
        "status": "online",
        "statusText": "",
        "type": "free",
        "daily_quota_used": 0,
        "daily_quota_total": 10737418240,
        "daily_quota_left": 10737418240,
        "weekly_quota_total": 75161927680,
        "weekly_quota_used": 544186118,
        "weekly_quota_left": 74617741562,
        "percentage_used": 0,
        "weekly_percentage_used": 1,
        "daily_links_used": 0,
        "daily_links_limit": 5
      }
    ]
  }
}

Error response example 1:

{
    "success": false,
    "data": {
        "message": "missing api_key!",
        "status": 400,
        "category_error": "AUTH_MISSING_APIKEY"
    }
}

Error response example 2:

{
    "success": false,
    "data": {
        "message": "invalid api_key!",
        "status": 400,
        "category_error": "AUTH_BAD_APIKEY"
    }
}

Error response example 3:

{
    "success": false,
    "data": {
        "message": "api_key not found!",
        "status": 400,
        "category_error": "AUTH_BAD_APIKEY"
    }
}

Response attributes

Parameter Type Description
username string The username of the user.
expire_date string (date) The expiration date of the user's subscription in YYYY-MM-DD HH:MM:SS.
expire_date_timestamp integer The expiration date in Unix timestamp format.
type string The type of user account (e.g., Free, Premium).
traffic_left string The amount of traffic left for the user (e.g., Unlimited).
time_left string The time left before the account expires (e.g., 911 days).
daily_links_limit integer The maximum number of links the user can generate per day.
daily_links_generated integer The number of links the user has generated today.
daily_traffic_limit integer The maximum amount of daily traffic allowed (in bytes).
daily_traffic_used integer The amount of daily traffic used so far (in bytes).
daily_traffic_left integer The amount of daily traffic left (in bytes).
daily_traffic_percentage_used integer The percentage of daily traffic that has been used.
hosters[].primary_domain string The primary domain of the hoster.
hosters[].alternatives_domain[] array[string] An array of alternative domains for the hoster.
hosters[].status string The status of the hoster (e.g., online or offline).
hosters[].statusText string The status of the hoster (e.g., broken, disabled, repairing).
hosters[].type string The type of hoster account (e.g., free, premium). free = allowed to all
hosters[].daily_quota_used integer The amount of daily quota used (in bytes).
hosters[].daily_quota_total integer The total daily quota allowed (in bytes).
hosters[].daily_quota_left integer The remaining daily quota (in bytes).
hosters[].weekly_quota_total integer The total weekly quota allowed (in bytes).
hosters[].weekly_quota_used integer The amount of weekly quota used (in bytes).
hosters[].weekly_quota_left integer The remaining weekly quota (in bytes).
hosters[].percentage_used integer The percentage of the daily quota that has been used.
hosters[].weekly_percentage_used integer The percentage of the weekly quota that has been used.
hosters[].daily_links_used integer The number of links generated by the user for this hoster today.
hosters[].daily_links_limit integer The maximum number of links the user can generate for this hoster per day.

Links

<?php
$api_key = 'your_api_key_here';
$link = 'link_to_unlock';
$password = 'optional_password';

$data = [
  'api_key' => $api_key,
  'link' => $link,
  'password' => $password
];

$ch = curl_init('https://api.uploadedpremiumlink.net/wp-json/api/generate_link_by_api');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;

This endpoint unlocks a given link.

HTTP Request

POST https://api.uploadedpremiumlink.net/wp-json/api/generate_link_by_api

Parameters

Parameter Type Required Description
api_key string Yes Your API key for authentication.
link string Yes The link to unlock.
password string No Link password.

The above request returns JSON structured like this if successfull :

{
    "success": true,
    "data": {
        "status": 200,
        "link": "https://srv1.uploadedpremiumlink.net/dl.php?id=xxxxxxxxxxxxx",
        "chunks": 5,
        "filename": "filename.zip",
        "filesize": 108171100.16,
        "timestamp": 1725149381,
        "hostDomain": "filesfly.cc",
        "resumable": true,
        "maxchunks": 5,
        "dl_link_page": "dl/xxxxxxxxxxxxx/host/srv1"
    }
}

Response attributes

Parameter Type Description
status integer HTTP status code of the response, typically 200 for success.
link string Direct download link.
filename string Name of the downloaded file.
filesize float Size of the file in bytes.
hostDomain string Host domain of the file.
resumable boolean Indicates if the download is resumable.
maxchunks integer Maximum number of download chunks allowed.
dl_link_page string Page containing the download link.

Error response example 1:

{
    "success": false,
    "data": {
        "message": "missing link param!",
        "status": 400,
        "category_error": "AUTH_MISSING_APIKEY"
    }
}

Error response example 2:

{
    "success": false,
    "data": {
        "message": "invalid api_key!",
        "status": 400,
        "category_error": "AUTH_BAD_APIKEY"
    }
}

Error response example 3:

{
    "success": false,
    "data": {
        "status": 400,
        "message": "This hoster is not supported",
        "error_category": "UNSUPPORTED_HOSTER"
    }
}

Error response example 4:

{
    "success": false,
    "data": {
        "message": "The requested file has not found, try another link!",
        "status": 404,
        "error_category": "FILE_NOT_FOUND"
    }
}

Error response example 5:

{
    "success": false,
    "data": {
        "message": "The owner of this file has chosen to protect access with a password. Please enter it before",
        "status": 403,
        "error_category": "LINK_PASS_PROTECTED"
    }
}

Error response example 6:

{
    "success": false,
    "data": {
        "message": "Link temporarily unavailable, retry later",
        "status": 503,
        "error_category": "LINK_TEMPORARILY_UNAVAILABLE"
    }
}

Error response example 7:

{
    "success": false,
    "data": {
        "message": "Failed to get download_url, retry later",
        "status": 503,
        "error_category": "LINK_GENERATION_FAILED"
    }
}

All Errors

$apiErrors = [
    "AUTH_BAD_APIKEY" => "The provided API key is invalid.",
    "AUTH_IP_BANNED" => "The IP address is banned from accessing the service.",
    "AUTH_MISSING_APIKEY" => "The API key is missing.",
    "AUTH_USER_BANNED" => "The user is banned from accessing the service.",
    "BAD_LINK" => "The provided link is invalid.",
    "DATABASE_ERROR" => "A database error occurred.",
    "DAILY_LIMIT_EXCEEDED" => "Daily limit of requests has been exceeded for the account.",
    "FILE_NOT_FOUND" => "The requested file was not found.",
    "FILESIZE_LIMIT" => "The filesize exceeds the allowed limit.",
    "FILESIZE_LIMIT_FREE" => "Free user filesize limit exceeded.",
    "FILESIZE_LIMIT_GUEST" => "Guest user filesize limit exceeded.",
    "FREE_TRAFFIC_LIMIT_EXCEEDED" => "Free traffic limit has been exceeded.",
    "FREE_USER_DAILY_LIMIT_EXCEEDED" => "Free user daily limit exceeded.",
    "HOSTER_MAINTENANCE" => "The hoster is under maintenance.",
    "HOSTER_NOT_AVAILABLE_BY_API" => "The hoster is not available via the API.",
    "HOSTER_TEMPORARILY_UNAVAILABLE" => "The hoster is temporarily unavailable.",
    "HOSTER_DAILY_LIMIT_EXCEEDED" => "Daily limit of requests has been exceeded for the hoster.",
    "INVALID_ID" => "The provided ID is invalid.",
    "INVALID_INPUT_FORMAT" => "The input format is invalid.",
    "INVALID_LINK_FORMAT" => "The link format is invalid.",
    "LINK_ERROR" => "An error occurred while processing the link.",
    "LINK_GENERATION_FAILED" => "Failed to generate the requested link.",
    "LINK_ALREADY_GENERATED" => "The link have already generated by the user today.",
    "LINK_GENERATION_LIMIT_EXCEEDED" => "Exceeded the limit for generating links.",
    "LINK_PASS_PROTECTED" => "The link is password protected.",
    "LINK_TEMPORARILY_UNAVAILABLE" => "The link is temporarily unavailable.",
    "LINK_THIRD_PARTY_PR_SUB_REQUIRED" => "Third-party PR subscription is required for this link.",
    "LINK_TYPE_UNSUPPORTED" => "The provided link type is unsupported.",
    "MUST_BE_PREMIUM" => "You must be a premium user to access this feature.",
    "PREMIUM_TRAFFIC_UNAVAILABLE" => "Premium traffic is unavailable.",
    "PROXY_NOT_ALLOWED" => "Access through proxy is not allowed.",
    "RATE_LIMIT_EXCEEDED" => "Rate limit exceeded, too many requests.",
    "RESOURCE_RETRIEVAL_FAILURE" => "Failed to retrieve the requested resource.",
    "SERVER_TRAFFIC_LIMIT_REACHED" => "Server traffic limit reached, please try again later.",
    "SERVICE_FAILURE" => "Service failure, please try again later.",
    "TRAFFIC_LIMIT_EXCEEDED" => "User traffic limit exceeded.",
    "UNSUPPORTED_HOSTER" => "The specified hoster is not supported.",
    "USER_QUOTA_EXCEEDED" => "The user's quota has been exceeded.",
    "WEEKLY_LIMIT_EXCEEDED" => "Weekly limit has been exceeded."
];

You can find all possible errors here, available in PHP array and JSON format if needed.

Some errors will return an HTTP code 401 or 429, depending of the error.

Code Description
AUTH_BAD_APIKEY The provided API key is invalid.
AUTH_IP_BANNED The IP address is banned from accessing the service.
AUTH_MISSING_APIKEY The API key is missing.
AUTH_USER_BANNED The user is banned from accessing the service.
BAD_LINK The provided link is invalid.
DATABASE_ERROR A database error occurred.
DAILY_LIMIT_EXCEEDED Daily limit of requests has been exceeded.
FILE_NOT_FOUND The requested file was not found.
FILESIZE_LIMIT The filesize exceeds the allowed limit.
FILESIZE_LIMIT_FREE Free user filesize limit exceeded.
FILESIZE_LIMIT_GUEST Guest user filesize limit exceeded.
FREE_TRAFFIC_LIMIT_EXCEEDED Free traffic limit has been exceeded.
FREE_USER_DAILY_LIMIT_EXCEEDED Free user daily limit exceeded.
HOSTER_MAINTENANCE The hoster is under maintenance.
HOSTER_NOT_AVAILABLE_BY_API The hoster is not available via the API.
HOSTER_TEMPORARILY_UNAVAILABLE The hoster is temporarily unavailable.
HOSTER_DAILY_LIMIT_EXCEEDED Daily limit of requests has been exceeded for hoster.
INVALID_ID The provided ID is invalid.
INVALID_INPUT_FORMAT The input format is invalid.
INVALID_LINK_FORMAT The link format is invalid.
LINK_ERROR An error occurred while processing the link.
LINK_GENERATION_FAILED Failed to generate the requested link.
LINK_ALREADY_GENERATED Link already generated today by the user.
LINK_GENERATION_LIMIT_EXCEEDED Exceeded the limit for generating links.
LINK_PASS_PROTECTED The link is password protected.
LINK_TEMPORARILY_UNAVAILABLE The link is temporarily unavailable.
LINK_THIRD_PARTY_PR_SUB_REQUIRED Third-party PR subscription is required for this link.
LINK_TYPE_UNSUPPORTED The provided link type is unsupported.
MUST_BE_PREMIUM You must be a premium user to access this feature.
PREMIUM_TRAFFIC_UNAVAILABLE Premium traffic is unavailable.
PROXY_NOT_ALLOWED Access through proxy is not allowed.
RATE_LIMIT_EXCEEDED Rate limit exceeded, too many requests.
RESOURCE_RETRIEVAL_FAILURE Failed to retrieve the requested resource.
SERVER_TRAFFIC_LIMIT_REACHED Server traffic limit reached, please try again later.
SERVICE_FAILURE Service failure, please try again later.
TRAFFIC_LIMIT_EXCEEDED User traffic limit exceeded.
UNSUPPORTED_HOSTER The specified hoster is not supported.
USER_QUOTA_EXCEEDED The user's quota has been exceeded.
WEEKLY_LIMIT_EXCEEDED Weekly limit has been exceeded.

Changelog

01/11/2024

PHP