Free · No API key · No signup

Background Removal API

Remove image backgrounds programmatically with a single HTTP request. Get a clean, transparent PNG back instantly — up to 100 images per hour, completely free.

100/hr
Free requests
PNG
Transparent output
15MB
Max upload
REST
Simple HTTP POST

Endpoint

POST https://clearbackdrop.com/api/v1/remove-background

Send one image as multipart/form-data under the field name image. By default the API streams the transparent PNG straight back in the response body.

Quick start

cURL — save the result as a PNG

# Returns the transparent PNG directly
curl -X POST https://clearbackdrop.com/api/v1/remove-background \
  -F "image=@photo.jpg" \
  -o result.png

Prefer a JSON response with a hosted URL?

curl -X POST \
  "https://clearbackdrop.com/api/v1/remove-background?response=json" \
  -F "image=@photo.jpg"

Python

import requests

url = "https://clearbackdrop.com/api/v1/remove-background"
with open("photo.jpg", "rb") as f:
    r = requests.post(url, files={"image": f})

with open("result.png", "wb") as out:
    out.write(r.content)

JSON response

When you pass ?response=json:

{
  "success": true,
  "result_url": "https://www.clearbackdrop.com/static/images/processed/…png",
  "image_size": "1024x768",
  "processing_time": 2.41,
  "quota": { "limit_per_hour": 100, "remaining": 99 }
}

Rate limits

The free tier allows 100 images per hour per IP address. Every response includes your current usage in these headers:

X-RateLimit-LimitMax images per hour
X-RateLimit-RemainingImages left this hour
X-RateLimit-ResetSeconds until the window resets

Exceeding the limit returns 429 Too Many Requests. Check your remaining quota any time:

GET https://clearbackdrop.com/api/v1/quota

Errors

StatusMeaning
400No image attached
413File exceeds 15MB
415Unsupported file type
429Hourly rate limit reached
500Processing failed

Just need to remove a few backgrounds?

Skip the code — use the web app. Same engine, drag & drop, batch upload.

Open the app