A powerful Python tool that automates the scraping and reposting of OLX ads between multiple accounts.
- 📦 Scrape Ads — Extracts listings from OLX including images, descriptions, prices, and contact info.
- 🔄 Repost Between Accounts — Seamlessly transfers and reposts ads between multiple OLX accounts.
- 🧠 Database Integration — Stores ad information for easy management and repost tracking.
- ⚡ Asynchronous & Fast — Built with asyncio for non-blocking, high-performance scraping/posting.
- 🧭 Browser Automation — Uses DrissionPage for Chrome-based automation.
- Python 3.8 or higher
- Chrome browser installed
- UV (Python package manager)
- Environment variables configured (see below)
-
Clone the repository:
git clone https://github.com/kravchenski/olx-repost-python.git cd olx-repost-python
-
Create virtual environment and install dependencies:
pip install uv python -m uv venv
-
Set up environment variables Create a
.env
file in the project root:EMAIL_CONFIG_JSON='{ "emails": [ "test@weq.com", "test1@cvb.uio" ] }' EMAIL_PASSWORD = yourpass FIRST_NAME = Nowak LAST_NAME = Kowalski POSTGRES_HOST = localhost POSTGRES_USER = postgres POSTGRES_PASSWORD = root POSTGRES_DATABASE = olx_db
python -m uv run main_collect_ads.py
python -m uv run main_transfer_to_acc.py
- Reposting your business ads regularly to keep them visible
- Cloning successful listings across multiple OLX accounts
- Archiving and reusing ad data with image support
- Python 🐍
- Asyncio 🧵
- DrissionPage 🌐
- asyncpg 📁
- UV package manager ⚙️
- dotenv 🔐
Pull requests and contributions are welcome! Please open an issue first to discuss your idea.
- @kravchenski — original creator