Exploretock APIexploretock.com ↗
Search Tock venues, retrieve dining experience details with prix-fixe prices, and check real-time reservation availability by date and party size.
What is the Exploretock API?
The Tock API exposes 3 endpoints covering restaurant and experience discovery on exploretock.com. Use search_venues to find venues by name and location, get_venue_details to retrieve all dining offerings with prices and party size ranges, and get_availability to check bookable dates and time slots for a specific date and party size.
curl -X GET 'https://api.parse.bot/scraper/41ea5b25-6a1f-4c2e-87da-ca2e174217ab/search_venues?city=Chicago&query=Alinea' \ -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 exploretock-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.
"""Walkthrough: Tock SDK — bounded, re-runnable; every call capped."""
from parse_apis.exploretock_com_api import Tock, VenueNotFound
client = Tock()
# Search for venues by name, optionally filtered by city.
for venue in client.venues.search(query="Alinea", city="Chicago", limit=3):
print(venue.name, venue.city, venue.state, venue.booking_url)
# Take the first result and get full details with offerings.
hit = client.venues.search(query="Alinea", city="Chicago", limit=1).first()
try:
details = client.venue(hit.slug).details()
print(details.booking_url)
for offering in details.offerings:
print(offering.name, offering.type, offering.min_price_cents, offering.party_sizes)
except VenueNotFound as e:
print("venue gone:", e.slug)
# Check availability for a specific date and party size.
for slot in client.venue(hit.slug).availability(date="2026-07-20", party_size=2, limit=3):
print(slot.time, slot.experience_name, slot.price_cents, slot.available_tickets)
print("exercised: venues.search, venue.details, venue.availability")
Search for restaurants and experiences by name. Results include venue name, slug, city, state, neighborhood, and booking URL. The slug from results is used to navigate to venue details and availability.
| Param | Type | Description |
|---|---|---|
| city | string | Optional city name to filter results (e.g. 'Chicago'). Case-insensitive substring match. |
| queryrequired | string | Search query matching venue or experience name (e.g. 'Alinea', 'french laundry'). |
{
"type": "object",
"fields": {
"total": "number of venues returned",
"venues": "array of venue search results with name, slug, city, state, country, neighborhood, image_url, and booking_url"
},
"sample": {
"total": 2,
"venues": [
{
"city": "Chicago",
"name": "Alinea",
"slug": "alinea",
"state": "IL",
"country": "US",
"image_url": "https://lh3.googleusercontent.com/V8Bz5UGy6VAt5Qq7XXn9tdUvAy4aVAJZtaiFzXSXRdZzM_fDW5YAf3_Tu820V-FoXnHISPbBS-8t4I46BLaFFzhSLO_9tkbCXnHhQ61H",
"booking_url": "https://www.exploretock.com/alinea",
"neighborhood": "Lincoln Park"
}
]
}
}About the Exploretock API
Search and Venue Discovery
search_venues accepts a required query string and an optional city filter, returning an array of venues with fields including name, slug, city, state, neighborhood, image_url, and booking_url. The slug field from these results is the key input for the other two endpoints. City matching is case-insensitive and substring-based, so querying city=chicago will match venues in Chicago neighborhoods.
Venue Details and Offerings
get_venue_details takes a slug and returns the venue's full list of dining offerings. Each offering in the offerings array includes id, name, type, description, prices, party sizes, and location. The business_id field is also returned, representing Tock's internal identifier for the venue. This endpoint is useful for understanding what prix-fixe options, tasting menus, or experience types a venue offers before checking seat availability.
Availability and Time Slots
get_availability requires a slug and a date in YYYY-MM-DD format. Optional parameters include party_size (integer) and time (24-hour HH:MM format). The response includes two key arrays: available_dates lists all dates within the venue's booking window that have any open slots, and available_slots lists specific time slots for the requested date, each with time, experience name, price, and availability count. When party_size is provided, slots are filtered to only those that can accommodate that group size.
The Exploretock API is a managed, monitored endpoint for exploretock.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when exploretock.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 exploretock.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 reservation-finder that alerts users when a specific Tock venue opens new availability for a chosen date and party size.
- Aggregate prix-fixe prices across multiple high-end restaurants in a city for a dining cost comparison tool.
- Display a venue's full set of experience offerings — tasting menus, chef's counter, etc. — with prices before linking users to book.
- Check
available_datesacross several venues to surface which fine-dining spots have openings in the next 30 days. - Power a concierge tool that takes a guest count and date, then returns matching time slots from multiple Tock venues.
- Build a neighborhood dining guide using
city,neighborhood, andbooking_urlfields fromsearch_venuesresults.
| 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 Tock have an official public developer API?+
What does `get_availability` return beyond just open time slots?+
get_availability returns two arrays: available_slots contains all bookable times for the requested date, each with the experience name, exact time, price, and availability count. available_dates lists every date in the venue's forward booking window that has at least one open slot, which lets you scan for the nearest open date without querying day by day.Does the API return user reviews or ratings for venues?+
Can I retrieve menu item details or full tasting-menu course lists?+
get_venue_details returns offering-level data — experience names, types, and pricing — but does not break down individual courses or menu items within an offering. You can fork this API on Parse and revise it to add an endpoint that returns that granularity.How does the `city` filter in `search_venues` work, and is it required?+
city is optional. When provided, it performs a case-insensitive substring match against the venue's city field, narrowing results without requiring an exact city name. Omitting it returns results matching the query string across all locations.