File sharing done simple.
API can be complicated. If you plan on using Starfiles' API in a website, it is recommended to use our very own Javascript library - StarfilesJS.
You will receive a file ID when a file is successfully uploaded. The file's link is:
https://starfiles.co/file/ID
Endpoint: https://api.starfiles.co/upload/upload_file
Endpoint to upload file to a folder: https://api.starfiles.co/upload/upload_file?folder=xxxx&profile=yyyy
When uploading to a folder, you must own the folder. Replace yyyy with the verification code shown at Sync Profiles.
Parameter Name: upload
Parameter Content: example.txt
Max file size: 100mb
HTML | Python | Javascript | PHP | Curl | NodeJSWant to upload larger files?
Endpoint: https://upload.starfiles.co
Max file size: 2gb
Files are split into chunks of 2MB (2097152 bytes). Each chunk needs to be uploaded separately.
Endpoint: https://api.starfiles.co/upload/upload_file
Parameters:
upload: file
number_of_chunks: chunk count
chunk_number: chunk number
The last chunk uploaded will return the file ID.
This endpoint will only work for Patreon members.
Endpoint: https://api.starfiles.co/upload/upload_url?profile=xxxx
Replace xxxx with the verification code shown at Settings.
Method: POST
Parameter:
url: https://example.com/example.txt
A plug and play javascript library.
<!-- StarfilesJS -->
<script src="https://cdn.starfiles.co/smalljs/starfilesjs"></script>
<!-- Upload form -->
<input type="file" id="uploaded_file" onchange="uploadFile()" multiple="multiple">
<!-- Outputs -->
<div id="preuploadoutput"></div>
<div id="output"></div>
<!-- Upload Progress -->
<div id="progress">
<span id="progressContainer"></span>
<span id="remaining_size"></span>
<span id="eta"></span>
<span id="status"></span>
<span id="upload_speed"></span>
</div>
Endpoint: https://api.starfiles.co/direct/xxxxx
Method: GET
Parameter:
Profile: xxxx (optional)
This endpoint let's you download a file from a folder without knowing the file id, just the file name.
Endpoint: https://api.starfiles.co/downloadfromfolder
Method: GET
Parameter:
Folder: xxxxxxxx
Name: example.txt
Profile: xxxx (optional)
This endpoint generates the PLIST content required to install an IPA.
Endpoint: https://api.starfiles.co/installipa/xxxxx
Install IPA: itms-services://?action=download-manifest&url=https://api.starfiles.co/installipa/xxxxx
This endpoint converts your file into a torrent file. The torrent file is automatically seeded by Starfiles forever so the torrent never dies.
Endpoint: https://api.starfiles.co/torrent/xxxxx
Endpoint: https://api.starfiles.co/file/delete
Method: GET
Parameters:
profile: xxxx
file: ID
Endpoint: https://api.starfiles.co/folder/delete
Method: GET
Parameters:
profile: xxxx
id: ID
Endpoint: https://api.starfiles.co/file/fileinfo
Method: GET
Parameter:
File: ID
Example Output:
{
"id":"26ae82",
"name":"face.png",
"extension":"png",
"mime_type":"image/png",
"size":"654382",
"tidy_size":"639.04KB",
"upload_time":"1598272797",
"time_ago":"5 months ago",
"download_count":"0",
"deleted":true
}
This endpoint lists all files that belong to a specific user.
Endpoint: https://api.starfiles.co/user/files
Method: GET
Parameter:
Profile: xxxx
Example Output:
[
{
"hash":"6e067c4e9e06eb198b6b8d589a20cad416e205e8b8bb9655fffa56f300a253b0",
"id":"3c5e90",
"name":"wallpaper.jpeg",
"star":"0"
},
{
"hash":"fa93d9c0a3e17c6f7460f256cc09fe0c67e54e41a8e5b2eb5aa2d15f67a025c7",
"id":"st-7FfQLq",
"name":"pfp.png",
"star":"0"
}
]
This endpoint lists all folders that belong to a specific user.
Endpoint: https://api.starfiles.co/user/folders
Method: GET
Parameter:
Profile: xxxx
Example Output:
[
{
"id":"61e81dfecf",
"name":"Wallpapers",
"parent":"",
"colour":"",
"star":"0"
}
]
This endpoint lists all droppers that belong to a specific user.
Endpoint: https://api.starfiles.co/user/droppers
Method: GET
Parameter:
Profile: xxxx
Example Output:
[
{
"id":"quix"
},
{
"id":"test"
}
]