Loterias

Dados abertos das loterias

O histórico de todos os concursos (24.237 no total) em CSV, uma API JSON somente leitura e o widget do último resultado para colar no seu site. Gratuito, sem cadastro e sem chave de acesso.

O que tem aqui

Loterias com o total de concursos e o link do CSV
Loteria Concursos Último concurso Histórico
Mega-Sena 3.073 3073 megasena.csv
Quina 7.150 7150 quina.csv
Lotofácil 3.812 3812 lotofacil.csv
Lotomania 2.991 2991 lotomania.csv
Dupla Sena 3.024 3024 duplasena.csv
Timemania 2.457 2458 timemania.csv
Dia de Sorte 1.330 1330 diadesorte.csv
+Milionária 400 400 maismilionaria.csv

Os arquivos e a API são atualizados logo depois de cada sorteio, assim que a Caixa publica o resultado.

Colunas do CSV

Uma linha por concurso, do mais antigo ao mais recente. Separador vírgula, ponto como separador decimal, valores em reais com 2 casas, datas em AAAA-MM-DD, codificação UTF-8 sem BOM. Cada loteria tem só as colunas que se aplicam a ela.

Colunas do CSV do histórico
Coluna O que é
concurso Número do concurso.
data Data do sorteio (AAAA-MM-DD).
dezena_1 … dezena_N Dezenas sorteadas, em ordem crescente.
ordem_1 … ordem_N Dezenas na ordem em que foram sorteadas; vazias quando a Caixa não publicou a ordem.
dezena2_1 … dezena2_6 Só na Dupla Sena: dezenas do 2º sorteio, em ordem crescente.
ordem2_1 … ordem2_6 Só na Dupla Sena: dezenas do 2º sorteio na ordem do sorteio; vazias quando a Caixa não publicou a ordem.
trevo_1, trevo_2 Só na +Milionária: trevos sorteados, em ordem crescente.
time_do_coracao Só na Timemania: Time do Coração sorteado, como a Caixa publicou; a grafia do mesmo time muda ao longo do tempo (com e sem acento, abreviada).
time_do_coracao_normalizado Só na Timemania: o mesmo time em maiúsculas, sem acento e com as grafias antigas unificadas; use esta coluna para agrupar ou contar por time.
mes_da_sorte Só no Dia de Sorte: Mês da Sorte sorteado.
acumulou 1 se o prêmio principal acumulou, 0 se não.
arrecadacao Total arrecadado no concurso, em reais; vazio quando não foi publicado.
estimativa_proximo Prêmio estimado para o concurso seguinte, em reais; vazio quando não foi publicado.
ganhadores_principal Ganhadores da faixa principal; vazio quando o rateio não foi publicado ou não foi reconhecido.
premio_principal Prêmio da faixa principal por ganhador, em reais; vazio sem ganhador ou sem rateio reconhecido.
ganhadores_principal_2 Só na Dupla Sena: ganhadores da sena do 2º sorteio.
premio_principal_2 Só na Dupla Sena: prêmio da sena do 2º sorteio por ganhador, em reais; vazio sem ganhador.
moeda_original Moeda em que a Caixa divulgou os valores: BRL (real) ou BRR (cruzeiro real, antes de 1/7/1994, convertido para reais dividindo por 2.750).

API JSON

Somente leitura (GET), versão 1. Troque megasena pelo identificador de outra loteria: megasena, quina, lotofacil, lotomania, duplasena, timemania, diadesorte, maismilionaria. Use as URLs exatamente como abaixo, com a barra no fim: sem ela, o site responde com um redirecionamento 301, que não traz os cabeçalhos de CORS e falha no navegador.

Loteria, concurso ou página que não existem dão 404 com {"erro": "..."}. O rateio vem de cada faixa identificada pela descrição da Caixa; valores anteriores a 1/7/1994 foram convertidos do cruzeiro real para reais.

Exemplo: o último concurso da Mega-Sena

{
  "loteria": "megasena",
  "nome": "Mega-Sena",
  "concurso": 3073,
  "data": "2026-10-22",
  "dezenas": [
    4,
    13,
    23,
    28,
    41,
    58
  ],
  "ordem_sorteio": [
    23,
    13,
    41,
    28,
    58,
    4
  ],
  "segundo_sorteio": null,
  "trevos": null,
  "time_do_coracao": null,
  "time_do_coracao_normalizado": null,
  "mes_da_sorte": null,
  "acumulou": true,
  "arrecadacao": 153236202.0,
  "estimativa_proximo": 230000000.0,
  "proximo_concurso": {
    "concurso": 3074,
    "data": "2026-10-24"
  },
  "premio_principal": {
    "faixa": 1,
    "ganhadores": 0,
    "premio": null
  },
  "rateio": [
    {
      "sorteio": 1,
      "faixa": 1,
      "descricao": "Sena",
      "acertos": 6,
      "trevos": null,
      "ganhadores": 0,
      "premio": null
    },
    {
      "sorteio": 1,
      "faixa": 2,
      "descricao": "Quina",
      "acertos": 5,
      "trevos": null,
      "ganhadores": 203,
      "premio": 23138.67
    },
    {
      "sorteio": 1,
      "faixa": 3,
      "descricao": "Quadra",
      "acertos": 4,
      "trevos": null,
      "ganhadores": 13143,
      "premio": 510.55
    }
  ],
  "moeda": "BRL",
  "moeda_original": "BRL",
  "atualizado_em": "2026-10-23T09:00:23.132044+00:00",
  "url": "https://loteria.superfacil.site/megasena/3073/"
}

Campos do JSON de cada concurso

Campos do JSON de cada concurso
Campo O que é
loteria Identificador da loteria (ex.: megasena).
nome Nome da loteria.
concurso Número do concurso.
data Data do sorteio (AAAA-MM-DD).
dezenas Dezenas sorteadas, em ordem crescente.
ordem_sorteio Dezenas na ordem do sorteio, ou null quando a Caixa não publicou a ordem.
segundo_sorteio Só na Dupla Sena: o 2º sorteio; null nas outras loterias.
segundo_sorteio.dezenas Dezenas do 2º sorteio, em ordem crescente.
segundo_sorteio.ordem_sorteio Dezenas do 2º sorteio na ordem do sorteio, ou null.
trevos Só na +Milionária: trevos sorteados; null nas outras.
time_do_coracao Só na Timemania: Time do Coração como a Caixa publicou, com a grafia que muda ao longo do tempo (com e sem acento, abreviada); null nas outras.
time_do_coracao_normalizado Só na Timemania: o mesmo time em maiúsculas, sem acento e com as grafias antigas unificadas, para agrupar ou contar por time; null nas outras.
mes_da_sorte Só no Dia de Sorte: Mês da Sorte; null nas outras.
acumulou true se o prêmio principal acumulou.
arrecadacao Total arrecadado, em reais, ou null quando não foi publicado.
estimativa_proximo Prêmio estimado para o concurso seguinte, em reais, ou null.
proximo_concurso Número e data do concurso seguinte, ou null.
proximo_concurso.concurso Número do concurso seguinte.
proximo_concurso.data Data prevista do concurso seguinte, ou null.
premio_principal Faixa principal do 1º sorteio, ou null quando o rateio não foi reconhecido.
premio_principal.faixa Número da faixa principal.
premio_principal.ganhadores Ganhadores da faixa principal.
premio_principal.premio Prêmio por ganhador, em reais, ou null sem ganhador.
rateio Faixas de premiação identificadas pela descrição da Caixa, ou null quando o rateio não foi publicado ou não foi reconhecido.
rateio.sorteio Sorteio da faixa (1, ou 2 no 2º sorteio da Dupla Sena).
rateio.faixa Número da faixa, da maior para a menor.
rateio.descricao Nome da faixa (ex.: Sena, 14 acertos, Time do Coração).
rateio.acertos Dezenas acertadas na faixa, ou null no Time do Coração e no Mês da Sorte.
rateio.trevos Só na +Milionária: trevos acertados que valem a faixa; null nas outras.
rateio.ganhadores Ganhadores na faixa.
rateio.premio Prêmio por ganhador, em reais, ou null sem ganhador.
moeda Moeda dos valores: sempre BRL (real).
moeda_original Moeda divulgada pela Caixa: BRL, ou BRR (cruzeiro real) antes de 1/7/1994.
atualizado_em Quando o conteúdo do concurso mudou pela última vez (ISO 8601).
url Página do concurso no site.

Cache, CORS e limite

  • Toda resposta com dados (200) traz ETag, Last-Modified e Cache-Control: public, max-age=300 (5 minutos). Mande o ETag de volta em If-None-Match (ou a data em If-Modified-Since) e, sem novidade, a resposta é 304 Not Modified, sem corpo.
  • CORS liberado para qualquer origem (Access-Control-Allow-Origin: *), só para GET; o preflight vale por 24 horas.
  • Até 600 pedidos por IP a cada 10 minutos, somando a API e os CSV. Passou disso, a resposta é 429 com Retry-After (segundos até liberar).
  • Sem cookies e sem sessão. A API e os CSV ficam fora dos buscadores (X-Robots-Tag: noindex).

Origem e licença

Fonte: Caixa Econômica Federal (portal de loterias). Os resultados são buscados no portal de loterias da Caixa depois de cada sorteio. Pode haver erro de cópia ou atraso: confira sempre o resultado oficial na Caixa antes de qualquer decisão.

A compilação (formato, colunas, conversão de moeda e identificação das faixas) está sob a licença CC BY 4.0: pode usar, copiar e adaptar, inclusive para fins comerciais, desde que dê o crédito. Use a atribuição:

Dados: Caixa Econômica Federal, compilados por Loterias (loteria.superfacil.site)

Exemplos de uso

curl, com ETag

curl -i https://loteria.superfacil.site/api/v1/megasena/ultimo/
# depois, com o ETag da resposta anterior:
curl -i -H 'If-None-Match: "ETAG-DA-RESPOSTA"' https://loteria.superfacil.site/api/v1/megasena/ultimo/

JavaScript (fetch)

const resposta = await fetch("https://loteria.superfacil.site/api/v1/megasena/ultimo/");
const concurso = await resposta.json();
console.log(concurso.concurso, concurso.dezenas);

Python (pandas)

import pandas as pd

mega = pd.read_csv("https://loteria.superfacil.site/api/v1/megasena/historico.csv", parse_dates=["data"])
print(mega.tail())

Widget do último resultado

Cole no seu site o último resultado de qualquer loteria, atualizado sozinho a cada sorteio, com link para o resultado completo. Sem cookies, sem JavaScript e sem rastreamento.

Prévia

O widget tem 320 px de largura e se ajusta a telas menores. A altura já vem certa para o widget da Mega-Sena.