API documentation
Convert files from your own code: upload a file, check its status, download the result. Three requests and one API key.
curl -X POST https://api.1-converter.com/api/v1/convert/upload \
-H "X-API-Key: YOUR_API_KEY" \
-F "[email protected]" \
-F "target_format=png"Getting started
From zero to the first converted file:
- Choose a paid plan (Starter, Pro or Business) on 1-converter.com. API keys are not available on Free.
- Create a key in Dashboard → Settings → API keys and copy it: it is shown only once.
- Send the key with your first upload, as shown under Authentication.
Authentication
Send your API key with every request, in either of these two headers:
X-API-Key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEYBoth headers are accepted and carry the same key, so use whichever your HTTP client makes easier.
Never share your API key or commit it to version control.
Keep your API key secure and never expose it in client-side code.
Base URL
API endpoints
Upload & convert
Upload a file and convert it to the specified format
POST/api/v1/convert/upload
Request headers
Content-Type: multipart/form-data
Authorization: Bearer YOUR_API_KEYRequest body
fileThe file to convert (required)target_formatTarget format (e.g., 'pdf', 'jpg', 'png') (required)
Response
{
"id": 4821,
"original_file_name": "document.pdf",
"original_format": "pdf",
"target_format": "docx",
"status": "pending",
"progress": 0,
"created_at": "2026-08-01T09:14:03Z",
"expires_at": "2026-08-08T09:14:03Z"
}Check status
Check the status of a conversion
GET/api/v1/convert/status/:id
Response
{
"conversion": {
"id": 4821,
"original_file_name": "document.pdf",
"target_format": "docx",
"status": "completed",
"progress": 100,
"created_at": "2026-08-01T09:14:03Z",
"expires_at": "2026-08-08T09:14:03Z"
}
}Download result
Download the converted file
GET/api/v1/convert/download/:id
Rate limits
Each paid plan includes a monthly number of API calls, the same allowance shown on the pricing page.
| Plan | API calls a month |
|---|---|
| Free | No API keys |
| Starter | 1,000 API calls a month |
| Pro | 10,000 API calls a month |
| Business | unlimited API |
When rate limits are exceeded, you'll receive a 429 Too Many Requests response.
Error codes
The API uses standard HTTP status codes to indicate success or failure:
| Code | Description |
|---|---|
| 400 Bad Request | Invalid request parameters |
| 401 Unauthorized | Invalid or missing API key |
| 403 Forbidden | Insufficient permissions |
| 404 Not Found | Resource not found |
| 429 Too Many Requests | Rate limit exceeded |
| 500 Internal Server Error | Server error, please try again |
Code examples
Here are examples in different programming languages:
JavaScript (Node.js)
const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');
const formData = new FormData();
formData.append('file', fs.createReadStream('input.jpg'));
formData.append('target_format', 'png');
axios.post('https://api.1-converter.com/api/v1/convert/upload', formData, {
headers: {
...formData.getHeaders(),
'Authorization': 'Bearer YOUR_API_KEY'
}
}).then(response => {
console.log(response.data);
}).catch(error => {
console.error(error);
});Python
import requests
url = 'https://api.1-converter.com/api/v1/convert/upload'
headers = {'Authorization': 'Bearer YOUR_API_KEY'}
files = {'file': open('input.jpg', 'rb')}
data = {'target_format': 'png'}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())cURL
curl -X POST https://api.1-converter.com/api/v1/convert/upload \
-H "X-API-Key: YOUR_API_KEY" \
-F "[email protected]" \
-F "target_format=png"Need help?
A request fails in a way these docs don’t explain? Write to us with the request and the response you got.