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 -X POST https://api.temp.md/temps \
-H "Content-Type: text/html" \
--data-binary @index.html 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 -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.
{
"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.