Publicado em 12 de março de 2026
Como Integrar Seu Backend com uma API Gratuita do Barcelona em 2026
Aprenda como integrar a API gratuita do FC Barcelona no seu backend em 2026. Exemplos em Node.js, Python e Go — busque dados de elenco, partidas e classificação sem chave de API.
Integração de Backend com a Barça API Gratuita
A Barça API foi projetada para ser consumida por qualquer cliente HTTP — seja um backend REST, um servidor GraphQL, uma função serverless ou um simples script. Este guia cobre padrões de integração para os ambientes mais comuns.
Sem chave de API. Sem cadastro. Completamente gratuito.
URL Base e Endpoints
URL Base: https://api.fc-barcelona.app
GET /api/squad — Elenco completo (filtro: ?position=GK|DF|MF|FW)
GET /api/player/:id — Jogador individual por ID
GET /api/next-match — Próxima partida agendada
GET /api/calendar — Calendário da temporada
GET /api/standings — Classificação da La Liga
GET /api/health — Health check
Todas as respostas são JSON. Sem headers de autenticação.
Integração com Node.js
Usando fetch nativo (Node 18+)
interface Player {
id: number;
name: string;
number: number;
position: 'GK' | 'DF' | 'MF' | 'FW';
nationality: string;
isCaptain: boolean;
}
async function getSquad(position?: string): Promise<Player[]> {
const url = new URL('https://api.fc-barcelona.app/api/squad');
if (position) url.searchParams.set('position', position);
const res = await fetch(url.toString());
if (!res.ok) throw new Error(`Erro da API: ${res.status}`);
const body = await res.json();
return body.data;
}
const atacantes = await getSquad('FW');
console.log(`${atacantes.length} atacantes encontrados`);
Integração com Python
import requests
from typing import Optional
BASE_URL = 'https://api.fc-barcelona.app'
def get_squad(position: Optional[str] = None) -> list[dict]:
params = {'position': position} if position else {}
response = requests.get(f'{BASE_URL}/api/squad', params=params, timeout=5)
response.raise_for_status()
return response.json()['data']
def get_standings() -> list[dict]:
response = requests.get(f'{BASE_URL}/api/standings', timeout=5)
response.raise_for_status()
return response.json()['data']
standings = get_standings()
print(f"Líder: {standings[0]['team']} com {standings[0]['points']} pontos")
Estratégia de Cache
Para uso em produção, adicione um cache simples para evitar requisições excessivas:
const CACHE_TTL = 60 * 60 * 1000; // 1 hora
const cache = new Map<string, { data: unknown; ts: number }>();
async function cachedFetch(url: string) {
const cached = cache.get(url);
if (cached && Date.now() - cached.ts < CACHE_TTL) {
return cached.data;
}
const res = await fetch(url);
const data = await res.json();
cache.set(url, { data, ts: Date.now() });
return data;
}
Explore Primeiro
Antes de escrever código de integração, use o terminal interativo para explorar o formato dos dados. Confira os docs completos da API para a referência completa de endpoints.