POP HOSTING

Como usar a API do streaming xCAST para mostrar música e ouvintes imprimir

  • api do streaming, api rádio, now playing, ouvintes conectados, json, xcast api
  • 0

Use a API do streaming xCAST para mostrar no site a música tocando, o status da rádio e os ouvintes conectados, com exemplos em PHP e JavaScript.

  • Tempo: 15 min
  • Nível: Intermediário
  • Vale para: painel xCAST BETA e CLÁSSICO, API v2 (JSON) e API antiga (XML e JSON)
  • Atualizado: outubro de 2026

A API do streaming entrega as informações da rádio em um endereço que qualquer site, app ou sistema consegue ler: se a rádio está no ar, a música que está tocando (com artista e capa), quantos ouvintes estão conectados e o histórico do que tocou. Ela está incluída em todos os planos xCAST, sem custo extra.

Dica: se você só quer mostrar o player e a música atual no site, talvez nem precise da API. O player do menu Players e o widget de uma linha (mais abaixo) já fazem isso sem programar.

Onde fica a chave da sua rádio

  • Painel BETA: menu Painel de Controle → API, página API & Integrações. Ali estão a KEY da rádio, os endereços prontos para copiar, exemplos e a criação de chaves privadas.
  • Painel CLÁSSICO: a página de API mostra a KEY e os endereços de leitura da API antiga.

A KEY serve para as informações públicas da rádio: status, música atual, histórico e uptime. Dados de audiência (resumo de 7 e 30 dias, músicas mais tocadas, ouvintes por hora, mapa por cidade), playlists e agendamentos exigem uma chave privada, criada no painel BETA em Gerar nova chave. A documentação completa, com todos os endereços e formatos de resposta, fica em beta.xcast.com.br/api-v2/docs.

Os endereços mais usados (API v2, em JSON)

EndereçoO que devolve
/api-v2/status/SUA_KEYStatus, ouvintes conectados, música atual, artista, capa, bitrate e mais
/api-v2/now-playing/SUA_KEYSó o "tocando agora": artista, música, capa e próxima música
/api-v2/historico/SUA_KEYAs últimas músicas tocadas (até 50)
/api-v2/uptime/SUA_KEYResponde normal com a rádio no ar e com erro 503 fora do ar, para serviços de monitoramento

O endereço completo é o da documentação seguido do caminho, por exemplo https://beta.xcast.com.br/api-v2/now-playing/SUA_KEY. Uma resposta resumida:

{
  "sucesso": true,
  "status": "Ligado",
  "artista": "Nome do Artista",
  "musica": "Nome da Música",
  "capa_musica": "https://...",
  "proxima_musica": "",
  "titulo": "Nome da Rádio"
}

Exemplo em PHP: mostrar os ouvintes conectados

<?php
$url  = 'https://beta.xcast.com.br/api-v2/status/SUA_KEY';
$json = @file_get_contents($url);
$dados = $json ? json_decode($json, true) : null;

if ($dados && isset($dados['ouvintes_conectados'])) {
    echo 'Ouvintes agora: ' . (int) $dados['ouvintes_conectados'];
} else {
    echo 'Rádio indisponível no momento';
}

Em vez de consultar a API a cada visita, guarde a resposta por alguns segundos no seu site. As respostas já são mantidas em cache por cerca de 10 segundos, então consultar mais rápido que isso não traz dado mais novo.

Exemplo em JavaScript: "tocando agora" na página

<div id="tocando">Carregando...</div>
<script>
async function atualizarTocando() {
  try {
    const r = await fetch('https://beta.xcast.com.br/api-v2/now-playing/SUA_KEY');
    const d = await r.json();
    document.getElementById('tocando').textContent =
      d.sucesso ? d.artista + ' - ' + d.musica : 'Fora do ar';
  } catch (e) {
    document.getElementById('tocando').textContent = 'Fora do ar';
  }
}
atualizarTocando();
setInterval(atualizarTocando, 20000);
</script>

A API aceita chamadas direto do navegador (CORS liberado) e até 120 consultas por minuto por IP.

Sem programar: o widget de uma linha

Cole esta linha no HTML do site, trocando SUA_KEY pela KEY da rádio. Ela mostra a capa, a música e o artista e se atualiza sozinha:

<script src="https://beta.xcast.com.br/xc-nowplaying.js" data-key="SUA_KEY" async></script>

Já usa a API antiga?

Ela continua funcionando: os endereços em XML e em JSON que aparecem na página de API do painel seguem no ar, e o endpoint status da v2 usa os mesmos nomes de campo, como status, ouvintes_conectados, musica_atual e plano_bitrate. Para migrar, basta trocar o endereço pelo da v2 e ler JSON em vez de XML. A v2 responde bem mais rápido.

Segurança

  • A KEY só dá acesso a informações públicas da rádio. Pode ir no código do site.
  • Chaves privadas de leitura liberam dados de audiência: use no servidor, não no navegador.
  • Chaves de controle executam comandos na rádio, como ligar e desligar. Trate como senha, restrinja por IP no painel e nunca coloque no código de um site ou app.

Problemas comuns

A resposta diz que a KEY é inválida

Copie a KEY de novo na página de API do painel, sem espaços. Ela é diferente da porta e da senha da rádio.

A resposta diz que precisa de chave

O dado pedido é de audiência ou de programação. Crie uma chave privada de leitura no painel BETA e use no lugar da KEY.

Erro 429

Consultas demais em pouco tempo. Aumente o intervalo entre as chamadas ou guarde a resposta em cache no seu site.

Quer sua rádio online com AutoDJ, app e API prontos? Conheça o streaming xCAST da POP Hosting; os detalhes da API estão em API para rádio.

Esta resposta lhe foi útil?
« Retornar