Welcome to the Universal Retail Drop Bot, a state-of-the-art, anti-bot resistant automation software designed to help you secure highly sought-after items before scalpers do. Built entirely on Python and Playwright, this software is packaged as a standalone desktop application (DropBot.exe) with a sleek Native GUI.
- Zero Dependencies: The entire software is bundled into a single
.exefile using PyInstaller (--onefilemode). - Bundled Playwright Chromium: The end-user does not need to install Python,
pip, or even runplaywright install. The entire Chromium browser is packed securely inside the executable. - Native GUI (Pywebview): Instead of opening a local server inside an ugly web browser, the software spawns a sleek, standalone desktop window.
Anti-bot systems like Datadome, Cloudflare, and Akamai easily detect standard bots. This bot uses advanced evasion tactics:
playwright-stealthIntegration: Masks headless browser signatures, spoofing Navigator plugins, WebGL, and webdriver flags.- Bezier Curve Mouse Movements: The bot calculates mathematical, curved trajectories for its mouse cursor, mimicking the natural arc of a human hand rather than teleporting instantly to a button.
- Mouse Jitter: When clicking a button, the bot applies random X/Y offset jitter so it never clicks the exact same pixel twice.
- Humanized Typing: Credentials and forms are typed character-by-character with random millisecond delays, occasionally pausing for a fraction of a second to mimic human hesitation.
Most retail checkouts require a logged-in account with a saved payment method.
- The built-in Login Manager allows you to safely open a stealth browser session for any supported retailer.
- You can manually solve CAPTCHAs or 2FA prompts and click Save Session.
- The bot extracts and encrypts your session cookies, allowing it to bypass login screens entirely when running high-speed checkout tasks.
- Multi-Task Queue: Monitor multiple SKUs or URLs simultaneously across different retailers.
- Max Price Limits: Protect yourself from 3rd party scalpers by setting a strict maximum price threshold.
- Custom Delays: Adjust your refresh rate (e.g., 3000ms) to avoid IP bans.
- Live Controls: Play, Pause, and Stop tasks independently on the fly.
- Dry Run Mode: Test the entire bot flow (Login -> Add to Cart -> Shipping) without clicking the final "Place Order" button.
- Global Checkout Limits: Set a maximum number of total successful checkouts across all tasks to protect your bank account from over-purchasing.
- Shipping vs. Store Pickup: Configure your preference. If Store Pickup is selected, the bot will use your Zip Code and Max Distance radius to locate nearby stores.
- Discord Webhooks: Get instant, rich-embed notifications in your Discord server the second an item is checked out.
- Gmail Alerts: Integrated SMTP support using Gmail App Passwords to email you order confirmations immediately.
If you are a developer making changes to the source code (e.g., updating retail HTML/CSS selectors in the adapters/ folder), you will need to recompile the executable.
- Ensure your dependencies are installed (
pip install -r requirements.txt). - Run the custom build script:
python build_exe.py
- The script will automatically locate your local Playwright Chromium binary, package the Flask templates, and generate a new
dist/DropBot.exefile.
Note: Because the --onefile build compresses an entire web browser, it may take a few minutes to compile, and the resulting .exe will take 5-10 seconds to extract itself when launched.
- Navigate to the
dist/folder and double-clickDropBot.exe. - Wait 5-10 seconds. Because the software is heavily compressed and contains a full hidden Chromium browser, it takes a few moments to unpack into your system's temporary memory.
- A native desktop window will open displaying the Overview Dashboard.
Before the bot can buy items for you, it needs access to your retailer accounts (e.g., Target, BestBuy).
- Click on the System Settings tab in the sidebar, and then click Login Manager.
- Select the retailer you want to use from the dropdown.
- Optional: Enter your username and password into the autofill boxes.
- Click Launch Browser Profile. A stealth browser window will open on your screen.
- Manually log into your account. Ensure you have a valid credit card and default shipping address saved to the account!
- Once you are successfully logged in and looking at the retailer's homepage, click the green Save Session button back in the bot's dashboard. The browser will close, and your session cookies are now encrypted and stored.
- Go to System Settings -> Notifications.
- Discord: Open your Discord Server Settings -> Integrations -> Webhooks. Create a new webhook, copy the URL, and paste it into the bot. Click Test Discord to ensure it works.
- Gmail: Go to your Google Account Security settings. Enable 2-Step Verification, and generate an App Password. Enter your Gmail address and the 16-character App Password into the bot. Click Test Email.
- Navigate to the Tasks page on the sidebar.
- Select your desired retailer from the dropdown.
- Enter the exact Product SKU or Product URL.
- Set your Max Price limit (e.g., if retail is $499, set it to $550 to account for taxes/shipping). The bot will refuse to checkout if the total price exceeds this, protecting you from buying from 3rd party scalpers.
- Set your Delay (ms). A delay of
3000means the bot refreshes the page every 3 seconds. Anything lower than2000risks an IP ban. - Click Add Task. It will appear in your queue in a
Stoppedstate.
- On the Tasks page, click the green Play button next to your specific task. It is now queued.
- In the top right corner of the application, click Start Bot.
- The global background engine will spool up, taking control of your queued tasks. You can monitor the live logs in the History tab.
- Sit back and relax! The bot will run continuously in the background until it scores a checkout or you click Stop Bot.
- Backend: Python + Flask (REST API)
- Frontend: HTML, CSS (Glassmorphism), Vanilla JavaScript
- GUI Wrapper: Pywebview
- Automation Engine: Playwright (Sync API) +
playwright-stealth - Database: SQLite (SQLAlchemy)
- Packaging: PyInstaller