The Honey Barrel Overview Develop a Chrome extension that scrapes whisky/wine bottle information from e-commerce and retail websites, then cross-references with the BAXUS marketplace to determine if the same bottles are available at better prices. Problem Statement Wine and whisky enthusiasts often search multiple retailers to find the best deals on bottles. This process is time-consuming and inefficient. A browser extension that automatically identifies bottles on third-party websites and compares prices with BAXUS marketplace offerings would provide significant value to users and drive traffic to the BAXUS platform. Objectives
GET https://services.baxus.co/api/search/listings?from=0&size=20&listed=true Additional Notes The extension should prioritize user privacy and security while delivering value through accurate price comparisons. Focus on creating a seamless experience that drives users to the BAXUS marketplace when better deals are available. Consider how to handle edge cases like limited editions, rare bottles, or special packages
I'll help you create a Chrome extension called "The Honey Barrel" that compares whisky/wine bottle prices across e-commerce sites with the BAXUS marketplace. Let me think through the architecture and implementation.
I'll create a Chrome extension that scrapes whisky/wine bottle information from retail websites and compares prices with the BAXUS marketplace. Let's build this step by step.
The extension will have these main components:
Let's start by implementing the core files:
The Honey Barrel is a Chrome extension that helps wine and whisky enthusiasts find better deals by comparing prices between retail websites and the BAXUS marketplace. Here's how it works:
The extension is built with these components:
The matching algorithm uses a combination of techniques:
To complete the extension:
This implementation provides a solid foundation for The Honey Barrel extension, meeting all the requirements specified in the project brief.
You are trying to access the bottle name from the DOM but you should access it from the url slug. From the slug get the id and make a get request to https://services.baxus.co/api/asset/:id to get the bottle details. I am attaching a sample response of this get request for your convenience.
{ "index": "listings", "id": "7CiXto9oevPNbzuZH5F4zkov7zMjx6M9kX5dpbVNYTv5", "nftAddress": "7CiXto9oevPNbzuZH5F4zkov7zMjx6M9kX5dpbVNYTv5", "imageUrl": "https://assets.baxus.co/655/655.jpg", "blurhash": "UXSr.YWB.mozt8f6RiaypIfkVYaeNGayxaj[", "packageShot": false, "ownerAddress": "7KzNPsSSQtQJ3epk42t45vEFcHvBmTpv9wDGTssUBLjg", "name": "Weller C.Y.P.B 2021 Bottling", "spiritType": "Bourbon", "description": "A special edition Weller product crafted with help from the wider whiskey community. Buffalo Trace asked the public to "Craft Your Perfect Bourbon" by completing a questionnaire. Once this campaign ended it was revealed the perfect bourbon came from a wheated mashbill, aged for 8 years, matured on the highest floors of the rickhouse and would be bottled at 95 proof. Buffalo Trace then released Weller C.Y.P.B using this recipe for barrels.", "price": 400, "listedDate": "2025-04-28T18:16:49.242Z", "isListed": true, "status": "Vaulted", "attributes": { "assetId": 655, "ABV": "47.5", "Age": "8", "Name": "Weller C.Y.P.B 2021 Bottling", "Size": "750 ml", "Type": "Bourbon", "Region": "Kentucky", "Series": "C.Y.P.B", "Barcode": "", "Bottler": "", "Country": "USA", "Blurhash": "UXSr.YWB.mozt8f6RiaypIfkVYaeNGayxaj[", "Producer": "Buffalo Trace", "Cask Type": "New American White Oak", "Packaging": "Bottle", "Glass Date": "", "Cask Number": "", "Description": "A special edition Weller product crafted with help from the wider whiskey community. Buffalo Trace asked the public to "Craft Your Perfect Bourbon" by completing a questionnaire. Once this campaign ended it was revealed the perfect bourbon came from a wheated mashbill, aged for 8 years, matured on the highest floors of the rickhouse and would be bottled at 95 proof. Buffalo Trace then released Weller C.Y.P.B using this recipe for barrels.", "PackageShot": false, "Year Bottled": "2021", "Bottle Number": "", "Producer Type": "Distillery", "Serial Number": "", "Baxus Class ID": "spirit:36636", "Producer Notes": "", "Year Distilled": "2013", "Baxus Class Name": "Weller C.Y.P.B 2021 Bottling", "Original Cask Yield": "" }, "priority": 1, "buyerAddress": null, "lastHeartbeat": null, "inCartExpiration": null }
I'll update the extension to extract the bottle ID from the URL slug and use it to fetch detailed information from the BAXUS API. This will provide more accurate bottle matching. Let me implement these changes.
I've updated the Chrome extension to extract bottle information directly from the BAXUS API using the asset ID from the URL. This provides much more accurate and detailed bottle information for matching.
Direct BAXUS API Integration:
fetchBaxusBottleById(assetId)
that makes a GET request to https://services.baxus.co/api/asset/:id
Enhanced URL Parsing:
extractBaxusAssetId(url)
function to get the asset ID from BAXUS marketplace URLsImproved Bottle Matching:
Updated UI for BAXUS Pages:
Better Data Handling:
On Retail Sites:
On BAXUS Marketplace:
This implementation provides a more accurate and reliable way to match bottles between retail sites and the BAXUS marketplace, as it now uses the official BAXUS API to get detailed bottle information directly from the source.