Referência da API
Integre o data2md no seu fluxo com um único HTTP POST. Conversão por streaming via pdftotext, máximo de 500 MB por requisição.
Endpoint
POST
https://data2md.ae8.com.br/api
Content-Type: multipart/form-data
Campos da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
file | file | Sim | O arquivo a converter. Máx 500 MB. |
format | string | Não | Formato do arquivo. Padrão: pdf. Suportado atualmente: pdf. |
Resposta de sucesso 201 Created
{
"success": true,
"hash": "a3f9c12b84e7d01",
"original_name": "report.pdf",
"format": "pdf",
"lines": 148,
"characters": 9342,
"download_url": "/download?hash=a3f9c12b84e7d01",
"markdown": "# Report Title\n\n..."
}
Resposta de erro 4xx · 5xx
{
"success": false,
"message": "Validation failed.",
"errors": ["File content does not match allowed types for this format."]
}
Limites de uso
20 requisições por minuto por IP. Exceder retorna 429 Too Many Requests com cabeçalho Retry-After: 60.
Exemplos
cURL
curl -X POST https://data2md.ae8.com.br/api \ -F "file=@document.pdf" \ -F "format=pdf"
PHP
// stream a file via cURL $ch = curl_init('https://data2md.ae8.com.br/api'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => [ 'file' => new CURLFile('document.pdf', 'application/pdf', 'document.pdf'), 'format' => 'pdf', ], ]); $data = json_decode(curl_exec($ch), true); curl_close($ch); echo $data['markdown'];
Python
import requests with open('document.pdf', 'rb') as f: r = requests.post('https://data2md.ae8.com.br/api', files={'file': f}, data={'format': 'pdf'}) data = r.json() print(data['markdown'])