FC Barcelona APIfcbarcelona.com ↗
Access FC Barcelona news articles, squad rosters, match fixtures, results, and competition data via 9 structured API endpoints from fcbarcelona.com.
What is the FC Barcelona API?
The FC Barcelona API exposes 9 endpoints covering official content from fcbarcelona.com, including paginated news articles, full squad rosters for both the men's and women's teams, match fixtures, and completed results. The get_latest_news endpoint returns article objects with title, description, date, tags, HTML body, author, and lead media. Competition season IDs from get_competitions connect directly to the schedule and results filtering parameters.
curl -X GET 'https://api.parse.bot/scraper/c708a2c7-03fb-400b-9fa6-1d6559b28cf7/get_latest_news?limit=5&offset=0&category=club' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace fcbarcelona-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.fc_barcelona_official_api import FCBarcelona, SearchContentType, Category, ContentItem, Article, Player, Competition, Fixture
fcb = FCBarcelona()
# Search for content about a player
for item in fcb.contentitems.search(query="Pedri", content_type=SearchContentType.TEXT):
print(item.title, item.date, item.content_type)
break
# List latest news articles filtered by category
for article in fcb.articles.list(category=Category.FIRST_TEAM):
print(article.title, article.date, article.author)
break
# Get a specific article by ID
detail = fcb.articles.get(article_id="4516730")
print(detail.title, detail.author)
# List first team squad
for player in fcb.players.list_first_team():
print(player.known_name, player.position)
break
# Get player profile
profile = fcb.playerprofiles.get(player_id="141411")
print(profile.bio, profile.stats)
# List competitions
for comp in fcb.competitions.list():
print(comp.abbreviation, comp.description)
break
# List recent match results
for fixture in fcb.fixtures.list_results():
print(fixture.id, fixture.status, fixture.outcome)
break
Retrieve the latest news articles from FC Barcelona. Returns paginated content with article summaries including title, description, date, tags, and full body HTML. Supports filtering by category tag. Pagination via offset/limit against the full article catalog.
| Param | Type | Description |
|---|---|---|
| limit | integer | Max results to return per page. |
| offset | integer | Pagination offset (0-based index of first result). |
| category | string | Category filter slug appended to content-category- tag. Omitting returns all news categories. |
{
"type": "object",
"fields": {
"content": "array of news article objects with id, title, description, date, tags, body, author, leadMedia",
"pageInfo": "object with page, numPages, pageSize, numEntries pagination metadata"
},
"sample": {
"data": {
"content": [
{
"id": 4516730,
"date": "2026-06-09T21:26:00Z",
"tags": [
{
"id": 2610,
"label": "content-category-first-team"
}
],
"title": "Movistar Inter 5-6 Barça: Into the final",
"author": "www.fcbarcelona.com",
"description": "The blaugranes book their place in the league play off final with a win in extra time"
}
],
"pageInfo": {
"page": 0,
"numPages": 0,
"pageSize": 5,
"numEntries": 0
}
},
"status": "success"
}
}About the FC Barcelona API
News and Content
get_latest_news returns paginated article objects with fields including id, title, description, date, tags, body (HTML), author, and leadMedia. The optional category parameter accepts a slug that filters by content category — omitting it returns all categories. pageInfo provides page, numPages, pageSize, and numEntries for cursor navigation. To retrieve the full content of a specific article, pass its numeric id to get_news_article, which returns the complete HTML body alongside leadMedia image URLs and dimensions. The search endpoint accepts a query string and an optional type filter, returning results sorted by timestamp descending with id, contentType, title, description, imageUrl, and a total count for pagination planning.
Squad Rosters
get_first_team_squad returns the full men's first-team roster as an array of player objects, each with knownName, position, shirt number in metadata, headshot, and a references array that contains the FOOTBALL_PERSON ID needed for get_player_profile. The women's team equivalent is get_women_team_squad, which returns the same bio structure. get_player_profile accepts a player_id and returns a bio object with biography content and a stats object containing name/value pairs for appearances, goals, and assists — or null when career statistics are unavailable for that player.
Fixtures, Results, and Competitions
get_first_team_schedule returns upcoming fixtures with teams, kickoff (epoch millis and formatted label), ground (name and city), and status. get_first_team_results returns completed matches including goals, outcome, attendance, and matchOfficials. Both endpoints accept an optional comp_seasons parameter — a comma-separated list of season IDs sourced from get_competitions. get_competitions enumerates available competitions, each with an abbreviation, description, level, and a compSeasons array whose id values drive the filtering in the fixture and result endpoints.
The FC Barcelona API is a managed, monitored endpoint for fcbarcelona.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when fcbarcelona.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official fcbarcelona.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a match-day dashboard that pulls live kickoff times and venue data from
get_first_team_schedule - Aggregate post-match stats — goals, attendance, and officials — from
get_first_team_resultsinto a season summary - Populate a player card UI with headshots, position, shirt number, and career stats via
get_player_profile - Index the full news catalog with category-filtered calls to
get_latest_newsfor a Barça content aggregator - Drive a keyword search feature across articles, videos, and photos using the
searchendpoint'stypeandqueryparameters - Compare men's and women's squad depth by pulling both
get_first_team_squadandget_women_team_squadrosters side by side - Filter fixtures and results by a specific competition season using IDs from
get_competitions
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does FC Barcelona have an official developer API?+
How do I filter fixtures or results to a specific competition, like the Champions League?+
get_competitions first. Each competition object contains a compSeasons array; use the id values from that array as the comp_seasons parameter when calling get_first_team_schedule or get_first_team_results. Omitting the parameter returns fixtures and results across all available competitions.What does `get_player_profile` return when career stats are not available?+
stats field in the response is explicitly null for players whose statistics are unavailable. The bio object — containing knownName, position, headshot, and bio HTML — is still returned. Plan for null-checks on stats before accessing name/value pairs.Does the API cover academy or reserve team squads?+
get_first_team_squad) and the women's team (get_women_team_squad). You can fork this API on Parse and revise it to add endpoints for academy or reserve squad rosters.Does `get_first_team_schedule` return results for past matches?+
get_first_team_schedule returns only fixtures with status U (upcoming), and may return an empty content array during the off-season. Completed matches with status C are available through get_first_team_results, which includes scores, goals, and attendance.