Upload a file, get a URL.

One request, no account, no SDK. The URL opens for anyone you send it to and cannot be guessed by anyone you do not.

or drop one here.
Copied a screenshot? Just paste it.

Or from a terminal

echo "hello from godrop.sh" | curl -X PUT --data-binary @- \
  https://godrop.sh/upload/hello.txt

Press Run it, or paste the command into a terminal. Both do the same thing: a real file, no account, and a URL that works for three days.

Paste them into Claude Code, Cursor, or whatever you use. It will know how to upload from then on.

How it works

No account Upload with no token at all. The file is deleted three days later.
Unguessable 128 random bits per file, and no endpoint that lists anything.
Public downloads Whoever has the link can read it. No token, no sign-in wall.
Up to 100 MB 50 MB on a free account, 20 MB without one. Streamed, so a pipe works.

Why this exists

GitHub takes a screenshot into a pull request only if you drag it into the box by hand. The public API has no endpoint for it. So an agent that just built your branch and took a picture of the result has nowhere to put that picture, and nor do you if you are working over ssh.

A URL is all a pull request needs:

![before and after](https://godrop.sh/f/20260817-132258-336ba87c…/shot.png)

With an account, that link outlives the review.

Limits

Without an accountWith an accountPro
Costsnothingnothing$5 a month
Kept for3 days30 daysas long as you keep it
Largest file20 MB50 MB100 MB
Storageno quota5 GB100 GB
Files per request202020
Downloadspublic and unlimited on every plan
Delete a filenoyesyes
See what you uploadednoyesyes

Sign in

For agents

Every instance 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

Pasted instructions last as long as the session. There is an Agent Skill to install instead, and then the next session starts already knowing:

npx skills add https://godrop.sh/skill.md

It carries no key, on purpose: that file usually lands in a directory your repository commits.

There is a Model Context Protocol endpoint too, speaking revision 2026-07-28, with three tools: upload_file, delete_file and storage_stats. One line adds it to Claude Code, and no key is needed:

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.