API Documentation

Access women's sports event data through our public API. Build apps, integrations, and experiences that help fans discover women's sports.

Quick Start

Try the API right now - no authentication required for basic usage:

curl "https://watchwomenssports.com/api/teams/search?q=chicago"

Authentication

The API supports both anonymous and authenticated access. Anonymous requests are rate-limited to 100 requests per day. For higher limits, create an API key.

Using an API Key

Pass your API key via the X-API-Key header (recommended) or the api_key query parameter:

curl -H "X-API-Key: YOUR_API_KEY" "https://watchwomenssports.com/api/teams/search?q=sky"

For calendar feed URLs that need to work in calendar apps, use the query parameter:

https://watchwomenssports.com/api/city/chicago-il/calendar.ics?api_key=YOUR_API_KEY

Getting an API Key

Sign in to your account, then create an API key from your dashboard. Keys are free and give you 1,000 requests per day.

Rate Limits

Rate limits reset daily at midnight UTC. All responses include rate limit headers:

HeaderDescription
X-RateLimit-LimitYour daily request limit
X-RateLimit-RemainingRequests remaining today
X-RateLimit-ResetUnix timestamp when limit resets
X-RateLimit-TierYour current tier (anonymous, free, basic, premium)

Tier Limits

TierDaily LimitRequirements
Anonymous100No API key required
Free1,000Free account + API key
Basic10,000Contact us
Premium100,000Contact us

Endpoints

GET/api/eventsRecommended

Search events with flexible filters. The most versatile endpoint for querying events.

Query Parameters:

  • start - Start date (YYYY-MM-DD) *required
  • end - End date (YYYY-MM-DD) *required
  • city - City slug (e.g., "chicago-il")
  • sport - Sport slug (e.g., "basketball", "soccer")
  • league - League slug (e.g., "wnba", "nwsl")
  • level - Level slug (e.g., "pro", "college")
  • limit - Max results (default: 100, max: 500)
GET /api/events?start=2024-06-01&end=2024-06-30&sport=basketball&level=pro
GET/api/city/{city-slug}/events

Get events for a city within a date range.

Query Parameters:

  • start - Start date (YYYY-MM-DD) *required
  • end - End date (YYYY-MM-DD) *required
GET /api/city/chicago-il/events?start=2024-06-01&end=2024-06-07
GET/api/city/{city-slug}/export

Export city events as JSON or CSV.

Query Parameters:

  • format - json or csv (default: json)
  • sport - Filter by sport slug
  • level - Filter by level (professional, college)
GET/api/city/{city-slug}/calendar.ics

Subscribable iCal calendar feed. Add to Google Calendar, Apple Calendar, or Outlook.

Query Parameters:

  • sport - Filter by sport slug
  • league - Filter by league slug
  • range - 7d, 30d, or 90d (default: 30d)
GET/api/venue/{venue-slug}/export

Export events for a specific venue (past 30 to next 30 days).

GET/api/events/{event-id}/calendar.ics

Download iCal file for a single event. Use for "Add to Calendar" buttons.

GET/api/teams/search

Search for women's sports teams by name.

Query Parameters:

  • q - Search query (min 2 characters) *required
  • limit - Max results (default: 20, max: 100)
GET/api/location/nearest-city

Find the nearest city with events based on coordinates (150 mile radius).

Query Parameters:

  • lat - Latitude *required
  • lng - Longitude *required

Reference Endpoints

Use these endpoints to discover valid filter values for the events API.

GET/api/sports

List all available sports. Use the slug values as the sport filter in /api/events.

GET/api/leagues

List all leagues with their associated sport. Use the slug values as the league filter in /api/events.

GET/api/levels

List all competition levels (e.g., professional, college). Use the slug values as the level filter in /api/events.

GET/api/cities

List all cities with women's sports venues. Use the slug values as the city filter in /api/events.

Query Parameters:

  • with_events - If true, only cities with upcoming events (includes event count)

Response Format

All JSON responses follow a consistent format. Here's an example event object:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Chicago Sky vs. Las Vegas Aces",
  "slug": "chicago-sky-vs-las-vegas-aces-2024-06-01",
  "event_date": "2024-06-01T19:00:00Z",
  "status": "scheduled",
  "level": "professional",
  "sport": {
    "name": "Basketball",
    "slug": "basketball"
  },
  "venue": {
    "name": "Wintrust Arena",
    "city": "Chicago",
    "state": "IL"
  },
  "league": {
    "name": "WNBA",
    "slug": "wnba"
  }
}

Errors

The API uses standard HTTP status codes:

CodeDescription
200Success
400Bad request - invalid parameters
401Unauthorized - invalid API key
404Not found - resource doesn't exist
429Rate limit exceeded

OpenAPI Specification

Download the full OpenAPI 3.0 specification for use with Swagger UI, Postman, or code generators:

Download OpenAPI Spec

Questions or Need Higher Limits?

We'd love to hear what you're building! Reach out if you need higher rate limits or have questions about the API.

Contact Us