# Besoccer — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access comprehensive football data to discover team profiles, player rosters, match results, upcoming fixtures, and league standings across competitions. Search for specific teams and competitions to build your own soccer analytics, fantasy league tools, or sports tracking applications.

**Category:** Sports | **Website:** [www.besoccer.com/](https://www.besoccer.com/) | **Docs:** [parse.bot/marketplace/54c37464-222a-4d57-81af-ac1b6476a0b2/besoccer-com-api](https://parse.bot/marketplace/54c37464-222a-4d57-81af-ac1b6476a0b2/besoccer-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-besoccer-com-api-54c37464/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_fixtures

Get fixtures (upcoming and recent matches) for a team. Returns all matches for the current or specified season with dates, opponents, competition info, and match IDs usable with get_match.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `season` | string | No | Season year filter (e.g. '2026' for the 2025-26 season, '2027' for 2026-27). When omitted, returns the current season. |
| `team_id` | string | Yes | Team slug identifier (e.g. 'barcelona', 'real-madrid'). Obtainable from search_teams or get_standings. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-besoccer-com-api-54c37464/get_fixtures \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"season":"<string>","team_id":"<string>"}'
```

### get_match

Get details for a specific match including teams, score, date, status, and competition. The match_id is a path in format 'home-slug/away-slug/numeric-id', obtainable from get_fixtures results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `match_id` | string | Yes | Match path identifier in format 'home-slug/away-slug/numeric-id' (e.g. 'ca-boca-juniors/ca-velez-sarsfield/2026239823'). Obtainable from get_fixtures results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-besoccer-com-api-54c37464/get_match \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"match_id":"<string>"}'
```

### get_standings

Get league standings/table for a competition. Returns the full table with position, team name, matches played, wins, draws, losses, goals for/against, goal difference, and points.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `competition_id` | string | Yes | Competition slug identifier (e.g. 'primera_division', 'premier_league', 'serie_a_brazil'). Obtainable from search_competitions or competition links on the site. |
| `season` | string | No | Season year filter (e.g. '2026' for 2025-26 season). When omitted, returns the current season standings. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-besoccer-com-api-54c37464/get_standings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"competition_id":"<string>","season":"<string>"}'
```

### get_team_profile

Get detailed profile information for a team including name, league, stadium, and coach. The team_id is a URL slug obtainable from search_teams results or standings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `team_id` | string | Yes | Team slug identifier (e.g. 'barcelona', 'real-madrid', 'athletic-bilbao'). Obtainable from search_teams, get_standings, or get_fixtures results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-besoccer-com-api-54c37464/get_team_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"team_id":"<string>"}'
```

### get_team_squad

Get the current squad/roster for a team. Returns all first-team players with their position, age, and nationality code.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `team_id` | string | Yes | Team slug identifier (e.g. 'barcelona', 'real-madrid'). Obtainable from search_teams or get_standings. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-besoccer-com-api-54c37464/get_team_squad \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"team_id":"<string>"}'
```

### search_competitions

Search for football competitions/leagues by name. Returns competitions from BeSoccer's search index with their slug ID, name, and country.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query for competition name (e.g. 'liga', 'premier', 'champions'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-besoccer-com-api-54c37464/search_competitions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

### search_teams

Search for football teams by name. Returns teams from BeSoccer's search index with their slug ID, name, league, and country. Results come from the server-rendered search page and may not include the most obvious/popular matches which require client-side rendering.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search query for team name (e.g. 'barcelona', 'manchester'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-besoccer-com-api-54c37464/search_teams \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```
