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.