Official documentation for APK file uploads
Use this base URL for all API requests.
https://api.apkdrive.cc
Upload an APK file directly using multipart form data.
POST /upload| Parameter | Type | Description |
|---|---|---|
api * |
Field | Your unique API key |
apk_file * |
File | The APK file (multipart/form-data) |
defer_queue optional |
Field | Set to 1 to skip auto-queue. Response includes
choice_required: true and new_uid. See Confirm Flow. |
curl -X POST "https://api.apkdrive.cc/upload" \
-F "api=your_api_key" \
-F "apk_file=@/path/to/your_app.apk"
{
"status": "success",
"fileStatus": "NewAdded",
"key": "abc12",
"name": "your_app.apk",
"size": 52428800,
"download": "https://apkdrive.cc/file/abc12",
"tg_backup": {
"status": "queued",
"message": "TG backup will be done in background",
"file_id": null
}
}
{
"status": "success",
"fileStatus": "AlreadyExist",
"key": "abc12",
"name": "your_app.apk",
"size": 52428800,
"download": "https://apkdrive.cc/file/abc12",
"tg_backup": {
"status": "queued",
"message": "TG backup will be done in background",
"file_id": null
}
}
NewAdded = first-time upload. AlreadyExist = a
file with the same name and size already exists in your account. The duplicate is discarded and the
existing link is returned.
Upload an APK file from a direct download URL.
GET /upload?api=KEY&url=DIRECT_URL| Parameter | Description |
|---|---|
api * |
Your unique API key. |
url * |
Direct download URL pointing to an .apk file. |
defer_queue optional |
Set to 1 to skip auto-queue. See Confirm Flow.
|
{
"status": "success",
"fileStatus": "NewAdded",
"key": "xyz45",
"name": "my_app.apk",
"size": 104857600,
"download": "https://apkdrive.cc/file/xyz45",
"tg_backup": {
"status": "success",
"message": "Backup successful",
"file_id": "BQACAgQAAx..."
}
}
When defer_queue=1 is used, the file is saved but not queued for
server upload. Send one of these actions to finalize.
| Parameter | Description |
|---|---|
api * |
Your unique API key. |
action * |
"confirm_new" |
new_uid * |
The new_uid received in the deferred upload response. |
curl -X POST "https://api.apkdrive.cc/upload" \
-F "api=your_api_key" \
-F "action=confirm_new" \
-F "new_uid=abc12"
{
"status": "success",
"message": "File queued for server upload",
"download": "https://apkdrive.cc/file/abc12"
}
| Parameter | Description |
|---|---|
api * |
Your unique API key. |
action * |
"confirm_update" |
new_uid * |
The new_uid from the deferred upload response. |
old_link * |
Existing link or UID to update. Accepts full URL (/file/xyz45) or raw UID
(xyz45). Both must belong to you. |
curl -X POST "https://api.apkdrive.cc/upload" \
-F "api=your_api_key" \
-F "action=confirm_update" \
-F "new_uid=abc12" \
-F "old_link=https://apkdrive.cc/file/xyz45"
{
"status": "success",
"message": "File updated successfully — re-queued for server upload",
"download": "https://apkdrive.cc/file/xyz45",
"updated_uid": "xyz45"
}
Get user profile details by API key. Used by Telegram bot for login.
GET /user-info?api=KEY| Parameter | Description |
|---|---|
api * |
Your unique API key. |
{
"status": "success",
"user": {
"user_id": 1,
"first_name": "Abhishek",
"last_name": "Kumar",
"email": "[email protected]",
"site_name": null
}
}
api is missing (upload endpoints).
api is missing (/user-info endpoint).
apk_file nor url was sent.{
"status": "error",
"message": "Only .apk files are allowed"
}