---
title: "A club page: booking link, courts, today's free courts from the club's own feed or read from its booking platform's public page (see freeCourts.source)"
method: GET
path: "/api/v1/clubs/{slug}"
tags: ["clubs"]
---

# A club page: booking link, courts, today's free courts from the club's own feed or read from its booking platform's public page (see freeCourts.source)

`GET /api/v1/clubs/{slug}`

## Request

- Base URL: `https://kicksma.sh`
- URL: `https://kicksma.sh/api/v1/clubs/{slug}`
- Auth: none declared

## Path parameters

- `slug` string, required

## Response `200`

The club

- Club
  - `slug` string
  - `name` string
  - `url` string
  - `city` string, nullable
  - `country` string, nullable: ISO 3166-1 alpha-2
  - `province` string, nullable: The place as the club named it
  - `mapUrl` string, nullable
  - `website` string, nullable
  - `booking` object, nullable
    - `url` string
    - `platform` string, nullable: playtomic, matchi, playbypoint, … or null for the club's own page
    - `platformName` string, nullable
  - `courts` integer, nullable
  - `courtsIndoor` integer, nullable: Indoor courts of the total; null when the club has not said, 0 when none
  - `courtsOutdoor` integer, nullable
  - `courtNames` string[]: The courts by name, as the club listed them; empty until it does
  - `about` string, nullable
  - `founding` boolean
  - `freeCourts` object, nullable: Today's free courts still to come, in the club's zone; null when there is nothing current to say (no feed and no recent read, or the read failed or is more than two hours old). From the club's own feed (source club), or read from its booking platform's public page (source platform), up to every 15 minutes. free is the number of courts free for the whole slot; a platform's slots never overlap. Times read from a platform are not under the CC BY 4.0 licence.
    - `day` string
    - `tz` string
    - `fetchedAt` string
    - `source` 'club' | 'platform': club: a feed the club shares; platform: read from the booking platform's public page
    - `platform` string, nullable: The platform read, as in booking.platform (playtomic, matchi, …); null for a club's own feed
    - `slots` object[]
      - `start` string
      - `end` string
      - `free` integer
  - `boardUrl` string
  - `rankingUrl` string
  - `calendarUrl` string

## Other responses

- `404`: No live club page

---

[API](https://skmtc.dev/kicksma/apis/kicksmash-api.md) · [All operations](https://skmtc.dev/kicksma/apis/kicksmash-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kicksma/apis/kicksmash-api/revisions/8ae952aa0f19?raw)
