A powerful Go-based automation tool that streamlines the process of posting items to Facebook Marketplace. Built with modern web automation using Rod browser library and featuring a beautiful CLI interface.
- 🔐 Secure Authentication: Secure Facebook login with credential management
- 📦 Batch Processing: Automatically process multiple items from organized folders
- 🖼️ Image Upload: Seamless image upload support for product listings
- 📝 Smart Content Parsing: Automatic parsing of product details from structured files
- ⏱️ Intelligent Timing: Random delays between posts to avoid rate limiting
- 🎯 Group Targeting: Automatic selection of relevant Facebook groups
- 🔄 Trial Management: Built-in trial period management system
- 📊 Progress Tracking: Real-time logging and progress monitoring
MONICAH/
├── main.go # Application entry point
├── makefile # Build and run commands
├── go.mod # Go module dependencies
├── utils/ # Core functionality modules
│ ├── login.go # Facebook authentication
│ ├── getrequirements.go # User input collection
│ ├── saverequirements.go # Credential persistence
│ ├── retrieverequirements.go # Credential retrieval
│ ├── getitemsformarketplace.go # Product data parsing
│ ├── posttomarketplace.go # Marketplace posting automation
│ └── updatepath.go # Path management
└── .gitignore # Git ignore rules
- Go 1.23.4 or higher
- Google Chrome browser
- Facebook account
-
Clone the repository
git clone <repository-url> cd MONICAH
-
Install dependencies
make tidy
-
Run the application
make run
Organize your products in the following structure:
products/
├── product1/
│ ├── image1.jpg
│ ├── image2.jpg
│ └── details.txt
├── product2/
│ ├── image1.jpg
│ └── details.txt
└── product3/
├── image1.jpg
├── image2.jpg
└── details.txt
Each product folder should contain a details.txt file with the following format:
title: Your Product Title
price: $99.99
category: electronics
condition: new
description: This is a detailed description of your product... You can use multiple sentences... Each sentence will be formatted with checkmarks...
tags: electronics, gadget, tech, wirelessOn first run, the application will prompt for:
- Facebook Username/Email
- Facebook Password (hidden input)
- Path to products folder
Credentials are securely stored in requirements.txt for future use.
The application includes a 72-hour trial period. After expiration, contact support for upgrade options.
make runmake run- Run the applicationmake tidy- Clean and update Go dependencies
- Credential Encryption: Passwords are stored securely
- Session Management: Automatic browser session handling
- Rate Limiting: Intelligent delays between posts
- Error Handling: Comprehensive error management
// Secure Facebook login with Rod browser automation
browser, page = u.Login(username, password, url)// Parse product details from organized folders
items, err = u.GetItemsForMarketplace(path)// Automated posting with intelligent timing
err = u.PostItemsToMarketplace(browser, page, items)- Random Shuffling: Products are randomly shuffled before posting
- Intelligent Delays: 30-60 second random delays between posts
- Group Selection: Automatic selection of relevant Facebook groups
- Progress Monitoring: Real-time logging of all operations
- Automatically reads product images from folders
- Parses structured
details.txtfiles - Formats descriptions with checkmarks for better presentation
- Handles multiple images per product
- Navigates to Facebook Marketplace create item page
- Uploads multiple images per product
- Fills all required fields (title, price, category, condition, description, tags)
- Handles category and condition selection from dropdowns
- Manages product tags with Enter key simulation
- Detects rate limiting and posting limits
- Handles network errors gracefully
- Validates file paths and product data
- Provides clear error messages and recovery options
- github.com/go-rod/rod: Modern browser automation
- github.com/charmbracelet/log: Beautiful CLI logging
- golang.org/x/term: Secure password input
Uses Rod browser library for:
- Chrome browser automation
- Headless/headed mode support
- Element interaction and form filling
- File upload handling
- Navigation and page waiting
- Concurrent Processing: Efficient handling of multiple products
- Memory Management: Proper browser cleanup and resource management
- Timeout Handling: Intelligent retry mechanisms
- Progress Tracking: Real-time operation logging
- Marketplace Layout Variations: Facebook Marketplace layout and functionality vary significantly by country
- Current Compatibility: This tool is optimized for Kenya and similar markets
- US/Other Countries: May not work properly in the United States or other countries due to different marketplace layouts
- Customization Available: Contact the developer for country-specific customizations and adaptations
- Facebook has posting limits to prevent spam
- The tool includes intelligent delays to avoid detection
- Monitor for "Limit reached" messages
- Requires Google Chrome browser
- Uses Chrome user data directory for session persistence
- Supports both headless and headed modes
- Products must be organized in folders
- Each folder must contain a
details.txtfile - Images should be in common formats (jpg, png, etc.)
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is proprietary software. All rights reserved.
For support, licensing inquiries, and country-specific customizations, please contact:
- Email: haronkibetrutoh@gmail.com
- WhatsApp: +254718448461
We provide customizations for different countries where Facebook Marketplace layouts may vary.