Booksy Scraper — Salon, Barber & Beauty Business Data avatar

Booksy Scraper — Salon, Barber & Beauty Business Data

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Booksy Scraper — Salon, Barber & Beauty Business Data

Booksy Scraper — Salon, Barber & Beauty Business Data

Scrape Booksy local business listings by service and city. Extract salon, barber, spa, nail and beauty business name, full address, GPS coordinates, rating, review count, category, photos and booking badges. Export to JSON/CSV/Excel for local lead generation and market research.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

16

Total users

2

Monthly active users

2 days ago

Last modified

Share

Booksy Scraper — Salon, Barber, Spa & Beauty Business Data

Extract structured local-business data from Booksy, one of the largest online booking marketplaces for salons, barbers, spas, nail studios and beauty & wellness professionals. This Booksy scraper turns any service + city search into a clean, ready-to-use dataset: business name, category, full address, GPS coordinates, rating, review count, cover photo, venue/suite name and booking badges — with no login, no API key and no coding.

Pick a service and US state from the dropdowns (or paste a specific Booksy search URL), press Start, and export every matching business to JSON, CSV, Excel, or API.

💈 Built for local lead generation, sales prospecting and beauty-market research. Every record carries a rating, review count and precise location, so you can build targeted, qualified lists of salons, barbers, spas and beauty businesses in any US market.


🔎 Why scrape Booksy?

Booksy powers appointments for hundreds of thousands of appointment-based local businesses across the United States — hair salons, barbershops, nail studios, spas, massage therapists, lash and brow artists, waxing studios, estheticians, tattoo shops and more. Each listing is a verified, actively-booking local business with a public profile, a rating and a location. That makes Booksy data one of the richest, cleanest sources of beauty & wellness business intelligence anywhere.

Collecting this by hand is slow and error-prone. Booksy shows results 20 at a time, hides the structured data behind a JavaScript app, and spreads thousands of businesses across dozens of pages per city. Copy-pasting names, ratings and addresses from the site simply doesn't scale when you need hundreds or thousands of leads.

This Booksy scraper automates the whole thing. It reads Booksy's own structured business feed, paginates through every result, de-duplicates by business ID, and hands you a tidy table you can filter, map, enrich or push into a CRM.

Common reasons people scrape Booksy:

  • Build local B2B lead lists of salons, barbers and spas to sell products or services to.
  • Map competitor density and ratings before opening or expanding a location.
  • Benchmark reputation — compare ratings and review volume across a city or category.
  • Source beauty & wellness businesses for distribution, SaaS, payments or marketing offers.
  • Feed dashboards and market reports with a fresh, structured local-business feed.
  • Find salon-suite and franchise brands via the parent venue name on each listing.
  • Enrich existing records with GPS coordinates, categories and booking signals.

✨ What this Booksy scraper does

  • ✅ Search by service and US state from simple dropdowns — hair salon, barber, nail salon, massage, spa, eyelashes & eyebrows, waxing, makeup, skin care, hair removal, braids, tattoo & piercing, wellness — or choose All services / All states for a broad sample.
  • ✅ Advanced URL mode — paste any Booksy search URL (e.g. a single city) to scrape instead of the dropdowns.
  • ✅ Automatic pagination — pages through Booksy's business feed (20 per page) and collects hundreds to thousands of businesses per search.
  • ✅ De-duplicates every business by its unique Booksy ID so you never get repeats.
  • ✅ Captures the rating (0–5), star score and review count for instant reputation ranking.
  • ✅ Breaks out the full location — street address, city and GPS latitude/longitude.
  • ✅ Records the category, cover photo, staff size and parent venue/suite name.
  • ✅ Flags online booking, Booksy Pay, "Best of Booksy", promoted and mobile/traveling service.
  • ✅ Builds the canonical Booksy business-page URL for every record.
  • ✅ Fast, cheap and reliable — pure HTTP extraction from a structured feed, a few hundred businesses in seconds, with proxy rotation and automatic retries.

Only the fields the actor actually returns are listed here — see the Output section for the exact schema.


🎯 Use cases

  • Beauty & wellness lead generation — build outreach lists of salons, barbers, nail bars and spas by service and city.
  • Field sales & distribution — find businesses by category and location to pitch products, supplies or equipment.
  • SaaS & payments prospecting — target salons by their booking/payment signals (online booking, Booksy Pay).
  • Franchise & site selection — map competitor density, ratings and review volume before expanding.
  • Market research & reports — measure supply, average rating and category mix across any US market.
  • Reputation benchmarking — rank and compare businesses by rating and review count.
  • Agencies & marketers — source local beauty businesses as prospects for marketing services.
  • Data products & BI — feed a clean, geo-coded local-business dataset into dashboards or a database.

📥 Input

Configure the run with the dropdowns, or paste specific search URLs for full control.

FieldTypeDescription
servicestring (select)The type of business to collect: hair-salon, barber, nail-salon, eyelashes-eyebrows, massage, spa, waxing, makeup, skin-care, hair-removal, braids, tattoo-piercing, wellness. Leave empty for All services.
locationstring (select)A US state to collect businesses from (all 50 states + DC). Leave empty for a fast nationwide sample across popular states.
maxItemsintegerMaximum number of businesses to collect. Default 100. Set 0 for no limit (Booksy caps a search at ~10,000).
startUrlsarrayAdvanced. Paste specific Booksy search-result URLs (e.g. a single city). Search on booksy.com and copy the browser URL — these take priority over the dropdowns when set.
proxyConfigurationobjectApify Proxy. A US proxy is recommended and on by default.

Example 1 — Hair salons in a state

{
"service": "hair-salon",
"location": "10014_illinois",
"maxItems": 300
}

Example 2 — A specific city via Advanced URL

{
"startUrls": ["https://booksy.com/en-us/s/hair-salon/18229_chicago"],
"maxItems": 300,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyCountry": "US" }
}

Example 3 — Multiple services / cities at once

{
"startUrls": [
"https://booksy.com/en-us/s/barber/9_new-york",
"https://booksy.com/en-us/s/nail-salon/18229_chicago"
],
"maxItems": 500
}

Tip: A Booksy search URL encodes the service and city as /s/{service}/{locationId}_{city}. Build any search on booksy.com and paste the address-bar URL into startUrls.


📤 Output

Each business becomes one clean dataset record. Export the whole dataset as JSON, CSV, Excel, HTML, XML or RSS, or pull it via the Apify API.

{
"businessId": "543332",
"name": "TheHairGoat 🖤🐐",
"category": "Hair Salon",
"rating": 5,
"reviewsCount": 194,
"reviewsStars": 5,
"address": "187 N York St, 13, Elmhurst, 60607",
"city": "Elmhurst",
"latitude": 41.90385,
"longitude": -87.93988,
"imageUrl": "https://d2zdpiztbgorvt.cloudfront.net/.../biz-photo-booksy.jpeg",
"staffCount": 3,
"bestOfBooksy": false,
"acceptsBooksyPay": false,
"hasOnlineBooking": true,
"isPromoted": true,
"travelingService": false,
"venueName": "Sola Salon",
"url": "https://booksy.com/en-us/543332_thehairgoat_hair-salon_18229_chicago",
"searchUrl": "https://booksy.com/en-us/s/hair-salon/18229_chicago",
"scrapedAt": "2026-10-25T00:00:00.000Z"
}

Output field reference

FieldDescription
businessIdUnique Booksy business ID (used for de-duplication).
nameBusiness name.
categoryBusiness category / searched service.
ratingAverage review rating, 0–5.
reviewsStarsRounded star score.
reviewsCountNumber of reviews.
addressStreet address.
cityCity.
latitude / longitudeGPS coordinates for mapping and radius analysis.
imageUrlCover photo URL.
staffCountNumber of staff listed.
bestOfBooksytrue if the business holds the "Best of Booksy" award.
acceptsBooksyPaytrue if it accepts Booksy Pay.
hasOnlineBookingtrue if online booking is available.
isPromotedtrue for a promoted/boosted listing.
travelingServicetrue for a mobile / traveling service.
venueNameParent venue or salon-suite brand (e.g. "Sola Salon"). Present when the business belongs to a venue.
urlCanonical Booksy business-page URL.
searchUrlThe search URL this record came from.
scrapedAtExtraction timestamp (ISO 8601).

Core fields (businessId, name, category, rating, reviewsCount, address, city, latitude, longitude, url) populate on essentially every record. A few fields are data-dependent — venueName only appears for businesses inside a venue/suite, staffCount reflects what the profile exposes, and imageUrl is present when the business has a cover photo.


🔁 Pagination & scale

The actor resolves each Booksy search URL to its category and location IDs, then pages through Booksy's core business feed 20 businesses per page, advancing the page counter until it reaches your maxItems limit, exhausts the results, or hits Booksy's ~10,000-record cap per search. Every business is de-duplicated by its Booksy ID, so result sets stay clean even across overlapping searches.

In practice a single city + service search returns hundreds of businesses, and a whole state (or All services) returns thousands — all controlled by the maxItems input. Set maxItems: 0 to pull everything a search exposes. Requests run over a rotating US proxy with automatic retries, so runs are fast and resilient.


⚙️ How to use

  1. Open the actor on the Apify Console.
  2. Choose a Service and a US State (or paste a Booksy search URL into Advanced start URLs).
  3. Set Max businesses (default 100) and keep the US proxy on.
  4. Click Start and watch the live log count businesses as they're collected.
  5. Open the Storage → Dataset tab and export to JSON, CSV or Excel — or fetch via the Apify API.
  6. Automate it: run on a schedule, or connect the output to Make, Zapier, n8n, Google Sheets, Airtable, HubSpot or a webhook.

You can run the Booksy scraper from the Console, via the Apify API, or with the official JavaScript / Python API clients.


💡 Tips

  • Pick the service from the dropdown for the cleanest category-filtered results; use Advanced start URLs to target one exact city.
  • Paste multiple URLs to cover several services or cities in one run.
  • Rank by rating + reviewsCount to surface the strongest businesses in a market.
  • Use the GPS fields (latitude/longitude) for mapping, radius targeting and territory planning.
  • Filter on hasOnlineBooking / acceptsBooksyPay to segment tech-forward businesses.
  • Group by venueName to spot salon-suite franchises (e.g. Sola Salon) with many tenants.

❓ FAQ

Is scraping Booksy legal? This actor collects only publicly available business information from Booksy search results — the same listings any visitor can see. It does not log in or access private data. Use the data lawfully, for purposes such as market research, analytics and B2B outreach, and respect Booksy's Terms of Use.

Do I need a Booksy account or API key? No. You only need an Apify account. There's no login, no API key and no coding required.

How many results can I get and how fast? Hundreds to thousands per search. Booksy caps a single search at about 10,000 businesses; the actor collects up to your maxItems. Because it reads a structured feed over HTTP, a few hundred businesses typically finish in seconds.

Which countries are covered? US business data (booksy.com/en-us). The state dropdown covers all 50 states plus Washington DC.

Do I need proxies? A US proxy is recommended and enabled by default so Booksy serves US results reliably. The actor rotates IPs and retries automatically.

What export formats are supported? JSON, CSV, Excel, HTML, XML and RSS — plus the Apify API and JS/Python clients.

Is there a Booksy API? Booksy has no public business-search API. This scraper gives you the same effect: a clean, structured Booksy API-style feed of business records you can query and export.

Can I filter by service or city? Yes. Use the Service and State dropdowns, or paste a city-specific Booksy search URL in Advanced start URLs. You can further filter the output by rating, category, city or booking flags.

How fresh is the data? Every record is scraped live at run time (see scrapedAt). Schedule the actor daily or weekly to track new businesses and rating changes.

Why is venueName or staffCount sometimes empty? Those fields are data-dependent: venueName appears only for businesses inside a venue/suite, and staffCount reflects what the public profile exposes. Core fields like name, rating, address and GPS are present on essentially every record.


Building local lead lists or business intelligence? Explore more scrapers:


Ready to build your Booksy lead list? Pick a service and city, set your limit, and run the Booksy scraper now — your structured salon, barber and beauty-business dataset is seconds away. 💈