Discover/Fresha API
live

Fresha APIfresha.com

Search Fresha salons and spas, retrieve service pricing, check appointment availability, and browse help center articles via a single structured API.

This API takes change requests — .
Endpoint health
verified 5d ago
get_knowledge_base_category
get_knowledge_base_article
get_search_filters
search_businesses
get_business_details
9/9 passing latest checkself-healing
Endpoints
9
Updated
5d ago

What is the Fresha API?

The Fresha API exposes 9 endpoints covering the full Fresha beauty and wellness marketplace: search businesses by location and keyword, pull detailed venue profiles with service pricing and working hours, and check real appointment availability by date. The search_businesses endpoint returns paginated results including each business's rating, review count, address, and service list, with a slug you carry forward to get_business_details and get_availability.

This call costs1 credit / call— charged only on success
Try it
Pagination cursor from a previous response's endCursor field.
Number of results to return per page.
Search keyword (e.g. 'hair salon', 'massage', 'nails').
Latitude of the search location.
Longitude of the search location.
api.parse.bot/scraper/bf942bc5-c330-41c8-adb7-3648c24f18e1/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/bf942bc5-c330-41c8-adb7-3648c24f18e1/search_businesses?limit=5&query=massage&latitude=40.7128&longitude=-74.006' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 9 totalmissing one? ·

Search for beauty and wellness businesses by location and optional keyword. Returns paginated results with business details, services offered, ratings, and pricing. Each result includes the business slug needed for get_business_details and get_availability. Pagination uses cursor-based navigation via the endCursor field.

Input
ParamTypeDescription
afterstringPagination cursor from a previous response's endCursor field.
limitintegerNumber of results to return per page.
querystringSearch keyword (e.g. 'hair salon', 'massage', 'nails').
latitudenumberLatitude of the search location.
longitudenumberLongitude of the search location.
Response
{
  "type": "object",
  "fields": {
    "count": "integer total number of matching businesses",
    "edges": "array of business objects each with id, name, slug, rating, reviewsCount, address, currency, description, images, services, and servicesExpandLabel at top level",
    "endCursor": "string pagination cursor for the next page",
    "hasNextPage": "boolean whether more results are available"
  },
  "sample": {
    "data": {
      "count": 447,
      "edges": [
        {
          "id": "283271",
          "name": "Tribeca Hair Studio NYC",
          "slug": "tribeca-hair-studio-nyc-new-york-74-chambers-st-k6zp5nas",
          "rating": 5,
          "address": {
            "latitude": 40.714,
            "longitude": -74.007,
            "simpleFormatted": "74 Chambers St, New York"
          },
          "currency": "USD",
          "services": [
            {
              "id": "22346906",
              "name": "Haircut (Barbering)",
              "caption": "20 min - 45 min",
              "formattedRetailPrice": "from $55"
            }
          ],
          "description": "Tribeca Hair Studio was built on a simple belief: excellence is the standard.",
          "reviewsCount": 2881,
          "servicesExpandLabel": "View 54 matching services"
        }
      ],
      "endCursor": "WzEuMCwxLjIwMjEyMTY2MDU2MzcxMTcsNDA3Mjc2XQ==",
      "hasNextPage": true
    },
    "status": "success"
  }
}

About the Fresha API

Business Search and Venue Profiles

The search_businesses endpoint accepts a query string (e.g. 'hair salon', 'massage') plus latitude and longitude coordinates and returns a paginated list of matching venues. Each result node includes id, name, slug, rating, reviewsCount, address, and a services array. Pagination is cursor-based: pass the endCursor value from one response as the after parameter on the next call. The get_business_details endpoint takes a slug from those results and returns the full venue profile — description, contactNumber, working hours, photos, employee profiles, amenities, and a services array with per-service pricing.

Availability and Filtering

get_availability accepts a slug and an ISO date string (YYYY-MM-DD) and returns either actual bookable time slots per service (for Fresha-partnered businesses with online booking enabled) or working hours for that day (for non-partnered listings). Each service entry in the response includes service_id, service_name, duration, price, and an available_times array, plus a has_more_times flag. The booking_type field distinguishes 'online' from 'call_to_book' venues. get_search_filters returns location-specific facets — highlights (e.g. Pet-friendly), amenities (e.g. Parking, Sauna), and values (e.g. Woman-owned, LGBTQ+) — useful for building filter UIs without hardcoding options.

Categories and Discovery

get_business_categories returns all treatment and service categories available on the Fresha marketplace, each node containing an id, name, and icon, alongside suggested locations. This endpoint requires no parameters and is useful for populating category browsers or validating query values before passing them to search_businesses.

Help Center Knowledge Base

Three endpoints cover the Fresha Help Center. get_knowledge_base_categories lists all top-level categories with title, slug, and url. get_knowledge_base_category takes a category_slug and returns article stubs with title, description, url, and slug. get_knowledge_base_article takes both article_slug and category_slug and returns the full article content, thumbnail, and description. search_knowledge_base runs a full-text search over articles and returns hits with previewDescription, categorySlug, and thumbnailImage, plus an estimatedTotalHits count.

Reliability & maintenanceVerified

The Fresha API is a managed, monitored endpoint for fresha.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when fresha.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official fresha.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5d ago
Latest check
9/9 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a location-aware salon finder that surfaces nearby businesses with ratings, reviews, and service pricing from search_businesses.
  • Display real-time appointment availability for a specific venue and date using get_availability service slots and booking_type flags.
  • Aggregate service menus and pricing across multiple venues in a city using get_business_details for competitive analysis.
  • Populate a category and filter browse UI without hardcoding values by pulling data from get_business_categories and get_search_filters.
  • Index Fresha Help Center documentation into an internal knowledge base using search_knowledge_base and get_knowledge_base_article.
  • Track new business listings in a metro area over time by paginating search_businesses results with the cursor-based after parameter.
  • Build a booking-type classifier that segments Fresha venues into online-bookable vs. call-to-book using the booking_type field from get_availability.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Fresha have an official public developer API?+
Fresha offers a partner/integration API documented at https://developers.fresha.com, but it is gated behind a partnership application and is not publicly available for general developer use. This Parse API provides structured access to marketplace data without requiring a Fresha partnership.
What does `get_availability` return for businesses that don't support online booking?+
For non-partnered ('LVP') listings, the endpoint returns the business's working hours for the requested day, the day_of_week string, and contact details. The booking_type field will be 'call_to_book' rather than 'online', and the services array will not include available_times slots.
Does the API return customer photos or uploaded images from venue galleries?+
The get_business_details endpoint includes a photos array for the venue, and get_knowledge_base_article returns a thumbnail URL. Customer-uploaded review photos are not currently exposed as a distinct field. You can fork this API on Parse and revise it to add a dedicated review-photos endpoint.
Can I filter `search_businesses` results by amenities or values like 'Woman-owned'?+
search_businesses accepts query, latitude, longitude, limit, and after as inputs. Passing filter IDs (from get_search_filters) directly as search parameters is not currently supported in the endpoint signature. You can fork this API on Parse and revise the search_businesses endpoint to accept and forward filter facet IDs.
How does pagination work in `search_businesses`?+
The response includes an endCursor string and a hasNextPage boolean. Pass endCursor as the after parameter in your next request to retrieve the following page. If hasNextPage is false, you have reached the last page. The count field in the response gives the total number of matching businesses across all pages.
Page content last updated . Spec covers 9 endpoints from fresha.com.
Related APIs in MarketplaceSee all →
booksy.com API
Retrieve detailed business information including ratings, reviews, and booking links from Booksy, and check real-time available appointment time slots to schedule your next visit. Perfect for finding service providers and managing your bookings all in one place.
yelp.com API
Search for businesses on Yelp and access their detailed information including reviews, photos, and ratings all from one interface. Get comprehensive business data like hours, contact details, and customer feedback without visiting Yelp directly.
hipages.com.au API
Search for local service businesses on hipages.com.au, view detailed business profiles and customer reviews, and explore available service categories all in one place. Find the right tradesperson or service provider by browsing ratings, contact information, and customer feedback.
serviceseeking.com.au API
Search and browse job postings and local service providers across Australia on ServiceSeeking.com.au. View detailed business profiles, ratings, pricing, and explore hundreds of service categories — from tradespeople to home services and beyond.
es.booksy.com API
Access data from es.booksy.com.
flippa.com API
Search and browse digital assets like websites, domains, and SaaS businesses listed on Flippa's marketplace, with detailed filtering by country and listing details. Access comprehensive information on thousands of digital business listings to find investment opportunities or monitor the market.
canada.businessesforsale.com API
Search and browse businesses for sale and franchise opportunities across Canada, retrieving detailed listing information to find investment opportunities that match your interests. Explore comprehensive data on available businesses and franchises to make informed decisions about potential acquisitions.
fazaa.com API
Search and browse offers, categories, and locations on Fazaa.ae, plus access membership benefits and special services like used cars, long-term leases, daily rentals, and Amakin deals. Find services near you on an interactive map and get detailed information on any offer that interests you.