booksy.com APIbooksy.com ↗
Retrieve Booksy business details (name, rating, services, staff, hours) and real-time available appointment time slots via two simple API endpoints.
curl -X GET 'https://api.parse.bot/scraper/f0902cfa-08ee-43d3-a91b-f350352983ff/get_business_info' \ -H 'X-API-Key: $PARSE_API_KEY'
Get business details including name, rating, review count, booking link, services, staff, and opening hours for a Booksy business.
| Param | Type | Description |
|---|---|---|
| business_id | string | Numeric Booksy business ID (e.g. 81004 for Paul the Barber In Westwood). |
{
"type": "object",
"fields": {
"id": "integer",
"city": "string",
"name": "string",
"staff": "array of staff objects with id, name, position",
"rating": "number",
"address": "string",
"website": "string",
"services": "array of service objects with id, name, price, service_price, duration, variant_id",
"instagram": "string",
"open_hours": "array of objects with open_from, open_till, day_of_week",
"description": "string",
"booking_link": "string",
"reviews_count": "integer"
},
"sample": {
"data": {
"id": 81004,
"city": "Los Angeles",
"name": "Paul the Barber In Westwood",
"staff": [
{
"id": 97021,
"name": "John Doe",
"position": ""
}
],
"rating": 4.852727272727273,
"address": "123 Main St, Los Angeles, 90024",
"website": "https://paulthebarbershop.com",
"services": [
{
"id": 3520068,
"name": "Regular Student Haircut",
"price": 40,
"duration": 35,
"variant_id": 9911968,
"service_price": "$40.00"
}
],
"instagram": "https://www.instagram.com/1paulthebarber/",
"open_hours": [
{
"open_from": "08:00",
"open_till": "19:00",
"day_of_week": 2
}
],
"description": "World Class Service every time...",
"booking_link": "https://booksy.com/en-us/81004_paul-the-barber-in-westwood_barber-shop_134655_los-angeles",
"reviews_count": 550
},
"status": "success"
}
}About the booksy.com API
The Booksy API covers two endpoints that return business profile data and real-time appointment availability from Booksy listings. get_business_info exposes 10+ fields including rating, services with pricing and duration, staff members, and opening hours. get_time_slots returns available booking windows in 24-hour HH:MM format for a given date, service variant, and optional staff preference — everything needed to display or automate appointment scheduling against a Booksy business.
Business Profile Data
get_business_info takes a numeric business_id (e.g. 81004 for Paul the Barber In Westwood) and returns the business name, city, address, website, Instagram handle, aggregate rating, and structured opening hours (open_from, open_till, day_of_week). The services array includes each service's id, name, price, service_price, duration, and variant_id — the last of which is the key input for slot lookups. The staff array returns each staff member's id, name, and position.
Appointment Availability
get_time_slots accepts a date in YYYY-MM-DD format, a business_id, a service_variant_id sourced from get_business_info, and a staffer_id. Pass staffer_id: -1 to request any available staff member. The response includes the queried date, business_id, staffer_id, and service_variant_id for confirmation, plus slot_count and an available_slots array of time strings in 24-hour HH:MM format representing open booking windows for that combination.
Typical Workflow
A typical integration calls get_business_info first to discover services[*].variant_id and staff[*].id, then passes those values into get_time_slots with a target date to retrieve real-time availability. This two-call pattern supports building booking search tools, availability monitors, or comparison tools across multiple Booksy businesses.
- Display real-time appointment availability for a specific Booksy barber or salon on a third-party booking interface
- Compare service prices and durations across multiple Booksy businesses using the
servicesarray fields - Send alerts when new appointment slots open for a given date, staff member, and service variant
- Aggregate business ratings and review counts from Booksy listings for local business ranking tools
- Pull structured opening hours to populate a business directory or local search app
- Map staff members to their available time slots for a multi-provider scheduling dashboard
- Monitor appointment slot counts over time to analyze demand patterns at a Booksy business
| 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 | 250 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 Booksy have an official public developer API?+
What does `get_time_slots` return when no slots are available for a date?+
get_time_slots still returns the full response structure including date, business_id, staffer_id, and service_variant_id. In this case slot_count will be 0 and available_slots will be an empty array. The endpoint does not return an error for fully booked days.Does the API return customer reviews or review text?+
rating and the business profile from get_business_info, but individual review text, reviewer names, and per-review ratings are not exposed. You can fork this API on Parse and revise it to add an endpoint that returns individual review content.Is geographic search supported — for example, finding Booksy businesses near a location?+
business_id and do not support location-based or keyword search to discover businesses. You can fork this API on Parse and revise it to add a search endpoint that accepts city, coordinates, or category filters.How precise is the service pricing data returned by `get_business_info`?+
services array includes both price and service_price fields along with duration in minutes. Some services on Booksy use variable or range-based pricing set by the business; in those cases the values reflect what the business has published on their Booksy profile at the time of the request.