Skip to content

SinhSinhAn/fb-deal-checker

Repository files navigation

Marketplace Deal Checker

A Chrome extension that tells you whether Facebook Marketplace listings are fairly priced by cross-referencing real eBay sold data in real time.

Browse Marketplace as usual. Each listing gets a compact, frosted-glass badge next to its price showing the deal verdict, the fair market value, and how much you save (or overpay).

Features

Real-Time Price Intelligence

  • Compares every listing against recent eBay sold prices automatically
  • Dual-search strategy: runs two eBay queries per item (full title + extracted key terms) for higher accuracy
  • IQR-based outlier removal filters junk matches (e.g., toy cars vs. real cars)
  • Results are cached so scrolling back never re-fetches

Deal Scoring

  • Great Deal (green): 30%+ below fair value
  • Good Deal (light green): 10-30% below fair value
  • Fair Price (yellow): within 10% of fair value
  • High (orange): 10-30% above fair value
  • Overpriced (red): 30%+ above fair value

Condition-Aware Pricing

  • Detects damage keywords in listing titles: broken, for parts, cracked screen, scratched, missing accessories
  • Shows a warning tag inside the badge so you know the price comparison is against working units
  • Prevents misleading "Great Deal" scores on broken items

Smart Category Filtering

  • Skips vehicles, real estate, and heavy equipment (eBay comparisons are meaningless for these)
  • Allows high-value collectibles at any price: Pokemon cards, sports cards, graded items, designer goods, vintage pieces, coins, watches, art, and more
  • General items capped at $3,000 to avoid irrelevant matches

Clickable Badges

  • Every badge with price data is clickable
  • Opens the eBay sold listings search in a new tab
  • Overpriced items: "Click to find better prices on eBay"
  • Good deals: "Click to compare prices on eBay"

Low Confidence Indicator

  • Badges dim slightly when fewer than 5 eBay sales were found
  • Tooltip shows the exact sample count so you know when to take the estimate with a grain of salt

Liquid Glass UI

  • Frosted-glass badges with backdrop blur, specular highlights, and soft shadows
  • Adapts to Facebook's light or dark theme automatically
  • Smooth entrance animations with reduced-motion support
  • Compact pill design that sits right next to the listing price

Performance

  • 2 parallel lookup workers for faster results
  • MutationObserver detects new listings as you scroll (infinite scroll support)
  • No external API keys required
  • Zero dependencies, no build step

How It Works

  1. A content script detects Facebook Marketplace listing links as you scroll
  2. For each listing, it extracts the title and price from the DOM
  3. The background service worker opens eBay sold-listing searches in hidden browser tabs (bypasses eBay's bot detection)
  4. Two searches run in parallel per item: one with the full cleaned title, one with extracted key terms
  5. Prices are scraped from the rendered eBay page, merged, and outliers are removed using IQR statistics
  6. The deal score and fair value are injected as a glass badge next to the listing price
  7. Results are cached for 30 minutes

Install (Developer Mode)

  1. Clone this repository:
    git clone https://github.com/SinhSinhAn/fb-deal-checker.git
    
  2. Open Chrome and navigate to chrome://extensions
  3. Enable Developer mode (toggle in the top right)
  4. Click Load unpacked
  5. Select the fb-deal-checker folder
  6. Navigate to facebook.com/marketplace and start browsing

Project Structure

fb-deal-checker/
  manifest.json    Manifest V3 configuration
  content.js       Listing detection, deal scoring, badge injection
  background.js    eBay price lookups via hidden browser tabs
  styles.css       Liquid glass badge styles
  popup.html       Extension popup (toggle on/off, stats)
  popup.js         Popup logic
  icons/           Extension icons (16, 48, 128px)

Tech Stack

  • Vanilla JavaScript (no frameworks, no build step)
  • Chrome Extension Manifest V3
  • eBay sold listings as the price data source (no API key needed)
  • CSS backdrop-filter for the frosted glass effect

Permissions

Permission Why
activeTab Inject badges into the Facebook Marketplace page
storage Save the on/off toggle preference
tabs Open hidden eBay tabs for price lookups
scripting Execute price scraping in eBay tabs
*.ebay.com Host permission for eBay searches
*.facebook.com Host permission for content script

Roadmap

  • Publish to Chrome Web Store
  • Support for Facebook Marketplace in other countries/currencies

License

MIT

About

Chrome extension that checks if Facebook Marketplace listings are fairly priced using real eBay sold data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors