Fresha Scraper β Salon, Spa & Beauty Business Leads
Pricing
from $7.00 / 1,000 venue scrapeds
Fresha Scraper β Salon, Spa & Beauty Business Leads
Scrape Fresha salons, spas, barbers, nail & beauty/wellness businesses by category and city, or from venue URLs. Get name, phone, address, geo, rating & reviews, full service menu with prices, team, hours, amenities and a lead score. Monitoring, no login, no key, no browser.
Pricing
from $7.00 / 1,000 venue scrapeds
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Fresha Scraper β Salon, Spa & Beauty Business Leads (Phones, Services & Prices)
Extract complete beauty & wellness business data from Fresha β salons, spas, barbershops, nail bars, medspas, massage, tattoo studios, gyms and more. Get the fields lead lists actually need: business name, phone, full address + geo, star rating & review count, the full service menu with prices, team members, opening hours and amenities β plus the venue's own website (for unclaimed listings) and optional email/social enrichment.
No login, no API key, no browser β fast JSON extraction with 99%+ reliability, worldwide.
Why this Fresha scraper?
Most beauty scrapers return a name and an address and stop. This actor reads Fresha's own page data and ships the richest record in the category, across both Fresha venue types:
| Data | Typical scrapers | This actor |
|---|---|---|
| Business name, address, geo (lat/lng) | β | β |
| Phone number | partial | β |
| Star rating + review count | partial | β |
| Rating distribution (1β5β breakdown) | β | β |
| Full service menu with prices & durations | β | β |
| Team members + job titles | β | β |
| Opening hours (per day + schema) | β | β |
| Amenities (pet-friendly, woman-owned, LGBTQ+, β¦) | β | β |
| Currency, price range, gift cards & memberships | β | β |
| Venue's own website (unclaimed listings) | β | β |
| Contact emails / phones / socials (website crawl) | β | β opt-in |
| Nearby venues (extra discovery) | β | β opt-in |
| Lead score (0β100) per venue | β | β |
| Monitoring β only new venues | β | β |
It captures both the claimed, bookable venues (/a/) and the unclaimed "lite" listings (/lvp/) β so a single city + category search returns far more businesses than scrapers that see only one type.
Use cases
- Lead generation β salons, spas and barbershops are high-intent local buyers for booking software, payments, POS, marketing, supplies and insurance. Score them by size and reputation (
reviewsCount,serviceCount,teamSize) and reach them byphone,websiteor enrichedcontactEmails. - Local market & pricing intelligence β compare service menus and prices (
services[].price), price ranges and rating distributions across a city or category. - Sales territory building β pull every hair salon / nail bar / medspa in a metro with address, geo and phone for route planning and outreach.
- Competitor & supply monitoring β schedule recurring runs to watch a city/category for newly listed venues with monitoring mode.
- Aggregators & directories β feed apps and marketplaces with structured beauty/wellness venue data, including services and opening hours.
How to use
- Sign up for Apify β the free plan is enough to try this actor.
- Open the Fresha Scraper, choose business types and locations (or paste Fresha URLs), and click Start.
- Watch venues stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS β or pull results via the Apify API.
Input
{"businessTypes":["hair-salons","barbershops","nail-salons"],"locations":["New York, US","London, UK"],"maxResults":200,"includeVenueDetails":true,"includeServices":true,"includeReviews":false,"enrichContactEmails":true,"monitorMode":false}
- businessTypes β
hair-salons,barbershops,nail-salons,beauty-salons,eyebrows-and-lashes,waxing-salons,aesthetics(medspas),spas,massage,tattoo-and-piercing,gym-and-fitness,personal-trainers,tanning-studios,weight-loss,therapy-centers. Friendly words likebarbers,nails,medspa,gymare auto-mapped. Each type is combined with every location. - locations β
City, Country(London, UK,Dubai, AE), USCity, ST(Austin, TX), an optional neighborhood (New York, US, Manhattan), or a raw Fresha geo slug (us-new-york). For non-US locations use the country name (e.g.Toronto, Canada). - startUrls β direct Fresha venue URLs (
/a/β¦or/lvp/β¦) or category/landing URLs (/lp/en/bt/β¦). - maxResults / maxVenuesPerSearch β global and per-search caps.
- minRating / withPhoneOnly / freshaVerifiedOnly β filters.
- includeVenueDetails (default true) β open each venue for phone, services, team, hours, rating distribution and reviews.
- includeServices (default true) β the categorised service menu with prices, durations and variants.
- includeReviews (default false) β output review records (type
review). - includeNearbyVenues (default false) β attach nearby venues found on each page.
- enrichContactEmails (default false) β when a venue links its own website, crawl it for emails, phones and socials.
- monitorMode (default false) β emit only venues not seen in previous runs.
Output
One record per venue (type: "venue"), plus optional review records (type: "review"):
{"type":"venue","venueType":"booking","venueId":"2908118","name":"Forbici London","venueUrl":"https://www.fresha.com/a/forbici-london-london-20-montpelier-street-nwlw36bn","businessType":"Hair Salon","rating":4.9,"reviewsCount":1748,"ratingDistribution":{"5":1644,"4":54,"3":22,"2":11,"1":17},"isFreshaVerified":true,"phone":"+44 7764 821181","street":"20 Montpelier Street","city":"London","area":"Marylebone","postalCode":"SW7 1HD","country":"gb","latitude":51.52137,"longitude":-0.15332,"fullAddress":"20 Montpelier Street, London, England","currency":"GBP","priceMin":10,"priceMax":330,"priceRange":"10 - 330 GBP","serviceCount":188,"serviceCategoryCount":21,"services":[{"category":"Featured","items":[{"name":"Spray Tan","price":35,"currency":"GBP","formattedPrice":"from Β£35","duration":"30 min - 40 min","variants":[{"name":"Full Body Spray Tan","price":"Β£45","duration":"40 min"}]}]}],"teamSize":4,"team":[{"name":"Tyson","jobTitle":"Director Stylist","rating":null}],"amenities":["Pet-friendly","Woman-owned","LGBTQ+"],"openingHours":{"days":[{"day":"Monday","closed":false,"hours":"10:00 AM - 7:00 PM"}],"status":"Open"},"hasGiftCards":true,"hasMemberships":true,"website":null,"contactEmails":[],"leadScore":79,"searchBusinessType":"hair-salons","searchLocation":"London, UK","scrapedAt":"2026-06-15T12:00:00.000Z"}
Unclaimed "lite" venues (venueType: "lite") skip the bookable service menu but add the venue's own website (the best email-enrichment target) plus offeredCategories with treatment names.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API β start runs, fetch datasets, manage schedules over REST.
- apify-client for JavaScript and Python β official SDKs.
- Schedules β run it daily/weekly to track new salons & spas in a city or category; 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 =newApifyClient({token:'MY_APIFY_TOKEN'});const run =await client.actor('scrapesage/fresha-scraper').call({businessTypes:['hair-salons','barbershops'],locations:['Austin, TX'],maxResults:200,enrichContactEmails:true,});const{ items }=await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} beauty & wellness venues`);
Monitoring mode
Turn on monitorMode and the actor remembers every venue id it has returned (in a named key-value store) and emits only new venues on the next run. It pairs cleanly with Schedules β the schedule triggers the run; monitoring decides what's new β so you can watch a city/category for newly listed businesses without conflict or duplicates.
Integrate with any app
Connect the dataset to 5,000+ apps β no code required:
- Make β multi-step automation scenarios.
- Zapier β push new venue leads straight into your CRM.
- Slack β get notified when a monitored search finds new venues.
- 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. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server β ask your assistant to "find the top-rated hair salons in Miami with their phone numbers and prices" and let it run this scraper for you.
More scrapers from scrapesage
Build a complete local-business lead-gen stack:
- Healthgrades Scraper β doctors & healthcare providers with reviews and contacts.
- WebMD Scraper β physicians, insurance and provider leads.
- FindLaw Scraper β lawyers, law firms and contact leads.
- Insurance Agent Scraper β State Farm & Farmers agent leads.
- Financial Advisor Scraper β FINRA & SEC advisor/broker leads.
- Houzz Scraper β home-improvement pros, contacts and reviews.
- Bark Listing Scraper β service-provider leads from Bark.
- Google Ads Transparency Scraper β see who's advertising what.
Tips
- More venues per city: each business-type + city landing returns roughly 40β130 venues. To go deeper, add more business types, target specific neighborhoods (
New York, US, Manhattan), or turn onincludeNearbyVenues. - Best phone coverage: keep
includeVenueDetailson β the phone number lives on the venue page, not the listing. - Emails: claimed Fresha venues keep customers on-platform (no website), but unclaimed "lite" listings often link their own site β turn on
enrichContactEmailsto crawl those for emails and socials. - Cost control: filter with
minRating/withPhoneOnlyand cap withmaxResults. Detail, reviews and enrichment are all opt-in.
FAQ
How do I scrape salons/spas for a specific city? Put the city in locations (Austin, TX, London, UK, Dubai, AE) and pick businessTypes. Each type pairs with each city.
Which categories are supported? Hair salons, barbershops, nail salons, beauty salons, brows & lashes, waxing, medspas/aesthetics, spas, massage, tattoo & piercing, gyms & fitness, personal trainers, tanning, weight loss and therapy/wellness centers.
Where do phone numbers and emails come from? Phones come from the public Fresha venue page. Emails are never taken from Fresha β with enrichContactEmails on, the actor visits a venue's own linked website (mostly unclaimed listings) and extracts publicly listed contacts.
Can I export to Google Sheets, CSV, or Excel? Yes β one click in the dataset view, or automatically every run via the Google Drive integration.
How do I get only new venues over time? Turn on monitorMode and create a Schedule; each run emits only venues not seen before.
A field is null β why? Some venues genuinely don't publish a price, website or reviews (especially unclaimed "lite" listings). Fields are null only when the data doesn't exist, not because the scraper skipped them.
Is scraping Fresha 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 Fresha's terms.
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.
