Skip to main content

AI Marketplace Monitor

PyPI - Version PyPI - Python Version Tests Codecov Read the Docs PyPI - License

Black pre-commit Contributor Covenant

An intelligent tool that monitors Facebook Marketplace listings using AI to help you find the best deals. Get instant notifications when items matching your criteria are posted, with AI-powered analysis of each listing.

๐Ÿ“š Read the Full Documentation

Search In Action

Example notification from PushBullet:

Found 1 new gopro from facebook
[Great deal (5)] Go Pro hero 12
$180, Houston, TX
https://facebook.com/marketplace/item/1234567890
AI: Great deal; A well-priced, well-maintained camera meets all search criteria, with extra battery and charger.

What's New

  • Built-in Web UI: Edit config, add AI backends, and monitor live logs from your browser โ€” starts automatically with the monitor. See Web UI documentation.
  • Anthropic/Claude AI Backend: Use Claude models (e.g. claude-sonnet-4-20250514) to evaluate listings alongside OpenAI, DeepSeek, Gemini, and Ollama. See AI Services for configuration.
  • Configurable Rate Limiting: Rate limiting framework for all notification types with per-instance and global limits. Telegram notifications use optimized defaults automatically.

Table of Contents:

โœจ Key Features

๐Ÿ” Smart Search

  • Search multiple products using keywords
  • Filter by price and location
  • Exclude irrelevant results and spammers
  • Support for different Facebook Marketplace layouts

๐Ÿค– AI-Powered

  • Intelligent listing evaluation
  • Smart recommendations
  • Multiple AI service providers supported
  • Self-hosted model option (Ollama)

๐Ÿ“ฑ Notifications

  • PushBullet, PushOver, Telegram, or Ntfy notifications
  • HTML email notifications with images
  • Customizable notification levels
  • Repeated notification options

๐Ÿ–ฅ๏ธ Web UI

  • Built-in config editor with TOML syntax highlighting
  • Live log streaming and filtering
  • Add, edit, and delete config sections from your browser
  • No password required on localhost

Web UI

๐ŸŒŽ Location Support

  • Multi-city search
  • Pre-defined regions (USA, Canada, etc.)
  • Customizable search radius
  • Flexible seller location filtering

๐Ÿš€ Quick Start

โš ๏ธ Legal Notice: Facebook's EULA prohibits automated data collection without authorization. This tool was developed for personal, hobbyist use only. You are solely responsible for ensuring compliance with platform terms and applicable laws.

Installation

Requires Python 3.10 or higher. Check your version with python --version. If your system default is older, use pip3.10 (or pip3.11, pip3.12, etc.) instead of pip, or create a virtual environment with the correct version.

pip install ai-marketplace-monitor
playwright install

Basic Configuration

Create ~/.ai-marketplace-monitor/config.toml:

[marketplace.facebook]
search_city = 'houston'  # Replace with your city

[item.gopro]
search_phrases = 'Go Pro Hero 11'
min_price = 100
max_price = 300

[user.me]
pushbullet_token = 'your_token_here'  # Get from pushbullet.com

Run the Monitor

ai-marketplace-monitor

The program will open a browser, search Facebook Marketplace, and notify you of matching items. A web UI also starts automatically at http://127.0.0.1:8467 for editing config and monitoring logs โ€” see Web UI Guide.

Run with Docker

A prebuilt Linux image is published to GitHub Container Registry. It bundles Python, Playwright Chromium, a virtual display (Xvfb), and an embedded noVNC client so you can solve Facebook CAPTCHAs / interactive logins from the web UI โ€” useful on macOS, headless servers, or NAS boxes.

docker run -d --name aimm \
  -p 8467:8467 \
  -v "$HOME/.ai-marketplace-monitor:/root/.ai-marketplace-monitor" \
  -e FACEBOOK_USERNAME -e FACEBOOK_PASSWORD \
  -e ANTHROPIC_API_KEY \
  --restart unless-stopped \
  ghcr.io/bopeng/ai-marketplace-monitor:latest

Then open http://localhost:8467. When Facebook needs an interactive login or CAPTCHA, click the Browser button in the header to view and control the in-container Chromium.

Mounting ~/.ai-marketplace-monitor shares your existing config, cache, and logs between the host install and the container โ€” so you can switch back and forth freely. Update with docker pull ghcr.io/bopeng/ai-marketplace-monitor:latest && docker restart aimm.

To build the image yourself instead of pulling: docker build -t aimm . from a checkout of this repo.

๐Ÿ’ก Example Usage

Find GoPro cameras under $300:

[item.gopro]
search_phrases = 'Go Pro Hero'
keywords = "('Go Pro' OR gopro) AND (11 OR 12 OR 13)"
min_price = 100
max_price = 300

Search nationwide with shipping:

[item.rare_item]
search_phrases = 'vintage collectible'
search_region = 'usa'
delivery_method = 'shipping'
seller_locations = []

AI-powered filtering:

[ai.openai]
api_key = 'your_openai_key'

[item.camera]
description = '''High-quality DSLR camera in good condition.
Exclude listings with water damage or missing parts.'''
rating = 4  # Only notify for 4+ star AI ratings

๐Ÿ“š Documentation

For detailed information on setup and advanced features, see the comprehensive documentation:

Key Topics Covered in Documentation

Notification Setup:

  • Email (SMTP), PushBullet, PushOver, Telegram, Ntfy
  • Multi-user configurations
  • HTML email templates

AI Integration:

  • OpenAI, DeepSeek, Gemini, Anthropic, Ollama setup
  • Custom prompt configuration
  • Rating thresholds and filtering

Advanced Search:

  • Multi-city and region search
  • Currency conversion
  • Keyword filtering with Boolean logic
  • Proxy/anonymous searching

Configuration:

  • TOML file structure
  • Environment variables
  • Multiple marketplace support
  • Language/translation support

๐Ÿค Contributing

Contributions are welcome! Here are some ways you can contribute:

  • ๐Ÿ› Report bugs and issues
  • ๐Ÿ’ก Suggest new features
  • ๐Ÿ”ง Submit pull requests
  • ๐Ÿ“š Improve documentation
  • ๐Ÿช Add support for new marketplaces
  • ๐ŸŒ Add support for new regions and languages
  • ๐Ÿค– Add support for new AI providers
  • ๐Ÿ“ฑ Add new notification methods

Please read our Contributing Guidelines before submitting a Pull Request.

๐Ÿ“œ License

This project is licensed under the Affero General Public License (AGPL). For the full terms and conditions, please refer to the official GNU AGPL v3.

๐Ÿ’ฌ Support

We provide multiple ways to access support and contribute to AI Marketplace Monitor:

Important Note: Due to time constraints, priority support is provided to sponsors and donors. For general questions, please use the GitHub Discussions or Issues.

๐Ÿ™ Credits

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_marketplace_monitor-0.10.2.tar.gz (7.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_marketplace_monitor-0.10.2-py3-none-any.whl (329.3 kB view details)

Uploaded Python 3

File details

Details for the file ai_marketplace_monitor-0.10.2.tar.gz.

File metadata

  • Download URL: ai_marketplace_monitor-0.10.2.tar.gz
  • Upload date:
  • Size: 7.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for ai_marketplace_monitor-0.10.2.tar.gz
Algorithm Hash digest
SHA256 f97d58f28391ed84cedc77b273dbfb25979176c620ec1e28875f1b108bfce8c5
MD5 5096c83b73a796ec628974dfd72b5e6d
BLAKE2b-256 3f326c9d0b274b0048749806a4fa14cd90d5d55f562d234a0a1b72c946f36e1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_marketplace_monitor-0.10.2.tar.gz:

Publisher: release.yml on BoPeng/ai-marketplace-monitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_marketplace_monitor-0.10.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_marketplace_monitor-0.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 502f994777fcb674c7c28cb244c2ff5316f46a1df07d61f9d0799ebbbfaeaf0a
MD5 e4b97c4896c079463d430c1197ee6db6
BLAKE2b-256 1e28d64b9a44454d80b8a7932135054ce5a5464250b5d46383cc1d8b350e920b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_marketplace_monitor-0.10.2-py3-none-any.whl:

Publisher: release.yml on BoPeng/ai-marketplace-monitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page