Barça API
BlogCómo Integrar tu Backend con una API Gratuita del Barcelona en 2026

Publicado el 12 de marzo de 2026

Cómo Integrar tu Backend con una API Gratuita del Barcelona en 2026

Aprende cómo integrar la API gratuita del FC Barcelona en tu backend en 2026. Ejemplos en Node.js, Python y Go — obtén datos de plantilla, partidos y clasificación sin clave de API.


Integración de Backend con la Barça API Gratuita

La Barça API está diseñada para ser consumida por cualquier cliente HTTP — ya sea un backend REST, un servidor GraphQL, una función serverless o un simple script. Esta guía cubre patrones de integración para los entornos más comunes.

Sin clave de API. Sin registro. Completamente gratis.

URL Base y Endpoints

URL Base: https://api.fc-barcelona.app

GET /api/squad              — Plantilla completa (filtro: ?position=GK|DF|MF|FW)
GET /api/player/:id         — Jugador individual por ID
GET /api/next-match         — Próximo partido programado
GET /api/calendar           — Calendario de la temporada
GET /api/standings          — Clasificación de La Liga
GET /api/health             — Health check

Todas las respuestas son JSON. Sin cabeceras de autenticación.

Integración con Node.js

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(`Error de API: ${res.status}`);

  const body = await res.json();
  return body.data;
}

const delanteros = await getSquad('FW');
console.log(`${delanteros.length} delanteros encontrados`);

Integración con 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']

standings = requests.get(f'{BASE_URL}/api/standings', timeout=5).json()['data']
print(f"Líder: {standings[0]['team']} con {standings[0]['points']} puntos")

Estrategia de Caché

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;
}

Explora Primero

Antes de escribir código de integración, usa el terminal interactivo para explorar el formato de los datos. Consulta los docs completos de la API para la referencia completa de endpoints.

Volver al blog