ForeUp Software APIforeupsoftware.com ↗
Search tee time availability, pricing, and booking filters at ForeUp-powered golf courses. 3 endpoints covering schedules, holes, players, and course notes.
What is the ForeUp Software API?
The ForeUp Software API gives developers access to tee time availability, green fees, cart fees, and booking metadata across ForeUp-powered golf courses through 3 endpoints. The search_tee_times endpoint returns per-slot pricing and available spots filtered by date, player count, and hole preference. The get_filters endpoint exposes the schedule and booking class IDs required to target specific tee sheets at a given course.
curl -X GET 'https://api.parse.bot/scraper/1cd761e1-b515-45f6-913c-380b653b3cfe/get_filters?course_id=20498' \ -H 'X-API-Key: $PARSE_API_KEY'
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 foreupsoftware-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.
from parse_apis.foreup_golf_tee_times_api import ForeUp, Course, TeeTime
client = ForeUp()
# Fetch course configuration including schedules and booking classes
course = client.courses.get(course_id="20498")
print(course.course_id, course.api_key)
for schedule in course.schedules:
print(schedule.id, schedule.name, schedule.holes)
for bc in schedule.booking_classes:
print(bc.id, bc.name)
# Search for tee times on a specific date
for tee_time in course.tee_times(date="06-15-2026", holes="18", players="2"):
print(tee_time.time, tee_time.available_spots, tee_time.green_fee, tee_time.total_price, tee_time.course)
# Get booking notes for a date
for note in course.notes(date="06-15-2026"):
print(note.title, note.body)
Retrieve available filtering criteria (schedules and booking classes) for a specific golf course. Returns schedule IDs and booking class IDs needed for search_tee_times. Returns an empty schedules array for unrecognized course IDs.
| Param | Type | Description |
|---|---|---|
| course_idrequired | string | The ForeUp course ID (e.g. '20498'). |
{
"type": "object",
"fields": {
"api_key": "string, the API key for the course",
"course_id": "string, the requested course ID",
"schedules": "array of schedule objects, each containing id, name, holes, and booking_classes"
},
"sample": {
"data": {
"api_key": "",
"course_id": "20498",
"schedules": [
{
"id": "4747",
"name": "Rock Main Tee Sheet",
"holes": "18",
"booking_classes": [
{
"id": "6164",
"name": "Member Tee Times"
},
{
"id": "4187",
"name": "Public w/Cart"
},
{
"id": "4188",
"name": "Public Walking"
}
]
}
]
},
"status": "success"
}
}About the ForeUp Software API
What the API Returns
The API covers three data surfaces for ForeUp-managed golf courses. get_filters takes a course_id and returns the course's schedule list — each schedule includes an id, name, holes configuration, and an array of booking_classes with their own IDs. These IDs are the inputs that drive precise tee time queries. Passing an unrecognized course_id returns an empty schedules array rather than an error.
Searching Tee Times
search_tee_times accepts a date (in MM-DD-YYYY or YYYY-MM-DD format), optional holes filter ('9', '18', or 'all'), players count (use '0' for any number), and optional schedule_id and booking_class_id from get_filters. When schedule or booking class IDs are omitted, the endpoint automatically falls back to the first available schedule and booking class for that course. Each tee time object in the response includes time, holes, available_spots, green_fee, cart_fee, total_price, course, schedule_name, and a direct booking_link.
Course Notes
get_booking_notes retrieves any public announcements or notices a course has posted for a specific date. It takes date and course_id and returns a notes array along with a count. When no notes are posted for the requested date, the endpoint returns an empty array rather than a 404. This is useful for surfacing course closures, weather advisories, or policy changes alongside availability data.
The ForeUp Software API is a managed, monitored endpoint for foreupsoftware.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when foreupsoftware.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 foreupsoftware.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a tee time comparison tool that surfaces green fees and cart fees across multiple ForeUp courses for the same date
- Alert golfers when
available_spotsopens up on a previously full tee time for their preferred course - Filter tee times by
holesandplayersto recommend suitable slots for groups of specific sizes - Display course-level booking notes alongside availability so users see closures or alerts before attempting to book
- Pre-populate a booking form by resolving
schedule_idandbooking_class_idfromget_filtersbefore callingsearch_tee_times - Aggregate daily tee time counts across courses to analyze demand patterns by date or day of week
- Surface the
booking_linkdirectly in a third-party golf planner app so users can complete reservations without re-entering details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does ForeUp have an official public developer API?+
What does `search_tee_times` return for each slot, and does it include pricing?+
green_fee, cart_fee, and total_price alongside time, holes, available_spots, schedule_name, and a booking_link. The course field identifies the facility. Pricing reflects what the course has configured for the given booking class on that date.What happens if I omit `schedule_id` or `booking_class_id` in `search_tee_times`?+
get_filters first to retrieve the relevant IDs and pass them explicitly.Does the API support retrieving existing reservations or cancelling bookings?+
Can I look up a ForeUp course ID from the course name or location?+
course_id string (such as '20498') as an input to all three endpoints — there is no search-by-name or geo-lookup endpoint included. You can fork this API on Parse and revise it to add a course discovery endpoint that maps names or locations to course IDs.