Discover/Rec API
live

Rec APIrec.us

Access Rec.us organization profiles, location details, court availability, instructor schedules, and group lessons via 8 structured JSON endpoints.

Endpoint health
verified 6d ago
get_organization
get_location_detail
get_location_availability
get_instructors
get_sports
8/8 passing latest checkself-healing
Endpoints
8
Updated
13d ago

What is the Rec API?

The Rec.us API exposes 8 endpoints covering public reservation data from Rec.us organizations, including court availability, instructor lesson slots, group programs, and facility details. The get_location_availability endpoint returns open time slots per court across all locations in one call, with optional filters for sport, court name, and location. All responses are structured JSON with consistent IDs that chain across endpoints.

This call costs1 credit / call— charged only on success
Try it
URL slug of the organization (e.g. san-francisco-rec-park).
api.parse.bot/scraper/53ee12ed-bd2a-4e29-89e9-a6ecfca029dd/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/53ee12ed-bd2a-4e29-89e9-a6ecfca029dd/get_organization?organization_slug=san-francisco-rec-park' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 8 totalmissing one? ·

Retrieve organization details by slug, including configuration, tabs, banners, lesson restrictions, and facility rental settings. One API call returns the full organization profile.

Input
ParamTypeDescription
organization_slugrequiredstringURL slug of the organization (e.g. san-francisco-rec-park).
Response
{
  "type": "object",
  "fields": {
    "id": "string - organization UUID",
    "logo": "string - logo image URL",
    "name": "string - display name",
    "slug": "string - URL slug",
    "config": "object - organization configuration including tabs, banners, lessons restrictions",
    "fullLogo": "string - full logo image URL",
    "description": "string - short description",
    "displayName": "string - city/region display name",
    "activityOrCategoryOrder": "array - ordered list of activity/category IDs"
  },
  "sample": {
    "data": {
      "id": "17380e28-7e02-4b52-82c5-fab18557fd7a",
      "logo": "https://prod-rec-tech-img-bucket-8656aa2.s3.us-west-1.amazonaws.com/organization-17380e28-7e02-4b52-82c5-fab18557fd7a/detail.jpg",
      "name": "San Francisco Rec & Park",
      "slug": "san-francisco-rec-park",
      "config": {
        "tabs": {
          "coaching": {
            "order": 2
          },
          "programs": {
            "name": "Lesson Packs",
            "order": 3
          },
          "locations": {
            "name": "Court Reservations",
            "order": 1
          }
        }
      },
      "description": "Official SF organization - ",
      "displayName": "San Francisco",
      "activityOrCategoryOrder": []
    },
    "status": "success"
  }
}

About the Rec API

Organization and Location Data

Start with get_organization, which accepts an organization_slug (e.g. san-francisco-rec-park) and returns the full organization profile: UUID, logo URLs, display name, configuration object (tabs, banners, lesson restrictions), and an ordered list of activity/category IDs. get_locations then lists every published facility under that organization, each with coordinates (lat/lng), formatted_address, hours_of_operation, courts_count, and images. For a single facility, get_location_detail adds the courts array — including per-court pricing, available_slots, and allowed_durations — alongside play_guidelines (markdown-formatted reservation rules), access_info, getting_there_info, and default_reservation_window in days.

Court Availability

get_location_availability is the primary availability endpoint. It accepts organization_slug and optional filters: location_id (UUID), location_name (case-insensitive substring), sport (e.g. pickleball, tennis, badminton), and court_name (exact match). The response returns one entry per court with allowed_durations_minutes, pricing, and the available time slots for the booking window. Omitting the location filters returns availability across every facility in the organization simultaneously.

Instructors and Lessons

get_instructors returns all instructors for an organization with full_name, short_description, certifications, tags, per-sport hourly_rate, and upcoming available lesson slots. get_open_lessons narrows to bookable 1-on-1 slots and accepts filters for sport, instructor_id, and date (ISO YYYY-MM-DD). Each slot includes instructor_name, sport_name, hourly_rate, and start_time. For group programs, get_group_lessons covers sessions in the next 90 days, returning capacity, spots_remaining, recommended_level, instructor_names, and the session schedule. Both lesson endpoints accept a sport filter.

Sports Catalog

get_sports returns a global catalog of all sport and activity types on the platform — each with id, name, and description. These IDs correspond to the sport associations on courts, instructors, and group lessons, making it straightforward to map sport names to IDs when building filters for other endpoints.

Reliability & maintenanceVerified

The Rec API is a managed, monitored endpoint for rec.us — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rec.us changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official rec.us API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a court-finder app that shows open pickleball or tennis slots near a user's location using get_location_availability filtered by sport.
  • Display a facility directory with addresses, hours, and court counts pulled from get_locations for a given city parks organization.
  • List available private lesson instructors with their hourly rates and certifications via get_instructors for a rec center booking widget.
  • Monitor remaining capacity for group programs using spots_remaining from get_group_lessons to surface classes that are nearly full.
  • Aggregate upcoming 1-on-1 lesson slots by instructor using get_open_lessons filtered by instructor_id for a coach's personal scheduling page.
  • Cross-reference the get_sports catalog with instructor sport associations to categorize and filter coaching staff by discipline.
  • Pull court-level booking rules and access instructions from get_location_detail to populate a pre-visit information page.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Rec.us have an official developer API?+
Rec.us does not publish a public developer API or documented REST interface. This Parse API provides structured access to public reservation and facility data from the Rec.us platform.
What does `get_location_availability` return and how can I filter it?+
get_location_availability returns one entry per court with available time slots, pricing, and allowed reservation durations. You can narrow results with four optional parameters: location_id (exact UUID match), location_name (case-insensitive substring), sport (e.g. tennis or pickleball), and court_name (exact match). Omitting all filters returns availability across every location in the organization.
Does the API cover booking history or confirmed reservations for a user?+
No. The API covers public availability and program data: open court slots, instructor profiles, group lesson schedules, and facility details. User-specific booking history and confirmed reservations are not exposed. You can fork this API on Parse and revise it to add any endpoint that surfaces publicly accessible booking data.
How far ahead does court availability data extend?+
get_location_detail includes a default_reservation_window field per location that specifies how many days in advance reservations open. Availability slots returned by get_location_availability reflect that window. The exact window varies by organization and location.
Does the API cover organizations outside the United States?+
Coverage is limited to organizations listed on Rec.us, which is primarily US-based. Location records include IANA timezone strings and geocoordinates, but international organizations are not currently present in the platform's data. You can fork this API on Parse and revise it to add support for additional platforms or regional recreation networks.
Page content last updated . Spec covers 8 endpoints from rec.us.
Related APIs in SportsSee all →
playtomic.com API
Search and explore sports clubs on Playtomic. Find clubs by name or location, retrieve court details and opening hours, check real-time slot availability, and calculate court utilization across multiple days.
volosports.com API
Browse and discover sports programs, drop-in slots, leagues, and venues available on Volo Sports, with the ability to filter by city, sport, and program type to find activities that match your interests. Get detailed information about specific drop-in sessions, leagues, and venues to help you decide where and when to play.
classforkids.io API
Search and explore kids clubs, classes, camps, and activities across the UK by location or club name. Access schedules, pricing, availability, and direct booking links, with detailed information for each club all in one place.
teeoff.com API
Find and book golf tee times across courses worldwide, compare pricing and availability, read detailed course reviews, and discover new golf destinations. Get real-time access to course information, current deals, flash sales, and locate nearby courses with a single search.
reservation.pc.gc.ca API
Access real-time campground availability and reservation data from the Parks Canada booking system. Search locations, retrieve available campsites and cabins, filter by equipment type, and review operating date schedules across the national park network. Includes detailed resource metadata and map-based availability overviews.
nycgovparks.org API
Access events, park locations, and programs across New York City's parks system. Search and filter events by category, retrieve detailed event and park information, and explore recreation programs offered by the NYC Department of Parks & Recreation.
recovery.com API
Search for recovery centers across the country, browse available locations, and access detailed information about specific facilities including services, reviews, and contact details on Recovery.com. Find the right treatment center by location or search criteria to compare options and make informed decisions about recovery resources.
crex.com API
Get live cricket scores, detailed scorecards, ball-by-ball commentary, tournament fixtures, ICC rankings, and the latest cricket news in real-time. Access match information across teams, players, and formats with reliable, low-latency data.