Notas de quickstart
Onde os player props se escondem no feed de odds
Os especiais vêm desligados por padrão, então não há nada para achar no objeto da partida. Uma flag os ativa, e um join os anexa à partida.
Você tem o quadro funcionando, os preços fluindo, e aí alguém pergunta onde estão os mercados de artilheiro. Eles sempre estiveram lá. Os mercados especiais moram no mesmo feed, desligados por padrão, e ativá-los está a um parâmetro e um join de distância.
Por que a sua resposta não tem props
Os especiais são excluídos por padrão para que integrações existentes mantenham o tamanho do payload, como o guia de player props afirma, verificado em 2026-10-30. Passe include_specials=1 na chamada de fixtures ou markets e eles chegam. A chave gratuita cobre cada uma dessas requisições, a 20 por minuto e 100 por dia.
Esse padrão explica a confusão clássica: o objeto da partida não está escondendo uma seção de props. Não há campo para achar. Os especiais simplesmente não são enviados até você pedir.
Cada prop é a sua própria linha
O formato que surpreende todo mundo: um prop não vive dentro do objeto da partida. Cada especial chega como a sua própria linha de evento com o seu próprio event_id, unida à partida principal por parent_id. Três campos extras a descrevem: special nomeia o mercado, special_category o agrupa sob rótulos como Player Props, Team Props, Exact Scores ou Futures, e special_units diz o que os resultados contam, escanteios ou corridas ou o que quer que o mercado meça.
Então o join é um group-by. Colete as linhas, agrupe os especiais sob o seu parent_id, e você tem uma partida com seus props anexados.
Flat ou nested é uma escolha de fluxo
A flag tem duas formas, pelo mesmo guia. include_specials=1 retorna linhas planas, que combinam mais barato com um cursor since: toda leitura delta carrega só o que mudou, prop ou partida. include_specials=nested agrupa os especiais sob o array do próprio evento pai, o que serve a exibições de uma linha por partida.
Plano primeiro, nested se a exibição precisar. A forma plana é a que continua barata conforme a rodada cresce.
O campo de unidades não é decoração
Um preço em "over 2.5" não significa nada até você saber o que está sendo contado. O campo special_units carrega isso, e dois mercados com linhas idênticas podem contar coisas diferentes. Leia as unidades antes do preço, sempre, especialmente quando uma categoria como Exact Scores se mistura com mercados de jogador no mesmo grupo.
É o campo que mantém um prop na seção certa da tela e, depois, no balde certo de liquidação.
Uma checagem de cinco minutos
Puxe uma chamada de fixtures de pré-jogo com a flag ligada, filtre pelo parent_id de uma partida, e olhe o que chegou. Nomes, categorias, unidades, preços: tudo o que um quadro de props precisa está nas linhas. O quickstart na página de player props tem a versão em curl e jq pronta para rodar, verificado em 2026-10-30.
Os especiais nunca estiveram faltando. Estavam esperando um parâmetro.