Documentação

CurvaDeMana Docs

Importação da Scryfall

O pipeline que traz todas as cartas para o banco local.

Atualizado em 11 de junho de 2026

O importador vive em scripts/import-cards.ts e roda com npm run import:cards. Ele é a ponte entre o dump público da Scryfall e o nosso banco.

Fonte dos dados

A Scryfall publica vários conjuntos de dados em massa. Usamos o oracle_cards, que traz uma entrada por carta distinta, sem repetir cada reimpressão. São cerca de 176 MB.

Etapas do pipeline

1. Descobrir o arquivo

O script consulta o índice de bulk data da Scryfall e localiza a entrada oracle_cards, que aponta para o arquivo mais recente.

2. Baixar com cache

Se o arquivo local já existe com o tamanho esperado, ele é reaproveitado, evitando baixar de novo. Caso contrário, o download é transmitido direto para o disco.

3. Filtrar

São descartados layouts que não são cartas jogáveis (fichas, emblemas, séries de arte) e itens de memorabilia.

4. Mapear

Cada carta da Scryfall é convertida para o formato do nosso modelo Card. Cartas de duas faces têm o texto, o custo e a imagem extraídos da face da frente, com o texto das faces unido quando faz sentido.

5. Gravar

A tabela de cartas é limpa e os registros são inseridos em lotes de mil, para manter a memória sob controle e a inserção rápida. Ao final, o total é conferido.

Atualização

Como o dump muda diariamente, rodar o script de novo atualiza cartas novas e legalidades. Por reescrever a tabela inteira, o resultado é sempre um retrato fiel do dump mais recente.

Cuidado com crossovers

Muitas cartas clássicas têm sua impressão canônica em coleções de crossover (como as de super heróis). Onde a arte importa para a estética do site, como no mosaico da página inicial, essas coleções são filtradas para preservar o clima visual.

Sem preço

A plataforma não trabalha com preço. Não existe uma fonte confiável e autorizada de preços do mercado brasileiro: a LigaMagic não tem API pública, bloqueia coleta automatizada no seu robots.txt e protege seu banco por copyright. Converter valores em dólar não refletiria o mercado nacional. Por isso a decisão foi não exibir preço algum, e tratar custo apenas pelo custo de mana das cartas.