Barça API
BlogFC Barcelona Match Schedule API — Free Access 2026

Published on March 6, 2026

FC Barcelona Match Schedule API — Free Access 2026

Get FC Barcelona's full match schedule and next game details for free via REST API in 2026. Access match dates, venues, competitions, and scores with no API key required.


Barcelona's Match Calendar Through an API

Keeping track of FC Barcelona's fixtures across La Liga, Copa del Rey, and European competitions can be a challenge. The Barça API solves this with two dedicated endpoints: one for the next upcoming match, and another for the complete season calendar.

Both are free and require no authentication.

Next Match Endpoint

Get instant details about Barcelona's next scheduled game:

GET /api/next-match

Example response:

{
  "data": {
    "id": 15,
    "homeTeam": "FC Barcelona",
    "awayTeam": "Real Madrid",
    "matchDate": "2026-03-22T21:00:00Z",
    "venue": "Spotify Camp Nou",
    "competition": "La Liga",
    "matchday": 29,
    "status": "scheduled"
  }
}

This is exactly what you need to power a match countdown timer, a "next game" widget, or a notification system.

Full Calendar Endpoint

Get all matches for the season:

GET /api/calendar

The response includes every scheduled and completed match with dates, scores (for past matches), venues, and competition names. It supports pagination so you can page through the full fixture list:

GET /api/calendar?page=1&limit=10

Match Data Fields

Field Type Description
homeTeam string Home team name
awayTeam string Away team name
matchDate ISO 8601 Match date and time (UTC)
venue string Stadium name
competition string Competition name
matchday number Round/matchday number
status string scheduled or completed
homeScore number? Home goals (completed only)
awayScore number? Away goals (completed only)

Building a Countdown Timer

The matchDate field is an ISO 8601 timestamp that you can use directly with JavaScript's Date object to build a live countdown:

const response = await fetch('https://api.fc-barcelona.app/api/next-match');
const { data } = await response.json();

const matchDate = new Date(data.matchDate);
const now = new Date();
const diff = matchDate - now;

const days = Math.floor(diff / (1000 * 60 * 60 * 24));
const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));

console.log(`Next match in ${days} days and ${hours} hours`);

Interactive Preview

The interactive terminal has a built-in /next-match command that shows the upcoming fixture with a live countdown. Try it out — no code needed.

Full Documentation

Check the API docs for the complete field reference, pagination parameters, and filtering options for the calendar endpoint.

Back to blog