# SF Tennis documentation

Last updated: 2026-05-16

SF Tennis helps people find playable public tennis and pickleball courts in San Francisco and Mountain View. It pulls real slot-level availability from rec.us and overlays travel times.

## Quick links

- App: https://tennis.marvinaziz.de
- Public docs: https://tennis.marvinaziz.de/docs
- Integration guide: https://tennis.marvinaziz.de/llms.txt
- OpenAPI: https://tennis.marvinaziz.de/openapi.json
- API catalog: https://tennis.marvinaziz.de/.well-known/api-catalog
- Skill discovery: https://tennis.marvinaziz.de/.well-known/agent-skills/index.json
- GitHub repo: https://github.com/marvtub/sf-tennis
- Project page: https://marvinaziz.de/projects#sf-tennis-court-finder

## App workflow

1. Open the app.
2. Pick tennis or pickleball, then San Francisco or Mountain View.
3. Use the map pins or list view to find courts with slots today or later this week.
4. Enable location to compare walking and driving times.

## API workflow

Start with public read-only data. No credentials are required.

Useful public endpoints:

- GET /api/courts?sport=tennis&city=sf
- GET /api/courts?sport=pickleball&city=mountain-view
- GET /api/directions?origin=37.7599,-122.4148&locations=loc1:37.76,-122.43
- GET /api/health

Do not invent availability. If the public API fails, report that live availability could not be fetched.

## Example requests

### Find courts tonight

```text
Use SF Tennis at https://tennis.marvinaziz.de to find public tennis courts in San Francisco with open slots tonight. Start from https://tennis.marvinaziz.de/llms.txt, call the public courts API, prefer courts with availability today, and summarize the top options with location names, times, and any available weather context.
```

### Plan a pickleball session

```text
Use SF Tennis at https://tennis.marvinaziz.de to find pickleball availability in Mountain View this week. Filter for weekend slots, return a concise plan, and include the API URLs you used so I can verify the result.
```

### Compare nearby options

```text
Use SF Tennis at https://tennis.marvinaziz.de to compare tennis courts near my location. Use https://tennis.marvinaziz.de/api/courts for live slots and https://tennis.marvinaziz.de/api/directions for walking and driving estimates when coordinates are available.
```

## Screenshots

- https://tennis.marvinaziz.de/screenshots/map-overview.webp
- https://tennis.marvinaziz.de/screenshots/court-details.webp
- https://tennis.marvinaziz.de/screenshots/keyboard-search.webp

## Data notes

The rec.us bulk availability endpoint is not enough for this app because it reports theoretical schedule slots. SF Tennis fetches every court's per-site availability and caches the assembled response for a short period.
