Open API

Upload a file with one curl command

No auth · no signup · no API key · free

PUT or POST a file to ul.sto.care and get back a shareable download link. That's the whole API.

Upload
$ curl -T demo-reel.mp4 https://ul.sto.care
{"url":"https://dl.sto.care/xk92mq7p","expiresAt":"2026-07-24T09:14:07.000Z"}

UploadPUT or POST to ul.sto.care

curl -T issues a PUT to https://ul.sto.care/<filename> with the filename taken from the local file. POST works too. The response is JSON with the download URL and an ISO 8601 expiry timestamp.

  • Max 100 MB per file. Larger files belong in the web app (up to 5 GB).
  • Content-Length is required. curl -T sets it for you; chunked transfer encoding is rejected with a 411.
  • 10 uploads per IP per UTC day. Exceed it and you get a 429 until UTC midnight.
  • Files expire after 72 hours. After that the link returns 404 or 410.

DownloadGET the link you got back

The original filename is preserved via the Content-Disposition header, so curl -LO saves the file under the name it was uploaded with. HEAD requests are supported if you only need to check that a file still exists.

Download
$ curl -LO https://dl.sto.care/xk92mq7p
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 84.2M  100 84.2M    0     0  31.4M      0  0:00:02  0:00:02 --:--:-- 31.4M

$ ls
demo-reel.mp4

ErrorsEvery error is JSON

Errors come back as {"message": "..."} with a meaningful status code:

Status
Meaning
What to do
411
Content-Length header missing
Use curl -T, which sets it automatically. Chunked transfer encoding is not supported.
413
File over 100 MB
Use the web app at sto.care for files up to 5 GB. A bare Cloudflare 413 page can also appear here; it means the same thing.
429
Daily upload limit reached
10 uploads per IP per UTC day. The counter resets at UTC midnight.
404
Unknown file id
Check the id. The file may have expired and been purged.
410
File expired
Files live 72 hours after upload. Re-upload to get a fresh link.

AutomationUsing from AI agents and scripts

A machine-readable reference lives at sto.care/llms.txt — point your AI agent at it and it has everything it needs to upload and share files on its own. A plain-text version of this page is also served from the API itself: curl https://ul.sto.care returns usage help.

Need more than 100 MB or 72 hours?

The web app takes files up to 5 GB and keeps links alive for 7 days. Still free, still no account.

UPLOAD UP TO 5 GB →