Free image upload API
Updated Direct link in one click
ImgDrop has a tiny HTTP API for scripts, CI jobs and bug reports: POST an image, get back a direct link, a viewer page and a delete key. No account and no key — the same moderation, size limits and expiry rules as the website apply. For more than one file, send one request per image (the website uploads up to 10 at a time the same way).
Endpoints
| Endpoint | What it returns |
|---|---|
POST /api/img/upload | Upload an image, get a link |
POST /api/img/delete | Delete an uploaded image |
Hosted services
POST /api/img/upload
Upload an image, get a link. multipart/form-data with `file` (JPEG, PNG, WebP, GIF or AVIF, ≤ 10 MB, ≤ 40 megapixels) and optional `expiry` (1h, 1d, 7d or 30d; default 7d). Metadata is stripped and every image passes automated moderation before it's public. Limits: 20 uploads per hour and 100 per day per network. Works from curl and servers; browsers on other websites are refused (no cross-origin uploads). More →
| Name | In | Type | Description |
|---|---|---|---|
file required | form | binary | The image |
expiry | form | string | 1h | 1d | 7d | 30d (default 7d) |
Example request
curl -F file=@photo.jpg -F expiry=7d https://imgdrop.dev/api/img/upload
Example response
{
"id": "aB3dE5fG7h",
"url": "https://…/aB3dE5fG7h.jpg",
"page": "https://imgdrop.dev/i/aB3dE5fG7h",
"deleteKey": "<24-character key>",
"expiresAt": "2026-10-26T12:00:00.000Z",
"mime": "image/jpeg",
"bytes": 183421,
"width": 1600,
"height": 1200
}POST /api/img/delete
Delete an uploaded image. JSON body `{ id, key }` with the deleteKey returned by the upload.
| Name | In | Type | Description |
|---|---|---|---|
id required | body | string | Image id |
key required | body | string | deleteKey from the upload response |
Example request
curl -X POST https://imgdrop.dev/api/img/delete -H 'Content-Type: application/json' -d '{"id":"aB3dE5fG7h","key":"<deleteKey>"}'Example response
{
"ok": true,
"alreadyGone": false
}Terms
Use of the API is covered by our Terms of Use. Results are estimates for information only — not tax, legal or financial advice — and ImgDrop is provided as is, without warranty. Don't resell raw access, hammer the endpoints, or present the numbers as your own engine's. We may change or rate-limit the API; breaking changes get a new version (/api/v2).
Related
Frequently asked questions
Do I need an API key to upload?
No. Send a multipart POST to /api/img/upload from curl, a script or your server. Uploads are limited to 20 per hour and 100 per day per network.
Can I upload from JavaScript in another website?
Not from the browser: cross-origin uploads are refused so other sites can't use ImgDrop as anonymous storage for their visitors. Upload from your server (Node, Python, PHP…) or from the command line instead.
How long do images stay online?
You choose with the expiry field: 1h, 1d, 7d (default) or 30d. Keep the deleteKey from the response to remove an image earlier.
What happens to EXIF data?
Metadata such as GPS location and camera details is stripped before the image is stored, and JPEG rotation is baked into the pixels.
Your business here? Sponsor this tool from $9/week. See placements