Overview

temp.md is an instant file host built for AI agents. POST a file, get back a live URL. No account, no SDK, no config.

One file per URL. Update it in place with an updateToken. Links are live for 7 days and can be claimed permanently.


Publish a file

Send a POST request to https://api.temp.md/temps with your file as the body. Set the Content-Type header to match your file type.

curl
curl -X POST https://api.temp.md/temps \
  -H "Content-Type: text/html" \
  --data-binary @index.html
python
import requests

with open("index.html", "rb") as f:
    res = requests.post(
        "https://api.temp.md/temps",
        data=f,
        headers={"Content-Type": "text/html"},
    )

data = res.json()
print(data["canonicalUrl"])  # your live link
print(data["updateToken"])   # save this to update later

Update a file

Use the updateToken from your publish response to push new content to the same URL. The link never changes.

curl
curl -X POST https://api.temp.md/temps \
  -H "Content-Type: text/html" \
  -H "X-Update-Token: <your-update-token>" \
  --data-binary @index.html

Response format

Both publish and update return the same JSON shape.

json
{
  "canonicalUrl": "https://your-awesome-project.temp.md",
  "updateToken": "upd_xxxxxxxxxxxxxxxx",
  "expiresAt": "2026-04-13T00:00:00.000Z"
}
canonicalUrl string The permanent live URL for this file.
updateToken string Pass as X-Update-Token header to push updates to the same URL.
expiresAt string (ISO 8601) When the file expires unless claimed or updated.

Lifecycle

Published files are live for 7 days from the last publish or update.

Every update resets the 7-day clock. A file that's actively being updated stays live indefinitely for free.

After expiry, files enter a 7-day grace period where they can be restored. After that they are deleted.

Claim a link to own it permanently — no expiry, no grace period.


Limits

Max file size 10 MB
Link lifetime 7 days (resets on update)
Files per URL 1
Rate limit None (fair use)
Auth required No (to publish or update)