Developer API

removr API reference

Remove watermarks, logos, text and timestamps from images programmatically — the same engine as the app, no blur, batch up to 50. It spends your account's credits (1 per image; failed images are refunded).

Authentication

Create a key under Account → API access (shown once — copy it). Send it as a Bearer token on every request:

Authorization: Bearer rmvr_live_xxxxxxxxxxxxxxxx

Base URL: https://removr.pro. Keep keys secret — they spend your credits.

Quickstart

Three steps: submit images → poll the job → download the clean results.

# 1) submit 1–50 images (multipart, field "files")
curl -X POST https://removr.pro/api/v1/remove \
  -H "Authorization: Bearer $REMOVR_KEY" \
  -F "files=@photo.jpg"
# → { "jobId": "a1b2...", "count": 1, "status": "processing" }

# 2) poll the job until status = "done"
curl https://removr.pro/api/v1/jobs/a1b2... \
  -H "Authorization: Bearer $REMOVR_KEY"
# → { "status": "done", "images": [
#      { "id": "photo-0", "ok": true, "url": "https://removr.pro/api/v1/files/.../photo-0-clean.jpg" } ] }

# 3) download each clean image (same Authorization header)
curl -L https://removr.pro/api/v1/files/.../photo-0-clean.jpg \
  -H "Authorization: Bearer $REMOVR_KEY" -o clean.jpg

Endpoints

POST /api/v1/remove

Submit images for watermark removal. multipart/form-data, field files (1–50, ≤25 MB each, JPG/PNG/WEBP). Optional header Idempotency-Key to safely retry. Deducts 1 credit per image up front.

{ "jobId": "a1b2c3...", "count": 3, "status": "processing" }

GET /api/v1/jobs/:jobId

Poll a job. status is processingdone. When done, each image is ok:true with a url, or ok:false with an error (that image's credit was refunded).

{
  "id": "a1b2c3...",
  "status": "done",
  "total": 3,
  "images": [
    { "id": "a-0", "ok": true,  "url": "https://removr.pro/api/v1/files/a1b2c3.../a-0-clean.jpg" },
    { "id": "b-1", "ok": false, "error": "could not process" }
  ]
}

GET /api/v1/files/:jobId/:name

Download a cleaned image. Requires the same Bearer key. Returns the image bytes.

Credits & limits

  • 1 credit = 1 image. Credits come from your plan; the same balance as the web app.
  • Failures are refunded automatically — you only pay for clean results.
  • Up to 50 images per request, 25 MB each. Formats: JPG, PNG, WEBP.
  • Use it only on images you own or are licensed to edit.

Errors

401Missing or invalid API key
402Not enough credits (response includes your balance)
413Too many files (>50) or a file over 25 MB
503Processing service busy — credits were refunded, retry shortly

Ready to build?

Create your API key and start removing watermarks from code.

Get an API key