Booksy Scraper — Beauty & Wellness Provider Leads avatar

Booksy Scraper — Beauty & Wellness Provider Leads

Pricing

from $3.86 / 1,000 business scrapeds

Go to Apify Store
Booksy Scraper — Beauty & Wellness Provider Leads

Booksy Scraper — Beauty & Wellness Provider Leads

Scrape Booksy salons, barbers, nail & lash techs, spas & massage by city. Get ratings, reviews, services & prices, staff, Instagram/Facebook, website & leads, with optional website email enrichment and monitoring. No login, no key, no browser. Independent tool, not affiliated with Booksy.

Pricing

from $3.86 / 1,000 business scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

7 days ago

Last modified

Share

Booksy Scraper — Beauty & Wellness Provider Leads (Salons, Barbers, Nail & Lash Techs, Spas)

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Booksy or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "Booksy" is referenced only to describe the publicly available website this Actor collects data from.

Extract complete Booksy business data — salons, barbers, nail & lash techs, estheticians, spas, massage and more — for any US city. Get ratings, review counts and full reviews, services with real prices, staff lists, opening hours, Instagram/Facebook, website, photos and lead data. Optionally turn every provider into a ready-to-contact lead by crawling their own website for emails, phone numbers and social links.

No login, no cookies, no browser — fast JSON + JSON-LD extraction with high reliability.

Why this Booksy scraper?

Most Booksy scrapers return a thin business card and charge a per-run start fee. This actor combines Booksy's public city pages (JSON-LD) with its keyless business API to ship the richest dataset in the category — and never charges a start fee:

DataTypical scrapersThis actor
Business name, rating, review count
Full address + lat/lngpartial
Services with real prices & durations
Staff / team members
Opening hours, amenities, parking, booking policy
Instagram & Facebook handles
Provider website
Full customer reviews (text, author, owner reply)✅ opt-in
Provider contact emails / phones (from their website)✅ opt-in
Lead score (0–100) per business
Monitoring — only new providers on re-runs
Start fee$0.05+none

Use cases

  • Lead generation — beauty & wellness pros are active buyers: they need salon software, booking & POS, payment processing, booth rental, beauty supplies, insurance and marketing. Score them by audience (reviewsCount, rating) and reach them directly via instagram, website or enriched contactEmails.
  • Market & pricing intelligence — compare service menus and prices (services, minPrice, maxPrice) across a city or category.
  • Local SEO & directory building — populate niche directories and apps with structured provider data including geo, hours and categories.
  • Competitor & territory analysis — map provider density, ratings and review velocity by city and category.
  • New-provider monitoring — schedule recurring runs to capture salons and pros that newly list on Booksy in a market.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Booksy Scraper, pick categories and locations (or paste Booksy URLs), and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"searchCategories": ["Hair Salon", "Barber Shop", "Nail Salon"],
"locations": ["Austin, TX", "Miami, FL"],
"maxResults": 200,
"includeBusinessDetails": true,
"includeReviews": false,
"enrichContactEmails": true,
"monitorMode": false
}
  • searchCategories — beauty/wellness categories (Hair Salon, Barber Shop, Nail Salon, Brows & Lashes, Skin Care, Day Spa, Massage, Makeup, Aesthetic Medicine, Hair Removal, Tattoo Shop, Piercing, Braids & Locs, Health & Fitness, Pet Services). You can also type any raw Booksy treatment slug (balayage, highlights, crochet-braids, …).
  • locations — US locations as City, ST (Austin, TX, Brooklyn, NY). Each location is scraped for every selected category. Required unless you use Start URLs.
  • startUrls — direct Booksy city-category pages (/en-us/s/hair-salon/134608_austin) or business profiles (/en-us/1303645_justin-coleman_...).
  • maxResults / maxResultsPerSearch — global and per-category caps.
  • minRating / minReviews — keep only providers above a rating / review threshold.
  • includeBusinessDetails (default true) — full profile: services & prices, staff, hours, website, Instagram/Facebook, amenities, booking policy, photos.
  • includeReviews (default false) — customer reviews (rating, text, author, date, owner reply); maxReviewsPerBusiness controls how many.
  • enrichContactEmails (default false) — crawl each provider's own website (home + contact/about) for emails, phones and socials. Booksy routes bookings in-app, so this is the main way to get a direct email.
  • monitorMode (default false) — emit only providers not seen in previous runs; pairs with Schedules.

Output

One record per business (type: "business"):

{
"source": "booksy",
"type": "business",
"businessId": "1303645",
"name": "Cutbyjcole",
"profileUrl": "https://booksy.com/en-us/1303645_cutbyjcole_barber-shop_134608_austin",
"category": "Barbershop",
"categories": ["Barbershop"],
"rating": 5,
"reviewScore": 4.95,
"reviewsCount": 36,
"pricingLevel": 2,
"priceRange": "$$",
"street": "2226 E Cesar Chavez St",
"city": "Austin",
"state": "TX",
"postalCode": "78702",
"latitude": 30.25563,
"longitude": -97.71954,
"website": "https://cutbyjcole.com",
"instagram": "https://www.instagram.com/cutbyjcole/",
"facebook": null,
"staffCount": 1,
"staff": [{ "name": "Justin Coleman", "position": "Barber" }],
"serviceCount": 3,
"minPrice": 35,
"maxPrice": 80,
"currency": "USD",
"services": [{ "name": "Haircut", "category": "Hair", "price": 60, "durationMinutes": 60 }],
"openHours": [{ "day": "Monday", "from": "10:00", "till": "18:00" }],
"amenities": ["Parking", "Card payments"],
"images": { "logo": "https://...", "cover": "https://...", "photoCount": 24 },
"reviews": [{ "rating": 5, "text": "Great cut", "author": "Andrew", "date": "2026-05-30", "reply": null }],
"contactEmails": ["hello@cutbyjcole.com"],
"socialLinks": { "instagram": "https://instagram.com/cutbyjcole" },
"leadScore": 84,
"searchCategory": "barber-shop",
"searchLocation": "Austin, TX",
"scrapedAt": "2026-06-15T12:00:00.000Z"
}

How much does it cost to scrape Booksy?

This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:

  • Business scraped - One Booksy beauty/wellness business: name, category, rating & reviews, full address & geo, services with prices, staff, hours, Instagram/Facebook, website, lead score.
  • Review scraped - One customer review: rating, text, author, date, owner reply, services & staff mentioned.
  • Contacts enriched - Website crawl of one business for emails, phones and social links.

The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API — start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it daily/weekly with monitorMode to capture only newly listed providers in a market; perfect for lead pipelines.
  • Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/booksy-scraper').call({
searchCategories: ['Hair Salon', 'Nail Salon'],
locations: ['Miami, FL'],
maxResults: 200,
enrichContactEmails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} beauty & wellness providers`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new provider leads straight into your CRM.
  • Slack — get notified when a monitored search finds new providers.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find top-rated hair salons in Miami and list their Instagram and websites" and let it run this scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete local-business lead-gen stack:

Tips

  • Exhaust a big city: add more searchCategories (e.g. Hair Salon + Barber Shop + Nail Salon + Brows & Lashes) — Booksy paginates ~20 businesses per page per category.
  • Get emails: turn on enrichContactEmails. Most direct emails come from the provider's linked website; many solo pros only list an Instagram, which is captured either way.
  • Same-named cities: include the state (Austin, TX vs Austin, MN) — the actor verifies the right market automatically.
  • Cost control: turn off includeBusinessDetails for a fast, cheap listing-only pass (name, rating, address, geo, price range).

FAQ

How do I scrape Booksy for a specific city? Put the city in locations as City, ST (e.g. Austin, TX) and pick one or more searchCategories. Or paste a Booksy city or profile URL into startUrls.

Does it need the Booksy API or a login? No. It reads Booksy's public city pages and public business endpoint — no key, no login, no browser.

Where do the emails come from? Not from Booksy (it routes bookings in-app). With enrichContactEmails on, the actor visits the provider's own linked website and extracts publicly listed contact emails — the same thing a human visitor would see. Instagram/Facebook handles come straight from the Booksy profile.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I monitor new providers automatically? Turn on monitorMode and create a Schedule; each run returns only providers not seen before.

Is scraping Booksy legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR/CCPA for personal data) and Booksy's terms.

A field is null — why? Some providers genuinely don't publish a website, phone, or full service menu. Fields are null only when the data doesn't exist, not because the scraper skipped them.

Data & lawful use

This Actor reads business and professional listings that the professionals themselves published to be found: names, roles, firms, ratings and the contact details shown on the public listing. Because those details belong to identifiable people, treat the output as personal data. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis (usually legitimate interest for B2B prospecting or market research), keep any outreach relevant to the professional's line of work, honour opt-outs and deletion requests, and do not use the output for spam.

Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Booksy or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

"Booksy" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official Booksy product, is not authorised or certified by Booksy, and does not distribute Booksy software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.