> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bayse.markets/llms.txt
> Use this file to discover all available pages before exploring further.

# List sports teams

> Get a paginated list of sports teams, optionally filtered by league or sport

## Authentication

Public — no authentication required.

## Query parameters

<ParamField query="league" type="string">
  Filter by league key (e.g., "England - Premier League", "Spain - La Liga").
</ParamField>

<ParamField query="sport" type="string">
  Filter by sport (e.g., "soccer", "basketball").
</ParamField>

<ParamField query="page" type="integer" default="1">
  Page number.
</ParamField>

<ParamField query="size" type="integer" default="50">
  Results per page (max 100).
</ParamField>

## Example request

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://relay.bayse.markets/v1/pm/sports/teams?league=epl&page=1&size=20"
  ```

  ```javascript Node.js theme={null}
  const params = new URLSearchParams({
    league: 'England - Premier League',
    page: 1,
    size: 20,
  });
  const response = await fetch(
    `https://relay.bayse.markets/v1/pm/sports/teams?${params}`
  );
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  resp = requests.get(
      'https://relay.bayse.markets/v1/pm/sports/teams',
      params={'league': 'epl', 'page': 1, 'size': 20},
  )
  data = resp.json()
  ```

  ```go Go theme={null}
  req, _ := http.NewRequest("GET", "https://relay.bayse.markets/v1/pm/sports/teams", nil)
  q := req.URL.Query()
  q.Add("league", "epl")
  q.Add("page", "1")
  q.Add("size", "20")
  req.URL.RawQuery = q.Encode()
  resp, _ := http.DefaultClient.Do(req)
  defer resp.Body.Close()
  var data interface{}
  json.NewDecoder(resp.Body).Decode(&data)
  ```
</CodeGroup>

## Response

<ResponseField name="teams" type="array[object]" required>
  Array of teams matching the filter criteria.

  <Expandable>
    <ResponseField name="id" type="uuid" required>
      Unique identifier for the team.
    </ResponseField>

    <ResponseField name="sport" type="string" required>
      Sport type (e.g., "soccer", "basketball").
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Full team name.
    </ResponseField>

    <ResponseField name="slug" type="string" required>
      URL-friendly team identifier.
    </ResponseField>

    <ResponseField name="shortCode" type="string" required>
      Team short code.
    </ResponseField>

    <ResponseField name="league" type="string" required>
      League name.
    </ResponseField>

    <ResponseField name="imageUrl" type="string">
      URL to team logo (if available).
    </ResponseField>

    <ResponseField name="isPopular" type="boolean" required>
      Whether this is a popular/featured team.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object" required>
  Pagination information.

  <Expandable>
    <ResponseField name="page" type="integer" required>
      Current page number.
    </ResponseField>

    <ResponseField name="size" type="integer" required>
      Results per page.
    </ResponseField>

    <ResponseField name="totalCount" type="integer" required>
      Total number of teams matching the filter.
    </ResponseField>

    <ResponseField name="lastPage" type="integer" required>
      Last available page number.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "teams": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "sport": "soccer",
        "name": "Arsenal FC",
        "slug": "bm-arsenal-fc",
        "shortCode": "ARS",
        "league": "England - Premier League",
        "imageUrl": "https://assets.bayse.markets/teams/arsenal.png",
        "isPopular": true
      },
      {
        "id": "223e4567-e89b-12d3-a456-426614174001",
        "sport": "soccer",
        "name": "Manchester City",
        "slug": "bm-manchester-city-fc",
        "shortCode": "MCI",
        "league": "England - Premier League",
        "imageUrl": "https://assets.bayse.markets/teams/manchester-city.png",
        "isPopular": true
      },
      {
        "id": "323e4567-e89b-12d3-a456-426614174002",
        "sport": "soccer",
        "name": "Liverpool FC",
        "slug": "bm-liverpool-fc",
        "shortCode": "LIV",
        "league": "England - Premier League",
        "imageUrl": "https://assets.bayse.markets/teams/liverpool.png",
        "isPopular": true
      }
    ],
    "pagination": {
      "page": 1,
      "size": 20,
      "totalCount": 120,
      "lastPage": 6
    }
  }
  ```
</ResponseExample>
