Blume Aesthetics Developer API

A read-only JSON API with the public facts on blumeaesthetics.com: the two Perth clinics (Mount Lawley and Jindalee) with addresses, phone numbers, booking links and published opening hours, and the list of treatment and concern pages. There is no booking API and prices are not published.

Authentication

None. Every operation is a public GET.

Endpoints

OperationRequest
listClinicsGET https://blumeaesthetics.com/api/v1/clinics/
listTreatmentsGET https://blumeaesthetics.com/api/v1/treatments/, optional ?kind=treatment|concern|location|page
getTreatmentGET https://blumeaesthetics.com/api/v1/treatments/concern-crows-feet/

Full contract: https://blumeaesthetics.com/openapi.json (OpenAPI 3.1).

Examples

curl -s https://blumeaesthetics.com/api/v1/clinics/
{
 "clinics": [
  {
   "id": "mount-lawley",
   "name": "Blume Aesthetics Mount Lawley",
   "url": "https://blumeaesthetics.com/mount-lawley/",
   "telephone": "+61894814043",
   "email": "info@blumeaesthetics.com",
   "address": {
    "streetAddress": "Shop 4, 83 Walcott Street",
    "addressLocality": "Mount Lawley",
    "addressRegion": "WA",
    "postalCode": "6050",
    "addressCountry": "AU"
   },
   "map_url": "https://www.google.com/maps/search/?api=1&query=Blume+Aesthetics,+Shop+4,+83+Walcott+Street,+Mount+Lawley+WA+6050",
   "opening_hours": [
    {
     "days": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday"
     ],
     "opens": "10:00",
     "closes": "20:00"
    },
    {
     "days": [
      "Friday"
     ],
     "opens": "10:00",
     "closes": "19:00"
    },
    {
     "days": [
      "Saturday"
     ],
     "opens": "09:00",
     "closes": "17:00"
    },
    {
     "days": [
      "Sunday"
     ],
     "opens": "10:00",
     "closes": "17:00"
    }
   ],
   "booking_url": "https://bookings.gettimely.com/blumeaesthetics/book?location=232966"
  }
 ]
}
curl -s https://blumeaesthetics.com/api/v1/treatments/concern-crows-feet/
{
 "treatment": {
  "slug": "concern-crows-feet",
  "name": "Crows Feet / Smile Lines",
  "kind": "concern",
  "url": "https://blumeaesthetics.com/concern-crows-feet/",
  "markdown_url": "https://blumeaesthetics.com/md/concern-crows-feet.md",
  "description": "Learn about crow's feet and smile lines and the treatments available at Blume Aesthetics Perth. Personalised consultations."
 }
}

Errors

Every error is JSON with a code, a message, a hint on how to fix the request, and a link back here.

{
 "error": {
  "code": "not_found",
  "message": "No API resource at this address.",
  "hint": "See https://blumeaesthetics.com/openapi.json for the list of operations.",
  "docs": "https://blumeaesthetics.com/developers/"
 }
}
StatuscodeWhen
400bad_requestA query value is not allowed, for example an unknown kind.
404not_foundNo resource at that address.
405method_not_allowedAnything other than GET, HEAD or OPTIONS.
429rate_limitedOver the rate limit. Wait the seconds in Retry-After.

Rate limits

60 requests per minute per client IP, counted per serving instance (best effort). Every response carries the IETF RateLimit header fields, and a 429 adds Retry-After:

RateLimit-Policy: "default";q=60;w=60
RateLimit: "default";r=59;t=60
Retry-After: 42

Markdown pages

Any page on the site is available as Markdown. Send Accept: text/markdown to the page address, or fetch https://blumeaesthetics.com/md/<slug>.md. A missing page answers 404 with a Markdown body.

curl -s -H "Accept: text/markdown" https://blumeaesthetics.com/

Other resources