Discover/TeeOff API
live

TeeOff APIteeoff.com

Search golf tee times, course details, reviews, deals, and nearby facilities via the TeeOff.com API. 10 endpoints covering availability, pricing, and destinations.

Endpoint health
verified 6d ago
search_tee_times
get_course_details
get_course_reviews
search_deal_times
get_courses_near_me
8/8 passing latest checkself-healing
Endpoints
10
Updated
22d ago

What is the TeeOff API?

The TeeOff.com API provides 10 endpoints for querying golf tee time availability, course details, reviews, and deals from TeeOff.com. The search_tee_times endpoint returns paginated facility results with live pricing and availability filtered by location, date, number of holes, and player count. Companion endpoints cover discounted deals, flash daily promotions, course scorecards, and golfer reviews.

Try it
Search text (course name, city, or postal code)
api.parse.bot/scraper/4c2fdb6d-ae35-42fa-abab-5fd559e72ce0/<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 POST 'https://api.parse.bot/scraper/4c2fdb6d-ae35-42fa-abab-5fd559e72ce0/autocomplete_location' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "query": "Orlando"
}'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace teeoff-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""TeeOff Golf SDK — search courses, find deals, browse tee times."""
from parse_apis.teeoff_golf_tee_times_api import TeeOff, CourseNotFound

client = TeeOff()

# Search for golf courses with available tee times in Orlando
for facility in client.facilities.search(location="Orlando", limit=3):
    print(facility.name, facility.min_price, facility.formatted_distance)

# Browse tee times for a specific facility
facility = client.facilities.search(location="Orlando", limit=1).first()
if facility:
    for tt in facility.tee_times.list(limit=3):
        print(f"  {tt.formatted_time} - ${tt.min_tee_time_rate}")

# Get detailed course info and read reviews
try:
    course = client.courses.get(course_id="1028365")
    print(course.name, course.description)
    for box in course.tee_boxes:
        print(f"  {box.tee}: par {box.par}, {box.length}, slope {box.slope}")
    for review in course.reviews.list(limit=3):
        print(f"  ★{review.rating} by {review.user_nickname}: {review.title}")
except CourseNotFound as exc:
    print(f"Course not found: {exc}")

# Autocomplete location search
for loc in client.locations.search(query="Pebble Beach", limit=3):
    print(loc.name, loc.display_name)

print("exercised: facilities.search / tee_times.list / courses.get / reviews.list / locations.search")
All endpoints · 10 totalmissing one? ·

Autocomplete search for course name, city, or postal code. Returns matching locations with geographic coordinates, address information, and type classification. Use the geo coordinates from results to feed into search_tee_times or get_courses_near_me.

Input
ParamTypeDescription
queryrequiredstringSearch text (course name, city, or postal code)
Response
{
  "type": "object",
  "fields": {
    "hits": "array of location objects with name, type, geo coordinates, and address information",
    "count": "integer total number of matching results"
  },
  "sample": {
    "data": {
      "hits": [
        {
          "id": "677f13e0600104d3141edacf",
          "geo": {
            "lat": 28.452773,
            "lon": -81.478124
          },
          "name": "Club Champion Orlando",
          "type": "course",
          "displayName": "Club Champion Orlando, Orlando, Florida, US"
        }
      ],
      "count": 31
    },
    "status": "success"
  }
}

About the TeeOff API

Tee Time Search and Availability

The search_tee_times endpoint accepts either a plain location string (resolved automatically to coordinates) or explicit lat/lng values, along with optional filters for date (MM/DD/YYYY), holes, players, and radius in miles. Responses include a ttResults object containing a facilities array where each facility carries its available tee times and per-golfer pricing. The get_all_tee_times_for_facility endpoint narrows this to a single facility identified by facility_id, returning every available slot for that day. For booking-page details — cart_included, price_per_golfer, and the exact time — use get_tee_time_details with a facility_id and tee_time_id from search results.

Deals and Promotions

search_deal_times filters results to DEAL Times only — discounted tee times near a given location. search_flash_daily_deals targets promoted campaign offers in the same geographic area; note that this endpoint may return zero results if no active campaigns exist for the requested location and date. Both return the same ttResults shape as the general search endpoint, making it straightforward to switch between them.

Course Details and Reviews

get_course_details returns structured course data for a given course_id (the reviewId from search results): tee_boxes with par, length, rating, and slope per box; a description string; quick_facts as key-value pairs; and a course_stats object with holes, par, and total length. get_course_reviews returns paginated golfer reviews via the Bazaarvoice system, with each review carrying a rating, review text, and submission time. Pagination uses limit and offset parameters.

Location Utilities and Destinations

autocomplete_location accepts a partial course name, city, or postal code and returns matching hits with geographic coordinates — useful for resolving a human-readable query into lat/lng values before calling get_courses_near_me. list_destinations returns the top golf destinations featured on TeeOff.com, including each destination's name, url, and slug, which can drive category or browse-style interfaces.

Reliability & maintenanceVerified

The TeeOff API is a managed, monitored endpoint for teeoff.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when teeoff.com 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 teeoff.com 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
  • Display available tee times and per-golfer pricing near a user's GPS coordinates using get_courses_near_me
  • Build a deal-alert tool that polls search_deal_times for discounted tee times in a target city
  • Show a course scorecard with tee box ratings and slope data from get_course_details
  • Aggregate golfer review scores and text for course comparison using get_course_reviews
  • Power a destination guide by listing top golf markets via list_destinations
  • Resolve a user's city or zip code input to coordinates with autocomplete_location before executing a tee time search
  • Surface flash promotion availability for a region using search_flash_daily_deals alongside regular search results
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does TeeOff.com have an official developer API?+
TeeOff.com does not publish a public developer API or developer documentation. This Parse API provides structured access to TeeOff.com data without requiring direct integration with their platform.
What does `search_tee_times` return and how do I filter results?+
It returns a ttResults object with a facilities array. Each facility includes tee time slots with pricing. You can filter by date (MM/DD/YYYY), holes (9 or 18), players, radius in miles, and sort via sort_by. Supply either a location string or explicit lat/lng coordinates — not both.
How does `course_id` relate to `facility_id` across endpoints?+
facility_id identifies a bookable facility and is used by get_all_tee_times_for_facility, get_tee_time_details, and search_tee_times. course_id (also called reviewId in search results) is a separate identifier used specifically by get_course_details and get_course_reviews to retrieve scorecard and review data.
Does `search_flash_daily_deals` always return results?+
No. The endpoint filters for active promoted campaigns in the requested area, and those campaigns are time- and location-dependent. If no promotions are running for the specified location and date, the total field will be 0 and ttResults will contain an empty facilities array. Use search_deal_times as a fallback to find non-campaign discounts.
Does the API support booking or completing a tee time reservation?+
Not currently. The API covers search, availability, pricing, course details, reviews, and deal discovery. get_tee_time_details returns booking-page data including price_per_golfer and cart_included, but does not submit a reservation. You can fork this API on Parse and revise it to add a booking or checkout endpoint.
Page content last updated . Spec covers 10 endpoints from teeoff.com.
Related APIs in SportsSee all →
foreupsoftware.com API
Find and book available tee times at golf facilities using the foreUP platform by searching for specific dates, player counts, and hole preferences while comparing pricing and availability. Access booking details, notes, and filter options to plan your perfect round of golf.
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.
opentable.com API
Search for restaurants across the US with ratings, reviews, photos, and pricing information, plus get real-time availability and autocomplete suggestions as you type. Check reservation openings and explore detailed restaurant features to find and book your perfect dining experience.
pgatour.com API
Track PGA Tour tournaments with live leaderboards, player scorecards, and detailed shot-by-shot data, while monitoring player standings and the FedExCup race. Access complete tournament schedules and player statistics to stay updated on professional golf competitions.
orbitz.com API
Search for hotels and destinations on Orbitz, then view detailed property information including pricing and amenities. Get typeahead location suggestions as you type to quickly find your travel destination.
travelocity.com API
Search for travel destinations and browse hotel listings on Travelocity. Compare options by location, dates, and availability to find and book accommodation.
bookretreats.com API
Search and browse retreats across multiple locations and categories on BookRetreats.com. Access detailed information for individual retreat listings including pricing, availability, ratings, duration, amenities, and host details. Filter by destination, retreat type, price range, and duration to surface relevant results.
hotels.com API
Search for hotels across millions of properties, view room availability and pricing, and get detailed information about accommodations at specific destinations. Get location suggestions and discover popular travel spots to help plan your next getaway.