Bob's Watches Pre-Owned Listings Scraper avatar

Bob's Watches Pre-Owned Listings Scraper

Pricing

Pay per event

Go to Apify Store
Bob's Watches Pre-Owned Listings Scraper

Bob's Watches Pre-Owned Listings Scraper

Scrapes certified pre-owned luxury watch listings from Bob's Watches — the largest US pre-owned Rolex dealer. Extracts brand, model, reference number, price, condition, materials, and availability across Rolex, Patek Philippe, AP, Omega, Cartier, and Tudor.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrapes certified pre-owned luxury watch listings from Bob's Watches — the largest US pre-owned Rolex dealer. Returns structured records including brand, model, reference number, price, condition, case material, and availability for listings across Rolex, Patek Philippe, Audemars Piguet, Omega, Cartier, and Tudor collections.

What it does

The scraper crawls Bob's Watches brand collection pages (e.g., /rolex/, /patek-philippe/) and extracts the full schema.org Product JSON-LD embedded in each listing card. Each page shows up to 45 watches; the scraper follows pagination automatically until maxItems is reached or the collection is exhausted.

No authentication, no CAPTCHA, no residential proxy required — the site serves complete product data in structured markup accessible via standard HTTP.

Use cases

  • Dealer arbitrage — compare Bob's Watches retail asks against Chrono24, grey-market, and other dealer listings by reference number
  • Insurance / appraisal comps — use price and condition fields as US certified retail reference data
  • Inventory monitoring — track availability changes on specific references by scheduling regular runs
  • Market research — analyze pricing trends across Rolex model lines, materials, and condition grades

Example output

{
"listingId": "189935",
"title": "Used Yellow Gold Rolex Daytona ref 116518 Champagne Dial",
"brand": "Rolex",
"model": "Daytona",
"referenceNumber": "116518",
"priceUsd": 45995,
"condition": "UsedCondition",
"caseMaterial": "Yellow Gold",
"availability": "InStock",
"productUrl": "https://www.bobswatches.com/used-yellow-gold-rolex-daytona-ref-116518-champagne-dial.html",
"imageUrls": "https://www.bobswatches.com/images/zUsed-Rolex-Daytona-116518-SKU189935.jpg",
"scrapedAt": "2026-06-11T03:53:46.848Z"
}

Input

FieldTypeDefaultDescription
maxItemsintegerMaximum number of listings to return. Required.
brandsarray of strings["rolex"]Brand collection slugs to scrape. Valid values: rolex, patek-philippe, audemars-piguet, omega, cartier, tudor. Pass an empty array to scrape all brands.

Example input

{
"maxItems": 500,
"brands": ["rolex", "patek-philippe"]
}

To scrape all available brands:

{
"maxItems": 5000,
"brands": []
}

Output fields

FieldTypeDescription
listingIdstringBob's Watches internal listing / SKU identifier
titlestringFull listing title
brandstringWatch brand (Rolex, Patek Philippe, etc.)
modelstringWatch model line (Submariner, Daytona, Nautilus, etc.)
referenceNumberstringManufacturer reference number / MPN (e.g., 116610LN)
priceUsdnumberListed retail price in USD
conditionstringItem condition — UsedCondition or NewCondition
caseMaterialstringCase material or color (e.g., Stainless Steel, Yellow Gold)
availabilitystringStock status — InStock or OutOfStock
productUrlstringCanonical listing URL on bobswatches.com
imageUrlsstringPipe-separated list of product image URLs
scrapedAtstringISO-8601 scrape timestamp

Notes

  • The scraper respects Bob's Watches robots.txt crawl-delay directive and does not hammer the server.
  • Bob's Watches carries ~3,000–6,000 live listings across all supported brands. A full-catalog run with maxItems: 10000 and brands: [] will complete within the default timeout.
  • The referenceNumber field (MPN) is the key for cross-dealer arbitrage joins — it matches the standard Rolex reference format used by Chrono24, WatchBox, and other platforms.