Jomashop Luxury Watch Grey Market Listings Scraper
ECOMMERCE
Jomashop Luxury Watch Grey Market Listings Scraper
Scrapes Jomashop's public Magento GraphQL API to collect luxury watch, jewelry, fragrance, and apparel listings — including grey-market discounted prices, MSRP anchors, and the full discount delta.
What does this actor do?
Jomashop is the canonical grey-market discounter for luxury goods. Unlike retail scrapers that parse HTML, this actor targets the public Magento PWA GraphQL endpoint at /graphql — the same API the Jomashop storefront itself uses. The HTML shell contains no inline prices; all product data lives in GraphQL responses.
Two modes:
- Firehose — paginate all products in a category (e.g., all 49,882+ Watches) using
category_uid. - Targeted — fetch specific products by URL key (slug) for price monitoring or one-off lookups.
Output fields
| Field | Type | Description |
|---|---|---|
sku |
string | Magento SKU (e.g. OM12320272055003) |
name |
string | Full product name |
url_key |
string | Product URL slug |
product_url |
string | Full URL on jomashop.com |
category |
string | Category name (Watches, Jewelry, Fragrances, Accessories) |
stock_status |
string | IN_STOCK or OUT_OF_STOCK |
final_price_usd |
number | Grey-market discounted price (USD) |
regular_price_usd |
number | MSRP / regular price (USD) |
discount_amount_usd |
number | Absolute discount (USD) — the arbitrage delta |
discount_pct |
number | Discount percentage off regular price |
currency |
string | Always USD |
image_url |
string | Primary product image |
image_urls |
string | All product images (pipe-separated) |
short_description_html |
string | Short description HTML |
weight |
number | Product weight (kg) where available |
scraped_at |
string | ISO 8601 scrape timestamp |
Input options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxItems |
integer | 10 | Max records to collect. Use 0 for unlimited. |
categoryUid |
string | ODcx |
Magento category UID. ODcx = Watches (49,882+ products). Leave blank to walk all top-level categories. |
urlKeys |
string[] | [] |
Product URL keys for targeted lookup. When set, categoryUid is ignored. |
Known category UIDs
| UID | Category | Products |
|---|---|---|
ODcx |
Watches | 49,882+ |
OA== |
Jewelry | varies |
MQ== |
Fragrances | varies |
NQ== |
Accessories | varies |
Example output
{
"sku": "TIST1224071105100",
"name": "Tissot Carson Automatic Black Dial Men's Watch T122.407.11.051.00",
"url_key": "tissot-carson-watch-t1224071105100",
"product_url": "https://www.jomashop.com/tissot-carson-watch-t1224071105100.html",
"category": "Watches",
"stock_status": "IN_STOCK",
"final_price_usd": 390,
"regular_price_usd": 390,
"discount_amount_usd": 0,
"discount_pct": 0,
"currency": "USD",
"image_url": "https://cdn2.jomashop.com/media/catalog/product/...",
"image_urls": "https://cdn2.jomashop.com/media/catalog/product/...",
"short_description_html": "Tissot T122.407.11.051.00 Mens",
"weight": 1.93,
"scraped_at": "2026-05-28T17:55:46.523Z"
}
Use cases
- Grey-market price monitoring — track Jomashop discounts vs. brand MSRP and Chrono24 resale prices
- Arbitrage intelligence — identify the largest
discount_amount_usdopportunities across categories - MAP enforcement — monitor unauthorized grey-market pricing of brand products
- Market intelligence — build price history for luxury goods sold through authorized discounters
- Dropship research — identify in-stock luxury goods at aggressive margins
Technical notes
- No proxy required — the GraphQL endpoint is accessible from any IP without residential proxy
- No captcha — no bot protection on the API layer (unlike the HTML storefront)
- Public API — Magento PWA GraphQL at
https://www.jomashop.com/graphql; no authentication needed - Firehose throughput — 20 products per page, 500ms courtesy delay; 49,882 Watches = ~2,495 pages
- No
search:argument — usescategory_uidandurl_keyfilters only (search returns internal server error on this store) - No
manufacturerfield — brand is parsed from the product name; numeric attribute IDs break the query
Limitations
- Category UIDs must be known in advance; the actor ships with the top-level UIDs for Watches, Jewelry, Fragrances, and Accessories
- The
manufacturerattribute is a numeric ID and cannot be queried directly — brand appears as the leading token inname - Introspection is disabled on this endpoint