OddixData API Reference

Bem-vindo à documentação oficial da OddixData. Nossa API RESTful fornece dados em tempo real sobre mercados preditivos, permitindo que você consuma cotações (odds) e resultados finais diretamente do nosso banco de dados, perfeitamente formatados em JSON.

Base URL: Todas as requisições devem ser feitas apontando para o endpoint base: https://oddixdata.shop/api/index.php

Autenticação

Para proteger o ecossistema, a OddixData exige a passagem de um token (API Key) autorizado. Você deve fornecer a sua chave secreta no cabeçalho (Header) da requisição.

Header Tipo Descrição
X-API-KEY Obrigatório Token de acesso gerado no Painel Administrativo. Exemplo: a8d9f1...

Limites de Requisição (Rate Limit)

Cada API Key possui uma franquia de requisições configurada. Sempre que a sua aplicação consome um dos nossos endpoints (Markets ou Results), é descontado 1 crédito. Caso exceda o limite, a API retornará o erro HTTP 429 Too Many Requests.

1. Listar Mercados e Odds

Retorna a relação de mercados em aberto (status = 'open') e as opções de apostas aninhadas com as respectivas cotações dinâmicas (current_odd).

GET https://oddixdata.shop/api/index.php?route=markets
Exemplo de Resposta de Sucesso
JSON
{
  "success": true,
  "data": [
    {
      "market_id": 150,
      "title": "Quem vencerá o Brasileirão 2026?",
      "category": "Esportes",
      "status": "open",
      "image_url": "https://triad-bucket.../imagem.jpg",
      "options": [
        {
          "option_id": 301,
          "name": "Flamengo - Sim",
          "odd": 1.85
        },
        {
          "option_id": 302,
          "name": "Palmeiras - Sim",
          "odd": 2.15
        }
      ]
    }
  ]
}

2. Resultados Oficiais

Retorna exclusivamente os mercados que já foram encerrados e resolvidos (status = 'resolved'), indicando a string exata com a opção vencedora.

GET https://oddixdata.shop/api/index.php?route=results
Exemplo de Resposta de Sucesso
JSON
{
  "success": true,
  "data": [
    {
      "market_id": 112,
      "title": "Vencedor do BBB 26",
      "category": "Entretenimento",
      "status": "resolved",
      "winning_result": "Participante X - Sim",
      "resolved_at": "2026-04-10 23:55:00"
    }
  ]
}

Exemplos de Integração Prontos

Utilize os snippets abaixo para conectar o seu sistema aos nossos endpoints em questão de segundos.

PHP cURL
<?php
// Endpoint que você deseja acessar (markets ou results)
$SUA_API_URL = "https://oddixdata.shop/api/index.php?route=markets";

$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => $SUA_API_URL,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    "X-API-KEY: COLOQUE_SUA_CHAVE_AQUI",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

if ($httpCode === 200) {
  $data = json_decode($response, true);
  print_r($data);
} else {
  echo "Falha na API. Código HTTP: " . $httpCode;
}
?>
JavaScript / Fetch
const apiUrl = 'https://oddixdata.shop/api/index.php?route=results';
const apiKey = 'COLOQUE_SUA_CHAVE_AQUI';

fetch(apiUrl, {
  method: 'GET',
  headers: {
    'X-API-KEY': apiKey,
    'Content-Type': 'application/json'
  }
})
  .then(response => {
    if (!response.ok) {
      throw new Error('Erro na resposta: ' + response.status);
    }
    return response.json();
  })
  .then(data => console.log('Resultados:', data))
  .catch(err => console.error('Falha ao consultar a OddixData API:', err));

Tabela de Erros e HTTP Status

Nossa API segue os padrões da web. Sempre utilize o código de resposta HTTP (Status Code) para entender o que aconteceu em caso de falha.

HTTP Status Significado na OddixData
200 OK Acesso liberado. Dados retornados no array data.
400 Bad Request A rota informada é inválida. Utilize apenas ?route=markets ou ?route=results.
401 Unauthorized Header X-API-KEY está ausente ou o token inserido não existe.
403 Forbidden A sua Chave de API foi bloqueada ou inativada pelo Administrador.
429 Too Many Requests Você atingiu o limite mensal/diário de requisições da sua franquia.

Estrutura padrão de um retorno de erro em JSON:

JSON
{
  "success": false,
  "error": "Limite de requisições excedido. Contate o suporte."
}