Upload

POST https://tempfiles.xyz/api/v1/upload
FieldRequiredDescription
fileYesThe file, max 100 MB
expireNoSeconds until deletion (60–172800), default 3600
passwordNoRequire this password to download

Response

{
  "status": "success",
  "data": {
    "url": "https://tempfiles.xyz/{id}/{name}",
    "id": "{id}",
    "expires_at": 1793952000,
    "delete_token": "…"
  }
}

Direct download: replace /{id}/ with /dl/{id}/. Keep delete_token if you may want to delete early.

Example

curl -F "file=@photo.jpg" -F "expire=21600" \
  https://tempfiles.xyz/api/v1/upload

Delete early

curl -X POST -H "Content-Type: application/json" \
  -d '{"id":"{id}","token":"{delete_token}"}' \
  https://tempfiles.xyz/api/v1/delete

File info

GET https://tempfiles.xyz/api/v1/files/{id}

Limits

200 uploads per hour per IP (HTTP 429 above that).

For AI agents

Machine-readable docs: /openapi.json (OpenAPI 3.1) and /llms.txt. No API key needed; CORS is open.