Com APIjomalone.com.hk ↗
Access the full Jo Malone London Hong Kong cologne catalog via API. Returns product IDs, names, descriptions, and complete ingredient lists for all colognes.
What is the Com API?
The Jo Malone Hong Kong API exposes the complete cologne catalog from jomalone.com.hk through a single endpoint, list_colognes, returning up to 4 fields per product — product ID, display name, description, and a parsed ingredient list. It covers the entire cologne collection available on the Hong Kong storefront in one response, with no pagination required.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/5a5a7593-2279-40cc-b874-ebeb7413cb07/list_colognes' \ -H 'X-API-Key: $PARSE_API_KEY'
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 jomalone-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: Jo Malone London HK SDK — bounded, re-runnable; every call capped."""
from parse_apis.jomalone_com_hk_api import JoMalone, ParseError
client = JoMalone()
# List all colognes with ingredients, capped at 3 for demo
for cologne in client.colognes.list(limit=3):
print(cologne.name, cologne.ingredients)
# Get a single cologne using .first()
item = client.colognes.list(limit=1).first()
try:
print(item.name, item.description, item.ingredients)
except ParseError as e:
print("error:", e)
print("exercised: colognes.list")
Lists all Jo Malone London colognes available on the Hong Kong store with their full ingredient lists. Each cologne includes its display name, description, and parsed ingredients from the official product data. Results are returned in a single page covering the complete cologne catalog.
No input parameters required.
{
"type": "object",
"fields": {
"total": "total number of colognes returned",
"colognes": "array of cologne objects with product_id, name, description, and ingredients"
},
"sample": {
"data": {
"total": 36,
"colognes": [
{
"name": "Grapefruit Cologne",
"product_id": "10041",
"description": "Abundant grapefruit groves in coastal Spain. Rosemary, peppermint and pimento add perfect piquancy to grapefruit's bright and sunny nature. Uplifting and refreshing.",
"ingredients": [
"Alcohol Denat.",
"Water\\Aqua\\Eau",
"Fragrance (Parfum)",
"Limonene",
"Linalool",
"Geraniol",
"Citral",
"Eugenol",
"Alpha-Isomethyl Ionone",
"Coumarin",
"Amyl Cinnamal",
"Citronellol",
"Bht"
]
}
]
},
"status": "success"
}
}About the Com API
What the API Returns
The list_colognes endpoint returns a flat list of all Jo Malone London colognes sold on the Hong Kong storefront. Each response includes a total count and a colognes array. Every item in that array carries a product_id, a name (the display title as shown on the site), a description (the marketing copy tied to that fragrance), and an ingredients field containing the parsed component list from the official product data.
Endpoint Inputs and Behavior
list_colognes takes no input parameters. The entire cologne catalog is returned in a single response — there are no filters, cursor tokens, or pagination arguments to manage. This makes it straightforward to build a local index or diff against a previously cached snapshot to detect catalog changes.
Coverage and Scope
Coverage is limited to the Hong Kong English-language cologne category (/en-e-HK/colognes/view-all-colognes). Products outside the cologne classification — such as candles, bath, or home products — are not included. The ingredients field reflects the official formulation data attached to each product listing, which is useful for allergen checking, fragrance research, or regulatory compliance workflows.
The Com API is a managed, monitored endpoint for jomalone.com.hk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jomalone.com.hk 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 jomalone.com.hk 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a fragrance ingredient database indexed by Jo Malone cologne product ID
- Check for allergens or restricted compounds across the full cologne catalog using the ingredients field
- Monitor the Hong Kong cologne catalog for new product additions by diffing total counts over time
- Populate a fragrance comparison tool with product names and descriptions from the HK store
- Feed cologne ingredient data into a perfumery research or formulation tool
- Sync a product catalog for a grey-market or reseller application with official naming and descriptions
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Jo Malone London offer an official developer API?+
What does the ingredients field contain exactly?+
ingredients field contains the parsed ingredient list as it appears in the official product data for each cologne — the same list used for regulatory and labeling purposes. It is returned per-cologne item inside the colognes array.Does the API cover products outside the cologne category, such as candles or diffusers?+
Does the API support filtering by ingredient or fragrance note?+
list_colognes returns the full catalog without filter parameters. You can fork it on Parse and revise it to add server-side filtering by ingredient or keyword against the returned fields.