Você precisa enviar comentários de partidas e contexto ao vivo para seu aplicativo esportivo esta semana. Ao final deste guia, você será capaz de resolver equipes e competições, enumerar esportes suportados e escopar países/categorias usando a FlashScore - Live API no Zyla API Hub—para que você possa localizar de forma confiável as entidades de partida exatas às quais você anexará seus comentários.
O que esta API oferece (e como ajuda com comentários)
A FlashScore - Live API no Zyla API Hub fornece entidades esportivas pesquisáveis e listas estruturadas de esportes e países/categorias. Concretamente, você pode:
- Pesquisar entidades como equipes, jogadores e torneios pelo nome (para obter IDs e metadados estáveis).
- Enumerar todos os esportes suportados.
- Listar países/categorias para um esporte (por exemplo, agrupamentos ATP/WTA para Tênis).
Para construir um recurso de comentários, o primeiro passo inegociável é resolver de forma confiável o contexto da partida certo: esporte → competição/categoria → equipe → partida. Os endpoints abaixo cobrem descoberta e escopo para que você possa ancorar comentários aos IDs e metadados das entidades corretas (esporte, gênero, imagens e nomes de países/categorias).
Começando no Zyla API Hub
Abra a listagem da API no Zyla API Hub, clique em Inscrever-se ou Começar Teste Grátis quando disponível, e obtenha sua chave de API. A Zyla usa uma única conta, uma chave de API e um modelo de assinatura + cota em mais de 10.000 APIs públicas—sem cobrança por chamada. Para esta API, você pode começar com um teste de 7 dias ou 50 solicitações; não há Plano Gratuito. Verifique a listagem para opções de acesso e preços atuais.
Todas as solicitações usam o cabeçalho Authorization: Bearer YOUR_API_KEY e o host base é fornecido para você pelo marketplace. Não adicione parâmetros extras que não estão documentados.
Endpoints que você usará para ancorar comentários de partidas
Estes são os endpoints de descoberta e escopo disponíveis na listagem. Use-os para encontrar a equipe, esporte e país/categoria certos antes de associar comentários em seu sistema.
1) Pesquisar
Pesquise entidades FlashScore (equipes, jogadores, torneios) por string de consulta.
- Método: GET
- URL: https://zylalabs.com/api/12518/flashscore-live-api/23852/search
- Parâmetro de consulta obrigatório: q
Exemplo (pesquisar por "real madrid"):
curl -s -X GET "https://zylalabs.com/api/12518/flashscore-live-api/23852/search?q=real+madrid" \
-H "Authorization: Bearer YOUR_API_KEY"
Resposta oficial de exemplo:
[{"id":"W8mj7MDD","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/E99TZ05n-ttfpEDUq.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"SlAdQJK4","type":"team","name":"Real Madrid U19","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/IgG3LUAK-xGwa4c2B.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"MP6gLUO7","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":3,"name":"Basketball"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/pn8TQOkQ-bXlcmj9T.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"2anA8FkF","type":"team","name":"Real Madrid U21","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/p048BCQt-SKpsUss3.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"4xlfVfnP","type":"team","name":"Real Madrid W","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Women","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/4CKmt8Rt-WpmKUEXD.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"fyNss8GQ","type":"team","name":"Real Madrid B","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/f5FO93Tc-ltKPQjEk.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"46uFRv4a","type":"team","name":"Real Madrid C","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/bupmbK6n-QkBtimSf.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"UiUgFWdq","type":"team","name":"Real Madrid U20","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flash…
Por que isso é importante para pipelines de comentários:
- Use id para identificar exclusivamente a equipe ou entidade.
- Use sport.id e sport.name para separar os contextos de comentários de futebol e basquete.
- Use gender e country_name para desambiguar elencos e configurações de ligas.
- Use image_path para elementos de UI ao lado de ticks de comentários.
2) Obter esportes
Retorna uma lista de todos os esportes disponíveis suportados.
- Método: GET
- URL: https://zylalabs.com/api/12518/flashscore-live-api/23853/get-sports
- Parâmetros: nenhum documentado
Exemplo:
Use isso para construir um seletor de esportes ou para validar que seu recurso de comentários está vinculado a um esporte suportado (por exemplo, Futebol, Tênis, Basquete). A resposta inclui sport_id, sport_url e name.
3) Obter países
Retorna uma lista de países para um esporte específico.
- Método: GET
- URL: https://zylalabs.com/api/12518/flashscore-live-api/23854/get-countries
- Parâmetro de consulta obrigatório: sport_id
Exemplo (tênis = 2):
A resposta retorna itens como agrupamentos ATP/WTA com country_id, country_url e name. Use esta lista para restringir suas fontes de comentários por família de competição (por exemplo, ATP - Singles vs WTA - Doubles), o que é crítico ao mapear comentários ao vivo para a chave ou torneio certo.
De ponta a ponta: resolvendo entidades antes de anexar comentários
- Obter esportes: Preencha seu seletor de esportes usando o endpoint get-sports. Armazene essa lista de forma agressiva; ela não muda com frequência.
- Escolha um esporte e liste países/categorias: Para o esporte selecionado, chame get-countries com sport_id para recuperar as categorias relevantes ou agrupamentos de países. Armazene isso por esporte, com uma atualização diária.
- Pesquise por uma equipe/jogador/torneio: Use o endpoint de pesquisa para resolver a entidade exata (por exemplo, “Real Madrid” → várias equipes, incluindo elencos femininos e juvenis). Apresente a desambiguação em sua UI.
- Anexe comentários ao vivo em seu sistema: Uma vez que você tenha selecionado o ID da entidade correta, use-o em seu modelo de dados interno para associar eventos de comentários à equipe/categoria certa. Os endpoints acima fornecem os identificadores e metadados que você precisa para evitar incompatibilidades.
Nota: Apenas os endpoints documentados acima estão cobertos aqui. Se você precisar de dados adicionais em nível de partida, consulte a página da API no Zyla API Hub para a interface atual e completa.
Código para copiar e colar: pesquisa a partir do Python
Este exemplo chama o endpoint de Pesquisa, filtra por type=team e imprime o id da equipe, nome, esporte e imagem.
import requests
API_KEY = "YOUR_API_KEY"
url = "https://zylalabs.com/api/12518/flashscore-live-api/23852/search"
params = {"q": "real madrid"}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, params=params, headers=headers, timeout=15)
resp.raise_for_status()
items = resp.json()
# Use id para vincular seus comentários à equipe certa
for it in items:
if it.get("type") == "team":
team_id = it.get("id")
name = it.get("name")
sport = (it.get("sport") or {}).get("name")
gender = it.get("gender")
country = it.get("country_name")
logo = it.get("image_path")
print(f"{team_id} | {name} | {sport} | {gender} | {country} | {logo}")
Você pode armazenar os campos id e url em seu banco de dados como chaves estrangeiras para atribuição de comentários e usar image_path para renderizar um emblema em sua interface de feed ao vivo.
Notas de campo que economizam tempo
- Autenticação: Sempre envie Authorization: Bearer YOUR_API_KEY. Não adicione outros campos de autenticação.
- Cache: Armazene em cache get-sports e get-countries por horas a dias. Mantenha os resultados da pesquisa em um cache de curta duração (minutos a horas) para minimizar buscas repetidas durante fluxos de trabalho editoriais ou de ingestão.
- Paginação: Nenhum parâmetro de paginação está documentado para os endpoints mostrados aqui. Se sua consulta retornar várias entidades, filtre do lado do cliente.
- Imagens: URLs de image_path e country_image_path são fornecidas nos resultados das entidades, úteis para elementos de UI ao lado de entradas de comentários.
- Cotas e preços: A Zyla usa assinatura + cota (não pagamento por chamada). Para esta API, você pode começar com um teste de 7 dias ou 50 solicitações. Verifique a listagem para as cotas e níveis atuais.
- Tratamento de erros: Um 401 geralmente indica um cabeçalho de Autorização ausente/inválido. Trate arrays vazios da pesquisa como “sem correspondências” e incentive os usuários a refinarem seus termos.
Casos de uso práticos
- Autocomplete de busca de partidas: À medida que os usuários digitam um nome de equipe, chame a pesquisa e vincule comentários ao ID escolhido.
- Feeds com escopo de competição: Use get-countries para um esporte dado para escopar feeds de comentários para ATP/WTA ou ligas nacionais.
- UI de ticker ao vivo: Resolva a equipe com a pesquisa, mostre image_path como o logotipo e transmita seus comentários ao lado.
- Ferramentas editoriais: Pré-preencha seletores de entidades por esporte e país/categoria para evitar erros de marcação de comentários.
Chamando a API a partir de agentes de IA via MCP
Se você automatizar operações de comentários (por exemplo, um assistente interno que marca equipes ou busca esportes suportados), pode conectar um cliente compatível com MCP ao endpoint MCP da Zyla.
- URL do servidor MCP: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
- Funciona com clientes que suportam MCP, incluindo agentes populares de IDE para desenvolvedores.
Configure seu cliente com sua chave de API da Zyla. Em seguida, emita as mesmas solicitações GET mostradas acima através do seu cliente MCP, usando as URLs de endpoint documentadas e o cabeçalho de Autorização. Veja a página MCP para detalhes de conexão.
Como integrar no Zyla API Hub
- Abra a página da API: Comece o teste de 7 dias na FlashScore - Live API
- Clique em Inscrever-se ou Começar Teste Grátis quando disponível. Você receberá uma única chave de API utilizável em toda a Zyla.
- Envie solicitações com Authorization: Bearer YOUR_API_KEY para os endpoints documentados.
- Armazene os IDs de entidades retornados pela Pesquisa e use get-sports/get-countries para manter seus comentários mapeados para escopos válidos.
Se você é novo no marketplace, explore outras APIs de esportes e jogos em zylalabs.com—uma conta e uma chave funcionam em todas as listagens.
FAQ
Como faço para autenticar solicitações?
Inclua o cabeçalho Authorization: Bearer YOUR_API_KEY em cada chamada.
Qual endpoint me ajuda a encontrar a equipe certa para meu comentário?
Use GET https://zylalabs.com/api/12518/flashscore-live-api/23852/search com q para resolver entidades como equipes e torneios. Persista o id retornado.
Como faço para escopar comentários a um esporte ou família de competições?
Chame GET https://zylalabs.com/api/12518/flashscore-live-api/23853/get-sports para escolher um esporte, depois GET https://zylalabs.com/api/12518/flashscore-live-api/23854/get-countries?sport_id=... para listar agrupamentos de países/categorias (por exemplo, ATP/WTA para Tênis).
Existem parâmetros de paginação ou extras?
Nenhum parâmetro adicional está documentado para os endpoints cobertos aqui. Filtre as respostas do lado do cliente conforme necessário.
Qual é o modelo de preços?
A Zyla usa assinatura + cota (não pagamento por chamada). Para esta API, você pode começar com um teste de 7 dias ou 50 solicitações. Verifique a página da API para opções de acesso e preços atuais.
Pronto para resolver entidades e conectar seu fluxo de trabalho de comentários? Inscreva-se na listagem e comece a chamar os endpoints hoje: FlashScore - Live API.
Resposta oficial da API
[{"id":"W8mj7MDD","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/E99TZ05n-ttfpEDUq.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"SlAdQJK4","type":"team","name":"Real Madrid U19","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/IgG3LUAK-xGwa4c2B.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"MP6gLUO7","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":3,"name":"Basketball"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/pn8TQOkQ-bXlcmj9T.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"2anA8FkF","type":"team","name":"Real Madrid U21","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/p048BCQt-SKpsUss3.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"4xlfVfnP","type":"team","name":"Real Madrid W","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Women","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/4CKmt8Rt-WpmKUEXD.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"fyNss8GQ","type":"team","name":"Real Madrid B","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/f5FO93Tc-ltKPQjEk.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"46uFRv4a","type":"team","name":"Real Madrid C","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/bupmbK6n-QkBtimSf.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"UiUgFWdq","type":"team","name":"Real Madrid U20","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flash…
Resposta oficial da API
[{"id":"W8mj7MDD","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/E99TZ05n-ttfpEDUq.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"SlAdQJK4","type":"team","name":"Real Madrid U19","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/IgG3LUAK-xGwa4c2B.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"MP6gLUO7","type":"team","name":"Real Madrid","url":"real-madrid","sport":{"id":3,"name":"Basketball"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/pn8TQOkQ-bXlcmj9T.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"2anA8FkF","type":"team","name":"Real Madrid U21","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/p048BCQt-SKpsUss3.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"4xlfVfnP","type":"team","name":"Real Madrid W","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Women","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/4CKmt8Rt-WpmKUEXD.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"fyNss8GQ","type":"team","name":"Real Madrid B","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/f5FO93Tc-ltKPQjEk.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"46uFRv4a","type":"team","name":"Real Madrid C","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/bupmbK6n-QkBtimSf.png","country_image_path":"https:\/\/static.flashscore.com\/res\/image\/data\/QFbOpTR6-GtJBBjyH.png"},{"id":"UiUgFWdq","type":"team","name":"Real Madrid U20","url":"real-madrid","sport":{"id":1,"name":"Soccer"},"gender":"Men","country_name":"Spain","image_path":"https:\/\/static.flash…