Fresha venue profile
One Fresha venue: id, slug, name, link, business type, description, business phone, currency, full address with coordinates and map link, rating, review count and the star histogram, price range, open status, opening hours per day, amenities, payment methods, languages, bookable, verified, new, featured, gift-card and deals flags, every service by group with duration, price, price type, discounts and variants, featured services, photos, team members, the latest reviews (rating, text, date, author, reply, photos), nearby venues, breadcrumbs and related pages. Also the venue logo, directions link, the business's website and social links when listed (online_links), portfolio photos with captions, online-payment, voucher, membership, package, product-store and group-appointment flags, the owner business, its other locations, and whether more reviews exist (reviews_more).
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
url | string | The venue's fresha.com/a/<slug> link (from /fresha/v1/search). Example: https://www.fresha.com/a/marhaba-beauty-aesthetics-london-5-kensington-high-street-greater-i4qe5uo4 |
slug | string | The venue slug instead of url. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/fresha/v1/venue?url=https%3A%2F%2Fwww.fresha.com%2Fa%2Fmarhaba-beauty-aesthetics-london-5-kensington-high-street-greater-i4qe5uo4" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/fresha/v1/venue",
params={"url": "https://www.fresha.com/a/marhaba-beauty-aesthetics-london-5-kensington-high-street-greater-i4qe5uo4"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/fresha/v1/venue");
url.searchParams.set("url", "https://www.fresha.com/a/marhaba-beauty-aesthetics-london-5-kensington-high-street-greater-i4qe5uo4");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).