Da conta ao primeiro PDF em quatro passos — sem precisar abrir a referência técnica.
Foolscap é o nome de um formato de papel que atravessou séculos carregando documentos oficiais — contratos, escrituras, atas. O batismo veio da marca d'água que os fabricantes imprimiam na folha: um chapéu de bobo da corte, o jester, com seus três bicos e guizos.
A gente achou essa combinação perfeita. Nosso logo é exatamente isso: uma folha de papel cuja dobra forma os três bicos do chapéu de bobo. Um papel sério com um sorriso escondido na dobra.
É o espírito da coisa: documentos são assunto sério — prazo, assinatura, validade jurídica. Mas a ferramenta que os gera não precisa ser sisuda. O Foolscap cuida da parte chata (template, dados, PDF, escala) pra você cuidar do resto.
Quatro passos, uns cinco minutos.
Acesse dev.foolscap.app.br/login e preencha o nome da empresa, CPF ou CNPJ, celular e e-mail. É tudo que a gente pede — sem cartão, sem formulário quilométrico.

Nada de senha pra decorar (nem vazar): a cada acesso, um código chega no seu e-mail. Digite e pronto — você está no painel.

No painel, abra a seção API Keys e crie uma key com um nome que identifique o uso — "producao", por exemplo. Atenção: o segredo fsk_… aparece uma única vez. Copie e guarde num lugar seguro; depois disso, nem a gente consegue vê-lo de novo.

Com o SDK oficial de Python, emitir é uma chamada: o render() envia os dados e já devolve o documento pronto — a geração é assíncrona, mas o 202 e o polling ficam por conta dele. Pra lote, o modo async enfileira com render_nowait() e busca depois com wait_for_document(). Prefere integrar sem SDK? A aba curl mostra o que acontece por baixo: o POST /v1/render responde na hora com um document_id e, segundos depois, o GET /v1/documents/{id} devolve o pdf_url.
# pip install foolscap-sdk
from foolscap_sdk import Foolscap
client = Foolscap(api_key="fsk_...")
doc = client.render(
template_id="tpl_contrato",
data={"contratante": {"nome": "Maria Silva"}},
document_name="Contrato — Maria Silva",
)
print(doc.pdf_url) # PDF pronto — o SDK cuida do 202 + polling sozinho# enfileira e segue a vida — bom pra lote
pedidos = [client.render_nowait(template_id="tpl_contrato", data=d) for d in lote]
# depois, no seu ritmo:
for pedido in pedidos:
doc = client.wait_for_document(pedido.document_id)
print(doc.pdf_url)curl -X POST https://api.dev.foolscap.app.br/v1/render \
-H 'Authorization: Bearer fsk_...' \
-H 'Content-Type: application/json' \
-d '{
"template_id": "tpl_contrato",
"document_name": "Contrato — Maria Silva",
"data": { "contratante": { "nome": "Maria Silva" } }
}'
HTTP 202
{ "document_id": "doc_abc123", "status": "processando" }
# segundos depois…
curl https://api.dev.foolscap.app.br/v1/documents/doc_abc123 \
-H 'Authorization: Bearer fsk_...'
{ "status": "gerado", "pages": 2, "pdf_url": "https://…" }Crie e publique seus templates no painel — instalando um dos modelos prontos da galeria, no editor visual ou gerados com IA a partir de uma frase.
→ Abrir templates
A integração oficial em uma dependência: pip install foolscap-sdk. Auth, 202 e polling já resolvidos — você chama render() e recebe o PDF.
→ Ver no PyPI
Todos os endpoints, parâmetros e exemplos de resposta — a documentação completa pra quem vai integrar.
→ Ver documentação
Prefere testar clicando? Baixe a collection da API de integração com todas as chamadas prontas: importe no Postman, cole sua key fsk_… na variável api_key e pronto.
→ Baixar collection
Crie a conta grátis e gere seu primeiro PDF ainda hoje.