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