Manual oficial para desenvolvedores de sistemas de terceiros (CRM, ERP, plataformas financeiras e e-commerces) integrarem consulta de notas fiscais, download de XMLs e geração automatizada de DANFEs em PDF. Suporta fluxos síncronos (consulta direta) e assíncronos (processamento em lote).
A API foi projetada para alta escalabilidade de forma segura, disponibilizando dois modos de uso:
Lote (assíncrono) — recomendado para volume: enfileira o processamento sem causar timeouts nas suas conexões HTTP.
Individual síncrono (B2B direto) — uma nota na hora, com fallbacks inteligentes em camadas.
Base URL:https://api.danferapida.com.br
2. Autenticação
Toda requisição deve ser autenticada por uma chave de acesso exclusiva (API Key), gerada na área da conta, em Chaves. Inclua o cabeçalho HTTP x-api-key em todas as chamadas.
A API Key identifica sua conta e consome o saldo de consultas dela. Mantenha-a em sigilo nas variáveis de ambiente do seu servidor e nunca a exponha no frontend.
Ideal quando seu ERP/CRM importa listas volumosas de chaves de acesso. Você envia as chaves, o sistema processa em segundo plano e você consulta o status até concluir.
Passo A — Criar o lote
POST/batchs
Corpo da requisição (chaves de acesso de 44 dígitos):
{
"id": 42,
"userId": "00000000-0000-0000-0000-000000000000",
"quantity": 2,
"status": "PENDING",
"createdAt": "2026-05-27T12:00:00.000Z",
"updatedAt": "2026-05-27T12:00:00.000Z",
"message": "Lote criado e em processamento.",
"queries": { "held": 2, "remaining": 1497 },
"notice": "Se alguma consulta do lote falhar, ela volta ao seu saldo quando o lote terminar."
}
Passo B — Consultar status dos lotes
O userId é extraído automaticamente da API Key — você não precisa enviá-lo.
Monitore o status do lote. Quando mudar de PENDING para FINISHED, todos os documentos foram processados e estão prontos para consumo.
4. Consulta individual síncrona (B2B direta)
Para consultar uma única nota imediatamente (ex.: cliente insere a chave na tela de vendas do seu sistema). Possui fallbacks inteligentes para entregar a nota o mais rápido possível.
[
{
"accessKey": "35250000000000000000550010000000011000000017",
"danfeBase64": "JVBERi0xLjQKJcfsj6y...[PDF em Base64]"
}
]
Se o lote não pertencer ao detentor da API Key, retorna 401 Unauthorized. Lote inexistente retorna 404 Not Found.
6. Tabela de status
Objeto
Status
Descrição
Lote
PENDING
Lote criado. Aguardando processamento em fila.
Lote
SEARCHING
Robôs buscando os dados na API externa e SEFAZ.
Lote
FINISHED
Processamento concluído para todos os documentos.
Documento
PENDING
Documento enfileirado aguardando busca de XML e PDF.
Documento
FOUND
XML e DANFE localizados e processados com sucesso.
Documento
NOT_FOUND
Não localizado ou chave de acesso inválida.
7. Consultas e saldo
As chamadas usam o saldo de consultas pré-pagas da conta dona da API Key, compradas via PIX na área da conta. Todas as chaves da conta usam o mesmo saldo.
GET /documents/b2b/search/:accessKey — 1 consulta quando a nota é entregue. Nota não encontrada, chave inválida ou erro não consomem. O saldo restante vem no campo queriesRemaining da resposta e no header X-Queries-Remaining.
POST /batchs — retém 1 consulta por chave ou XML ao criar o lote e responde queries.held e queries.remaining. Quando o lote termina, as consultas das notas não entregues voltam ao saldo (queries.refunded na consulta do lote).
Demais endpoints (XML → PDF, PDFs de um lote, listagens) não consomem consulta.
Sem saldo suficiente, a chamada não é processada e a API responde 402 Payment Required: