OrbTop

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_usd opportunities 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 — uses category_uid and url_key filters only (search returns internal server error on this store)
  • No manufacturer field — 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 manufacturer attribute is a numeric ID and cannot be queried directly — brand appears as the leading token in name
  • Introspection is disabled on this endpoint