O que a API entrega
Você envia o PDF do extrato; a API lê os lançamentos e confere o saldo. Quando a conta fecha, a resposta traz os arquivos em Base64, no campo outputs:
| Arquivo | Conteúdo |
|---|---|
.ofx | OFX no formato do sistema contábil escolhido em profile |
.csv | lançamentos em CSV |
.xlsx | lançamentos em Excel, com a conferência do saldo |
O nome de cada arquivo traz o banco; o do OFX traz também a conta e o período. Com o perfil dominio, um extrato de mais de 12 meses vem dividido em vários OFX de até 12 meses. Se o PDF tem mais de uma conta, vêm arquivos para cada conta. São os mesmos arquivos do conversor no site, com a mesma conferência.
Acesso e preço
- A chave da API é criada na sua conta. Ela aparece uma vez só; o pdfvera guarda só um hash dela e os 10 primeiros caracteres.
- A API faz parte de qualquer assinatura, sem custo extra. Cada extrato convertido conta uma vez na cota mensal, como no site.
- Converter de novo o mesmo PDF no mesmo mês não conta outra vez.
- A conferência sem arquivos (campo
mode=preview, ou seja,-F mode=preview) não conta. Use para testar a integração sem gastar a cota. - Até cinco chaves por conta, por exemplo uma por sistema. Para bloquear uma chave, basta um clique na conta.
Os preços estão na página de preços. Para escritórios contábeis com muitos clientes há o plano “Escritório”, sob consulta.
Primeira chamada com curl
A chave vai no cabeçalho Authorization e o PDF no campo pdf:
curl https://pdfvera.com/api/v1/br/convert \
-H "Authorization: Bearer pv_SUA_CHAVE" \
-F pdf=@extrato.pdf \
-F profile=dominioQuando a conta fecha, a resposta traz "ok": true e os arquivos em outputs. Para salvar todos de uma vez com jq:
curl -s https://pdfvera.com/api/v1/br/convert \
-H "Authorization: Bearer pv_SUA_CHAVE" \
-F pdf=@extrato.pdf > resposta.json
jq -r '.outputs // {} | keys[]' resposta.json | while read f; do
jq -r --arg f "$f" '.outputs[$f]' resposta.json | base64 --decode > "$f"
doneCampos do pedido
| Campo | Obrigatório | Uso |
|---|---|---|
pdf | sim | o extrato em PDF, até 20 MB |
profile | não | sistema do OFX: dominio (padrão), alterdata, contaazul ou omie |
password | não | senha do PDF, se o banco protegeu o arquivo |
cpf | não | CPF do titular, para tentar as senhas comuns dos bancos |
mode | não | preview: só confere, sem arquivos e sem contar na cota |
A resposta
| Campo | Significado |
|---|---|
ok | true quando a conta fechou; os arquivos só vêm sem mode=preview |
bank | banco reconhecido |
reconciliation | saldo inicial, saldo final, saldo calculado e linhas conferidas |
transactions | número de lançamentos |
accounts | uma entrada por conta, se o PDF tiver mais de uma |
cause | motivo quando ok é false, por exemplo password se falta a senha |
outputs | nome do arquivo → conteúdo (Base64) |
used, quota | extratos usados e incluídos no mês (quando há arquivos) |
A cota do mês pode ser consultada em GET /api/v1/usage. A descrição completa de todos os campos está no arquivo OpenAPI.
Códigos de erro
| Status | error | Significado |
|---|---|---|
| 400 | profile | profile diferente de dominio, alterdata, contaazul ou omie |
| 401 | key | chave ausente, errada ou bloqueada |
| 402 | subscription | nenhuma assinatura ativa |
| 402 | quota | cota do mês esgotada; used e quota vêm na resposta |
| 413 | size | PDF maior que 20 MB |
| 415 | type | o arquivo não é PDF |
| 422 | pages | mais de 300 páginas |
| 422 | scanned | mais de 40 páginas escaneadas |
| 422 | pagesize | página grande demais |
| 429 | rate | chamadas demais; scope diz minute, hour ou day |
| 503 | busy | conversão ocupada; tente de novo mais tarde |
| 503 | unavailable | conversão fora do ar por um tempo |
| 500, 502, 504 | failed | a conversão falhou; tente de novo mais tarde |
Limites
- Um PDF de até 20 MB e 300 páginas por chamada, com no máximo 40 páginas escaneadas.
- Por conta, até 20 chamadas por minuto, 120 por hora e 1.000 por dia, somando site e API.
- Um extrato por chamada. Para vários, chame a API um após o outro.
Servidor MCP para Claude, Cursor e outros assistentes de IA
Com o servidor MCP do pdfvera, um assistente de IA converte extratos no seu computador. O pequeno programa lê o PDF do seu disco, chama a API com a sua chave e salva os arquivos ao lado do PDF. Se o PDF tem senha, o assistente pergunta e tenta de novo. Valem a mesma cota e os mesmos limites da API.
- Claude Desktop: baixe a extensão pdfvera.mcpb, abra com dois cliques e informe a chave da API.
- Claude Code (precisa do Node.js 18 ou mais novo):
claude mcp add pdfvera -e PDFVERA_API_KEY=pv_SUA_CHAVE -- npx -y pdfvera-mcp@latestOu como plugin pdfvera (/plugin marketplace add pdfvera/pdfvera-mcp, depois /plugin install pdfvera@pdfvera): ele não traz servidor MCP, mas mostra ao Claude como chamar a API diretamente. A chave vem de PDFVERA_API_KEY, definida em ~/.claude/settings.json em env.
Cursor e outros programas com suporte a MCP recebem o servidor na configuração MCP; no Cursor, em ~/.cursor/mcp.json:
{
"mcpServers": {
"pdfvera": {
"command": "npx",
"args": ["-y", "pdfvera-mcp@latest"],
"env": { "PDFVERA_API_KEY": "pv_SUA_CHAVE" }
}
}
}O servidor oferece três ferramentas: convert_bank_statement (extrato em PDF para OFX, CSV e Excel), convert_invoice (faturas alemãs) e get_usage (plano e cota). Para o ChatGPT, que só conecta servidores MCP na internet, ainda não há versão. Com @latest, o servidor busca as versões novas sozinho no próximo início. O código-fonte está no GitHub (licença MIT) e o pacote no npm.
Privacidade
O pdfvera não guarda o PDF enviado pela API, nem quando a conversão falha. Fica guardado só um hash do PDF quando há arquivos gerados, para o mesmo extrato não contar duas vezes no mês. Quando nossas regras não conseguem ler um extrato, o PDF é enviado à API da Anthropic só para ler os lançamentos; a Anthropic apaga esses dados em até 30 dias e não os usa para treinar modelos. Os detalhes estão na política de privacidade.