Discover/Booksy API
live

Booksy APIes.booksy.com

Access Booksy Spain business profiles, services with pricing, staff details, opening hours, and real-time appointment availability via two structured endpoints.

Endpoint health
verified 1h ago
get_time_slots
get_business_info
2/2 passing latest checkself-healing
Endpoints
2
Updated
2h ago

What is the Booksy API?

The Booksy Spain API exposes 2 endpoints covering business profiles and real-time appointment availability from es.booksy.com. get_business_info returns 10 fields including services with pricing and duration, staff members, ratings, and opening hours. get_time_slots returns available booking windows for a specific service and date, with both aggregate and per-staff slot breakdowns.

Try it
Numeric business identifier from Booksy (e.g. '8903').
api.parse.bot/scraper/207a23cd-86ea-4481-9d24-3d280a6e364e/<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/207a23cd-86ea-4481-9d24-3d280a6e364e/get_business_info?business_id=8903' \
  -H 'X-API-Key: $PARSE_API_KEY'
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 es-booksy-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: Booksy Spain SDK — fetch business info and check appointment availability."""
from parse_apis.es_booksy_com_api import Booksy, BusinessNotFound

client = Booksy()

# Fetch a business by its numeric ID
biz = client.businesses.get(business_id="8903")
print(f"Business: {biz.name} — {biz.address}")
print(f"Rating: {biz.rating} ({biz.reviews_count} reviews)")

# Browse services offered
for svc in biz.services[:3]:
    print(f"  Service: {svc.name} | {svc.price}€ | {svc.duration_minutes}min (variant: {svc.variant_id})")

# Check availability for the first service variant
first_variant = str(biz.services[0].variant_id)
avail = biz.availability(service_variant_id=first_variant, date="2026-07-10")
print(f"\nAvailable slots on {avail.date}: {avail.slots[:5]}")

# Per-staff breakdown
for ss in avail.staff_slots[:2]:
    print(f"  Staffer {ss.staffer_id}: {ss.slots[:4]}")

# Typed error handling: catch BusinessNotFound for an invalid ID
try:
    client.businesses.get(business_id="9999999")
except BusinessNotFound as exc:
    print(f"\nNot found: business_id={exc.business_id}")

print("\nExercised: businesses.get / business.availability / BusinessNotFound")
All endpoints · 2 totalmissing one? ·

Retrieve detailed information about a business on Booksy Spain, including name, address, rating, reviews count, services with pricing and duration, staff members, and opening hours.

Input
ParamTypeDescription
business_idrequiredstringNumeric business identifier from Booksy (e.g. '8903').
Response
{
  "type": "object",
  "fields": {
    "id": "integer",
    "name": "string",
    "staff": "array of staff objects with id, name, position, photo_url",
    "rating": "number",
    "address": "string",
    "services": "array of service objects with service_id, name, category, variant_id, price, duration_minutes, description",
    "open_hours": "array of schedule objects with day_of_week (1=Monday..7=Sunday), open_from, open_till",
    "business_id": "string",
    "description": "string",
    "reviews_count": "integer"
  },
  "sample": {
    "data": {
      "id": 8903,
      "name": "PALACE BARBER/ SAGRADA FAMILIA",
      "staff": [
        {
          "id": 24550,
          "name": "Maykel",
          "position": "Barbero",
          "photo_url": "https://d375139ucebi94.cloudfront.net/region2/es/8903/resource_photos/6da4f8c9975a4d70a4ab9dc047e3a533.jpeg"
        }
      ],
      "rating": 4.917,
      "address": "Carrer Padilla 241, Local 1, 08013, Barcelona",
      "services": [
        {
          "name": "CORTE + LAVADO + MASAJE CAPILAR",
          "price": 17,
          "category": "HAIRCUT / CORTE DE CABELLO",
          "service_id": 103556,
          "variant_id": 611328,
          "description": "Corte con lavado y peinado profesional.",
          "duration_minutes": 30
        }
      ],
      "open_hours": [
        {
          "open_from": "10:00",
          "open_till": "14:00",
          "day_of_week": 1
        }
      ],
      "business_id": "8903",
      "description": "Palace barber shop",
      "reviews_count": 1755
    },
    "status": "success"
  }
}

About the Booksy API

Business Profile Data

get_business_info takes a business_id string and returns a structured profile: business name, address, description, aggregate rating, and reviews_count. The services array includes each service's name, category, price, duration_minutes, description, and the variant_id you'll need for availability lookups. The staff array lists each staffer's id, name, position, and photo_url. The open_hours array provides a weekly schedule as day-of-week integers (1 = Monday through 7 = Sunday) with open_from and open_till times.

Appointment Availability

get_time_slots accepts a business_id, a service_variant_id (sourced from services[*].variant_id in the business response), and a date in YYYY-MM-DD format. It returns a slots array of available times in HH:MM format covering any available staff member. Pass a staffer_id from staff[*].id to filter availability to a specific person, or omit it (or use -1) to query across all staffers. The response also includes a staff_slots array that breaks down availability per staffer, letting you display which specific staff members are free at each time.

Chaining the Endpoints

The two endpoints are designed to chain together. A typical workflow retrieves the business profile first to collect variant_id values for services and id values for staff members, then calls get_time_slots with those identifiers to query a specific date. This makes it straightforward to build scheduling tools, availability monitors, or calendar integrations targeted at Booksy Spain listings.

Reliability & maintenanceVerified

The Booksy API is a managed, monitored endpoint for es.booksy.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when es.booksy.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 es.booksy.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
1h ago
Latest check
2/2 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 booking availability checker that queries open slots for a specific barber on a given date.
  • Aggregate service pricing and duration data across multiple Booksy Spain businesses for comparison.
  • Display staff member profiles and their per-day availability in a custom scheduling UI.
  • Monitor weekly opening hours changes for a set of Booksy Spain businesses.
  • Generate structured business directory listings using name, address, rating, and reviews_count.
  • Alert customers when a preferred staffer has an opening on a target date.
  • Populate a CRM with Booksy Spain business profiles including service categories and descriptions.
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 Booksy have an official public developer API?+
Booksy does not publish a public developer API or documented API program for third-party developers as of mid-2025. This Parse API provides structured access to the same data available on es.booksy.com.
What does get_time_slots return and how does staff filtering work?+
get_time_slots returns a slots array of HH:MM time strings for the requested date, plus a staff_slots array that lists available times broken down by individual staffer ID. To filter to one person, pass their numeric id from the staff array returned by get_business_info as the staffer_id parameter. Omitting staffer_id or passing -1 returns combined availability across all staff.
Does the API return customer reviews or review text?+
No. get_business_info returns a reviews_count integer and an aggregate rating number, but individual review text, reviewer names, and review dates are not included in the current response. You can fork this API on Parse and revise it to add a reviews endpoint that returns per-review content.
Does the API cover Booksy markets outside Spain?+
This API is scoped to es.booksy.com (Spain). Booksy operates in multiple countries including the US, UK, and Poland, but those markets are not covered here. You can fork this API on Parse and revise it to point at a different regional Booksy domain.
Are there any known limitations with business ID discovery?+
Both endpoints require a numeric business_id, which must be obtained from the Booksy Spain business URL (for example, the segment 58087 in a listing URL). The API does not currently include a search or discovery endpoint to find business IDs by location or category. You can fork this API on Parse and revise it to add a business search endpoint.
Page content last updated . Spec covers 2 endpoints from es.booksy.com.
Related APIs in B2b DirectorySee all →
crunchbase.com API
Search and retrieve detailed information about companies, investors, and key people to discover funding opportunities, track market competitors, and analyze investment trends. Access comprehensive profiles including organization details, investor backgrounds, and complete funding round histories all in one place.
dnb.com API
Search millions of companies in Dun & Bradstreet's global business directory to find detailed company profiles and verify D-U-N-S numbers. Look up key business information like company details and identifiers to support due diligence, sales prospecting, and business intelligence needs.
ycombinator.com API
Access comprehensive data from the Y Combinator ecosystem, including company profiles, founder and partner information, job listings, and the YC library. Filter companies by batch, industry, and hiring status, and explore detailed profiles with social links, team information, and funding metadata.
opencorporates.com API
Access comprehensive company registration data, officer details, and filing histories from OpenCorporates across jurisdictions worldwide to research businesses and their leadership. Search for specific companies or officers, retrieve detailed corporate information, and explore filing records to support due diligence, compliance checks, and business intelligence.
dir.indiamart.com API
Search and extract supplier listings, product details, and business factsheets from the IndiaMart B2B directory. Browse by city and category, retrieve structured product specifications, pricing, and supplier verification data.
mwcbarcelona.com API
Discover and explore MWC Barcelona 2026 exhibitors, speakers, and sessions by searching, filtering, and browsing by category, location, or type. Access detailed information about pavilions, agenda schedules, news updates, and pass options to plan your conference experience.
explodingtopics.com API
Discover rapidly growing trends, emerging startups, and top-performing websites by filtering through trending topics by category and volatility. Programmatically access detailed trend analysis, related topics, blog coverage, and curated highlights to stay ahead of market movements.
yellowpages.com.au API
Search Australian businesses by category to find contact details, addresses, and emails, then retrieve comprehensive business information for any listing. Perfect for building lead lists, verifying business information, or discovering local service providers across Australia.