Pagro
Code: pagro / pg
Region
Austria. Ships AT primary.
Sample CSVs
Buy row
pg;https://www.pagro.at/<product-slug>.html;buy;1;100;3;you@mail.at;YourPassword;ATEnd-to-end checkout via Magento REST V1 + Saferpay PaymentPage. Webhook receives the Saferpay hosted-page URL — open it in a real browser, fill in the card details, done.
OOS retry — Magento returns a clear out of stock error on cart-add for OOS items; the bot keeps retrying at the CSV delay interval until the item is back.
Login session is persisted (~6h TTL) so subsequent buys skip the CF solve + login.
Register row
pg;;register;1;0;0;new@mail.at;NewP4ss;AT;Hans;MuellerPure HTTP register — no captcha. Address is added later through the user account, not at signup.
Cloudflare
The site is gated by Cloudflare with an interactive Turnstile widget. The bot uses cf_solver (nodriver + pyautogui OS-level click) to clear it, then carries the cf_clearance cookie into the curl_cffi session.
Auth proxies are supported through a tiny local TCP forwarder — Chrome connects to 127.0.0.1 and the forwarder injects Proxy-Authorization on the upstream socket. No browser extension required.
A global cap of 5 concurrent CF solves keeps small VPS hosts from being overwhelmed by a large task fleet. Tasks past the limit wait their turn — they don't fail.
Requirements
pip install nodriver pyautogui websockets- pagro's CF challenge requires an OS-level click on the Turnstile checkbox, so the bot needs a display. On a headless Linux VPS, run with
xvfb-run -a python launcher.py(virtual display).
Known issues
- No size/option support — Pagro listings are simple SKUs without configurable variants.
- Saferpay tokenization (server-side card charge) needs merchant credentials we don't have, so checkout uses redirect mode only — the user must complete the card payment on Saferpay's hosted page.