The problem
GoDrop turns a file into a URL in one request. No account, no SDK. The URL opens for anyone you send it to and cannot be guessed by anyone you do not.
npx skills add https://godrop.sh/skill.md
One line, and every session after this one starts already knowing. It carries no key, on purpose: that file lands in a directory your repository commits.
no account unguessable gone in three days
Paste them into Claude Code, Cursor, or whatever you use. They last as long as the session does.
Proof
Every way in answers the same way #
?format=md answers with the line to paste into a pull
request, writing an image so that it renders and anything else as a
link:
curl -sS -F "file=@after.png" "https://godrop.sh/upload?format=md"

Leave the parameter off and the answer is JSON instead, with the URL
at `.files[0].url` and the size and expiry beside it. Send
several parts named `file` and they come back one to a
line.
Or just drop one here
or drop one here.
Copied a screenshot? Just paste it.
Limits
| Without an account | With an account | Pro | |
|---|---|---|---|
| Costs | nothing | nothing | $5 a month |
| Kept for | 3 days | 30 days | as long as you keep it |
| Largest file | 20 MB | 50 MB | 100 MB |
| Storage | no quota | 5 GB | 100 GB |
| Files per request | 20 | 20 | 20 |
| Downloads | public and unlimited on every plan | ||
| Delete a file | no | yes | yes |
| See what you uploaded | no | yes | yes |
On a Mac
GoDrop Shot beta #
GoDrop Shot lives in the menu bar. Press `⌘``⇧`` U`
and whatever is on your clipboard becomes a link, or right click a file in
Finder and choose Upload to GoDrop. No account needed; macOS 14 or later,
and it updates itself.
The rest
Every other door #
The service describes itself, so an agent that knows nothing but the hostname can work out the rest:
curl https://godrop.sh/llms.txt # the whole API in plain text
curl https://godrop.sh/openapi.yaml # machine-readable schema
There is a Model Context Protocol endpoint too, speaking revision
`2026-07-28`, with three tools: `upload_file`,
`delete_file` and `storage_stats`. It is for an
agent with no shell, because the bytes travel inside the call and are
spent out of its context:
claude mcp add --transport http godrop https://godrop.sh/mcp
A file can be told to go sooner than the default, which is worth doing for anything an agent produces on the way to something else:
curl -F "file=@build.log" "https://godrop.sh/upload?expires=30m"
Or as a header, `X-Expires-In: 30m`. Minutes, hours and days:
`45m`, `2h`, `7d`.