API Reference
Base URL: https://imgshare.lol
No authentication is required to upload. Deletion requires the key returned at upload time — store it if you need to delete later.
/api/uploadUpload an image. Accepts multipart/form-data with a single file field. Images are compressed client-side before upload.
request
curl -X POST https://imgshare.lol/api/upload \
-F "file=@photo.png"response
{
"id": "Mh69Y4",
"link": "https://imgshare.lol/Mh69Y4",
"key": "Xk9mN2pQrLwY...",
"delete": "https://imgshare.lol/api/delete?key=Xk9mN2pQrLwY..."
}/api/delete?key={key}Permanently delete an uploaded image. Use the key returned from the upload response.
request
curl -X DELETE "https://imgshare.lol/api/delete?key=Xk9mN2pQrLwY..."response
{
"success": true
}/{id}View the image in a page. Includes a back link and download button.
request
curl "https://imgshare.lol/Mh69Y4"response
<HTML viewer page>/raw/{id}Serve the image bytes directly. Add ?dl=1 to trigger a file download. Responses are cached indefinitely via Cache-Control immutable.
request
curl "https://imgshare.lol/raw/Mh69Y4"response
<image bytes>
Content-Type: image/jpeg
Cache-Control: public, max-age=31536000, immutableUpload requests are limited to 100 uploads per IP per day (resets at midnight UTC). Exceeding the limit returns a 429 Too Many Requests response.
Every upload response includes rate limit headers:
X-RateLimit-Limit— maximum uploads per dayX-RateLimit-Remaining— uploads remaining todayRetry-After— seconds until reset (429 responses only)
Images are stored on Cloudflare R2 and served from Cloudflare's global network. We reserve the right to remove images that violate our Terms of Service.
- Max file size: 25 MB
- Accepted types: JPEG, PNG, GIF, WebP, AVIF
- Checksums use SHA-256
- GIFs are stored as-is to preserve animation