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:

  1. Choose a paid plan (Starter, Pro or Business) on 1-converter.com. API keys are not available on Free.
  2. Create a key in Dashboard → Settings → API keys and copy it: it is shown only once.
  3. 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_KEY

Both 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

All API requests should be made to:

https://api.1-converter.com/api/v1

OpenAPI 3.1 (openapi.json)

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_KEY

Request 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.

PlanAPI calls a month
FreeNo API keys
Starter1,000 API calls a month
Pro10,000 API calls a month
Businessunlimited 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:

CodeDescription
400 Bad RequestInvalid request parameters
401 UnauthorizedInvalid or missing API key
403 ForbiddenInsufficient permissions
404 Not FoundResource not found
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorServer 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.