Booksy Scraper — Beauty & Wellness Provider Leads avatar

Booksy Scraper — Beauty & Wellness Provider Leads

Pricing

from $7.00 / 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.

Pricing

from $7.00 / 1,000 business scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Share

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

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"
}

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.

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.