Acesso para desenvolvedores · No ar

API conversora de extratos bancários

Extraia dados de transações em JSON estruturado de qualquer PDF de extrato bancário por meio de uma API REST simples. Construída sobre o mesmo motor de análise que impulsiona o PivotBank, mais de 1000 bancos, suporte a várias páginas e integração sem configuração.

Integração simples

Um endpoint. JSON estruturado.

Envie um PDF por POST. Receba dados de transações limpos e estruturados. Cada resposta inclui o nome do banco, o período do extrato e um array completo de transações com campos normalizados de data, descrição, débito, crédito e saldo.

  • Nomes de campo consistentes em todos os bancos
  • Valores nulos para débito/crédito ausentes (nunca ambíguos)
  • Saída no formato de data ISO
  • Nome do banco e período detectados automaticamente
  • Contagem de páginas incluída para acompanhamento de uso
POST /api/v1/convert
Authorization: Bearer {API_KEY}
Content-Type: multipart/form-data

# Response: 200 OK
{
  "bankName": "HSBC",
  "accountNumber": "1234 5678",
  "period": "Jan 2025, Mar 2025",
  "pageCount": 3,
  "transactionCount": 2,
  "reconciliation": {
    "verified": true,
    "status": "ok",
    "opening": 2384.21,
    "closing": 6841.22,
    "expectedClosing": 6841.22,
    "difference": 0,
    "totalIn": 4500.00,
    "totalOut": 42.99
  },
  "transactions": [
    {
      "date": "2025-01-03",
      "description": "AMAZON.CO.UK",
      "debit": 42.99,
      "credit": null,
      "balance": 2341.22
    },
    {
      "date": "2025-01-07",
      "description": "SALARY - ACME LTD",
      "debit": null,
      "credit": 4500.00,
      "balance": 6841.22
    }
  ]
}

Como chamar

    01

    Assine o Pro

    O acesso à API exige uma subscrição Pro ativa; o endpoint recusa chaves de qualquer outra conta.

    02

    Crie uma chave de API

    Gere-a na página da sua conta. É mostrada uma única vez e apenas o hash é guardado.

    03

    Envie o PDF por POST

    Envie o PDF para /api/v1/convert com um cabeçalho Authorization: Bearer, como multipart form-data num campo "file" ou como corpo application/pdf, até 15 MB.

    04

    Leia o JSON

    Uma resposta 200 devolve bankName, accountNumber, period, pageCount, transactionCount, um objeto reconciliation e um array transactions com date, description, debit, credit e balance.

Quem usa a API

Integração com software de contabilidade

Envie os PDFs dos clientes ao seu próprio sistema e receba JSON estruturado pronto para lançar diretamente nos livros do Xero, QuickBooks ou Sage, sem redigitação manual.

Fintech e crédito

Automatize a análise de capacidade de pagamento para pedidos de empréstimo. Analise de 3 a 12 meses de extratos do solicitante em segundos e extraia rendimentos, compromissos recorrentes e tendências de saldo.

Automação empresarial

Integre a análise de extratos bancários em fluxos de trabalho internos, verificações de conformidade, processamento de despesas, suporte a auditoria ou painéis financeiros personalizados.

Modelo de preços

Pagamento por extrato

Acesso

Incluído no Pro

Bancos suportados

Mais de 1000

The API is a Pro feature

Upgrade to Pro to create API keys and convert statements programmatically.

Upgrade to Pro
Perguntas frequentes

Trabalhando com a API

Como faço a autenticação?

Envie sua chave como token bearer: Authorization: Bearer pvb_live_... As chaves são criadas e revogadas nesta página, e o endpoint exige uma assinatura Pro ativa, então uma chave válida numa conta sem Pro é recusada com 403.

Como envio o PDF?

Como multipart/form-data com o arquivo num campo chamado "file", ou como corpo de requisição bruto com Content-Type: application/pdf. O mesmo endpoint aceita os dois. O limite é 15 MB, verificado contra o tamanho declarado antes de o corpo ser lido, então um envio grande demais é recusado com 413 em vez de transferido.

O que volta?

Um objeto JSON: bankName, accountNumber, period e pageCount detectados do extrato, transactionCount e um array transactions. Cada transação tem data, descrição e os campos debit, credit e balance, com null em vez de zero quando uma coluna realmente não existe.

Ela lê extratos digitalizados?

Não, e é o único ponto em que a API é mais restrita que o app web. O navegador roda OCR numa digitalização; a API analisa apenas a camada de texto, e um extrato sem texto utilizável volta como 422 pedindo um PDF digital. Se sua entrada inclui digitalizações, converta essas no navegador ou fale com a gente.

O que significam os códigos de erro?

401 para chave ausente, inválida ou revogada. 403 para chave válida numa conta sem Pro. 400 para um corpo que não é um PDF legível. 413 acima de 15 MB. 422 para um PDF que foi analisado mas não rendeu texto utilizável, o que na prática significa uma digitalização.

Como o uso é contado?

Uma conversão por chamada bem-sucedida, registrada na sua conta com a contagem de páginas, do mesmo jeito que uma conversão no navegador. Uma chamada com erro não conta.

Volume e empresas

Convertendo em grande volume?

A API está no ar e vem incluída na assinatura Pro. Crie uma chave acima e comece a enviar extratos; não há fila de espera aqui.

Fale com a gente se converte em grande volume, precisa de uma tarifa sob medida ou quer discutir uma integração antes de construí-la.