Discover/Com API
live

Com APIsabon.com.hk

Browse Sabon Hong Kong's Eau de Sabon perfume collection and view detailed information about fragrance notes and ingredients for each scent. Quickly find and compare perfumes to discover your ideal fragrance profile.

This API takes change requests — .
Endpoint health
monitored
get_perfume
list_perfumes
Checks pendingself-healing
Endpoints
2
Updated
2h ago
This call costs10 credits / call— charged only on success
Try it

No input parameters required.

api.parse.bot/scraper/dfce7135-2e4a-46b2-adaa-21d645c38d60/<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/dfce7135-2e4a-46b2-adaa-21d645c38d60/list_perfumes' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace sabon-com-hk-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Sabon HK Perfumes SDK — bounded, re-runnable; every call capped."""
from parse_apis.sabon_com_hk_api import Sabon, PerfumeNotFound

client = Sabon()

# List all perfumes with their fragrance notes
for perfume in client.perfumes.list(limit=3):
    print(perfume.name, perfume.price, perfume.currency)
    print("  Top:", perfume.fragrance_notes.top_notes)
    print("  Middle:", perfume.fragrance_notes.middle_notes)
    print("  Base:", perfume.fragrance_notes.base_notes)

# Get a specific perfume by slug
item = client.perfumes.list(limit=1).first()
try:
    detail = client.perfumes.get(slug=item.slug)
    print(detail.name, detail.in_stock)
except PerfumeNotFound as e:
    print(f"not found: {e.slug}")

print("exercised: perfumes.list / perfumes.get")
All endpoints · 2 totalmissing one? ·

Lists all Sabon perfumes (Eau de Sabon line) with their fragrance notes, pricing, and availability. Returns the complete catalog in a single response.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "total": "integer count of perfumes returned",
    "perfumes": "array of perfume objects with name, fragrance notes, pricing, and availability"
  },
  "sample": {
    "data": {
      "total": 3,
      "perfumes": [
        {
          "sku": "69296d8176b3d60001c1fa38",
          "name": "Eau de Sabon White Tea 80ml",
          "slug": "eau-de-sabon-white-tea-80ml",
          "price": 480,
          "images": [
            "https://img.shoplineapp.com/media/image_clips/6989896b6bb50c4e8421cd4c/original.png?1770621290=&owner_id=68ecdab49040b9008eb3361f"
          ],
          "currency": "HKD",
          "in_stock": false,
          "description": "Our White Tea EAU de SABON is a truly unique perfume which can be enjoyed alone or mixed with other White Tea body products as a final, fragrant touch. Top notes: Fig, Lemon, JasmineMiddle notes: Nutmeg, Cardamom, White TeaBase notes: Violet, Cedar Wood, Thyme",
          "fragrance_notes": {
            "top_notes": [
              "Fig",
              "Lemon",
              "Jasmine"
            ],
            "base_notes": [
              "Violet",
              "Cedar Wood",
              "Thyme"
            ],
            "middle_notes": [
              "Nutmeg",
              "Cardamom",
              "White Tea"
            ]
          }
        }
      ]
    },
    "status": "success"
  }
}

About the Com API

The Com API on Parse exposes 2 endpoints for the publicly available data on sabon.com.hk. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.