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.
$ 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 -Tsets 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.
$ 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.mp4ErrorsEvery error is JSON
Errors come back as {"message": "..."} with a meaningful status code:
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 →