API Documentation

Integrate our powerful background removal API into your applications. Available with Pro, Business, and Enterprise plans.

Authentication

All API requests require authentication using your API key in the Authorization header. You can get your API key from your dashboard after subscribing to a plan.

# Using cURL
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.remuvr.com/v1/auth

# Response
{
  "status": "success",
  "message": "API key is valid",
  "plan": "pro",
  "requestsRemaining": 4985,
  "resetDate": "2024-02-29T00:00:00Z"
}

Remove Background

Upload an image to remove its background. The API supports cross-origin requests from any domain with a valid API key. Maximum file size: 10MB.

# Using cURL
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  https://remuvr-api.onrender.com/remove

# JavaScript Example
async function removeBackground(imageFile) {
  const formData = new FormData();
  formData.append('file', imageFile);

  const response = await fetch(
    'https://remuvr-api.onrender.com/remove',
    {
      method: 'POST',
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      },
      body: formData
    }
  );

  if (!response.ok) {
    throw new Error('Failed to process image');
  }

  const processedImage = await response.blob();
  return URL.createObjectURL(processedImage);
}

# Python Example
import requests

def remove_background(image_path):
    url = 'https://remuvr-api.onrender.com/remove'
    headers = {
        'Authorization': 'Bearer YOUR_API_KEY'
    }
    
    with open(image_path, 'rb') as image:
        files = {'file': image}
        response = requests.post(url, headers=headers, files=files)
    
    if response.status_code == 200:
        with open('result.png', 'wb') as f:
            f.write(response.content)
        return 'result.png'
    else:
        raise Exception(f'Error: {response.text}')

Check Job Status

Check the status of your background removal request using the job ID. Processing time varies by plan, with Pro and Business plans getting priority processing.

# Using cURL
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.remuvr.com/v1/status/550e8400-e29b-41d4-a716-446655440000

# Response (Processing)
{
  "status": "success",
  "job": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "processing",
    "createdAt": "2024-01-29T04:53:19+08:00"
  }
}

# Response (Completed)
{
  "status": "success",
  "job": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "completed",
    "createdAt": "2024-01-29T04:53:19+08:00",
    "completedAt": "2024-01-29T04:53:21+08:00",
    "result": "https://cdn.remuvr.com/processed/550e8400.png"
  }
}

Usage Statistics

Get your current API usage statistics and limits. Pro plan includes 5,000 API calls/month, Business plan includes 25,000 API calls/month, and Enterprise plans have custom limits.

# Using cURL
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.remuvr.com/v1/usage

# Response
{
  "status": "success",
  "usage": {
    "plan": "business",
    "totalRequests": 150,
    "remainingRequests": 24850,
    "resetDate": "2024-02-29T00:00:00Z",
    "limits": {
      "maxFileSize": 50000000,
      "requestsPerSecond": 20
    }
  }
}

Rate Limits

Rate limits vary by plan:

  • Pro: 5,000 API calls per month, max 10 requests per second
  • Business: 25,000 API calls per month, max 20 requests per second
  • Enterprise: Custom limits based on your needs

When you exceed your rate limit, the API will return a 429 status code. Monthly limits reset on the first day of each month.

Error Handling

The API uses standard HTTP response codes and returns detailed error messages. All endpoints support cross-origin requests (CORS) from any domain.

  • 200: Success - Request completed successfully
  • 400: Bad Request - Invalid parameters or file format
  • 401: Unauthorized - Invalid or missing API key
  • 413: Payload Too Large - File size exceeds limit
  • 429: Too Many Requests - Rate limit exceeded
  • 500: Internal Server Error - Processing failed