Booksy business profile
One Booksy business: id, name, link, categories, description, address with coordinates, regions, rating with the per-star breakdown, review count, website and social links, logo and photos, amenities, payment options, deposit policy, opening hours by day with special hours and a note, staff, every service by category with variants (duration, price, deposit), the latest reviews (rating, text, date, appointment date, author first name and initial, verified, reply, services, staff, photos) and review photos; plus amenity keys, shop link, maximum discount, safety rules and notes, and feature flags (add-ons, combo services, cancellation fee, prepayment, gift cards, mobile and online services, in-app payments, booking questions, custom forms).
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
urlrequired | string | A booksy.com/<locale>/<id>_<name>_... business link (from /booksy/v1/search). Example: https://booksy.com/en-us/407964_carlosthebarber_barber-shop_18229_chicago |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/booksy/v1/business?url=https%3A%2F%2Fbooksy.com%2Fen-us%2F407964_carlosthebarber_barber-shop_18229_chicago" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/booksy/v1/business",
params={"url": "https://booksy.com/en-us/407964_carlosthebarber_barber-shop_18229_chicago"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/booksy/v1/business");
url.searchParams.set("url", "https://booksy.com/en-us/407964_carlosthebarber_barber-shop_18229_chicago");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).