
Skroutz Price Alert
Pricing
$20.00/month + usage

Skroutz Price Alert
📉 A Skroutz price scraper with webhook notifications capabilities. 🔔 Monitor selected products and get real-time alerts via Email, Telegram, or Discord webhooks when prices drop below your set threshold.
0.0 (0)
Pricing
$20.00/month + usage
1
Monthly users
2
Runs succeeded
>99%
Last modified
10 days ago
👋 Introduction
Skroutz is a great marketplace, but it lacks a reliable notification system for price drops and offers. Without their mobile app, users cannot receive push notifications, and even with their app, bugs often result in missed alerts for low prices and discounts.
To address this issue, this Apify Actor was developed, enabling anyone to monitor product prices without requiring a Skroutz account. By default, it functions as a scraper, providing:
- The latest prices of monitored products.
- The number of sellers currently offering each product.
- The Skroutz product ID.
- The product name and other relevant details.
Additionally, users can (optionally) set up notifications via Email, Telegram, or Discord webhooks to receive alerts when a product's price drops below a specified threshold, without requiring a Skroutz account or application.
This is my first Actor, and I plan to expand its functionality with more features in future updates. I'm open to suggestions, so feel free to reach out with any ideas or issues! 🚀
📝 How to use
Option 1: Web Console
Use the Input
tab to:
- Provide the Skroutz product URLs that you want to monitor.
- Set a threshold price for each product—if the price drops below this value, it will be indicated in the Actor's output.
- (Optional) Enable notifications via Email, Discord, or Telegram to receive real-time price drop alerts in your preferred app.
After running the Actor, you can find the scraping results in the Output
tab.
You can also check the Log
tab for potential errors. If you encounter any problems,
feel free to reach out via the Issues
tab.
Option 2: Scripting
You can also use this Actor directly in your scripts. Below is a Python example. For additional integrations in other languages, visit the API tab.
1from apify_client import ApifyClient 2 3# Initialize the Apify client with your API token 4client = ApifyClient("<YOUR_API_TOKEN>") 5 6# Prepare the Actor input 7run_input = { 8 "urls": [ 9 { 10 "key": "https://www.skroutz.gr/s/39358691/Samsung-990-PRO-SSD...", 11 "value": "200" 12 } 13 ], 14 "retry_enable": True, 15 "retry_cooldown": 15, 16 "email_enable": False, 17 "discord_enable": False, 18 "telegram_enable": False 19} 20 21# Run the Actor and use the results 22run = client.actor("greecetopher/skroutz-price-alert").call(run_input=run_input) 23for item in client.dataset(run["defaultDatasetId"]).iterate_items(): 24 print(item)
Executing the above script returns JSON output similar to this:
1{ 2 'product_name': 'Samsung SSD 990 PRO 2TB MZ-V9P2T0BW', 3 'product_id': '39358691', 4 'target_price': 200, 5 'current_price': 166.94, 6 'currency': '€', 7 'threshold_reached': True, 8 'shop_count': 60, 9 'url': 'https://www.skroutz.gr/s/39358691/Samsung-990-PRO-SSD...' 10}
Notice that the output indicates whether the price has dropped below your set threshold, along with the other successfully fetched product details.
🤖 How to automate
This actor is designed for periodic execution, and the best way to automate it is by scheduling recurring runs. Even if some results are not fetched during a single run, the actor will eventually retrieve the complete dataset over multiple executions. For optimal performance, it's recommended to schedule the actor to run every 20 minutes or longer. Be sure to check the limitations section for guidance on choosing the appropriate execution interval.
Option 1: Apify Schedules
You can easily automate the execution of this actor using the Apify Schedules. The Apify infrastructure will handle the scheduling for you. For detailed instructions on how to set up schedules, refer to the official Apify scheduling documentation.
Option 2: Local setup
If you'd prefer to set up automation locally, you can integrate the actor into your script as outlined in the Scripting section. Then, schedule the script's execution using the appropriate task scheduler for your operating system:
- Linux: Crontab
- Windows: Task Scheduler
- MacOS: Launchd
🔔 Webhook Notifications
Want to get real-time alerts when a product hits your desired threshold? You can receive notifications via Email, Discord, or Telegram —just enable your preferred channels in the actor's input settings, as described in the How to use section. Email notifications are reliable and solid—but let's be honest, they can feel a bit... retro. 😅 Still, if you like the classics, they'll do the job just fine. Below is a guide for setting up webhook notifications using the more modern and instant options.
Discord
To receive notifications in your Discord server:
- Create a webhook URL by following the official Discord guide.
- If you already have a Discord account, this will take less than 5 minutes—and it's totally free.
- Your webhook will look something like this:
https://discordapp.com/api/webhooks/1836692648/KHLMHW8zQe7bm4ZwO6H721k9dV_js
- Paste your URL into the actor's
discord_webhook_url
input field.
That's it! You'll now get notifications directly in your Discord server.
Telegram
Telegram setup is a little more involved, but don't worry—it's still free and takes about 15-20 minutes max. Here's what you need to do:
- Create a bot by following the official
Telegram bot guide.
After setup, you'll get a bot token like this:
1825365092:HDSH6d7h65SDJd762vvsh-Tdfsd835C
. Enter this token into the actor'stelegram_token
input field. - Find the chat ID where you want to receive messages.
This guide
shows how to locate it—it will look something like:
1927562839
. Enter this in thetelegram_chat_id
input field.
Once both the bot token and chat ID are set, you'll start receiving notifications directly in your Telegram chats.
⚙️ How it works
This Actor uses Python and Selenium under the hood to scrape product pages, without depending on any other actor. It loads only essential information —such as product names and prices— while ignoring images, advertisements, and other non-essential content. This way network traffic and resources usage is kept to a minimum.
⛓️ Constrains
The provided URLs must not exceed 100 and should begin with:
- 🇬🇷
https://www.skroutz.gr/
- 🇨🇾
https://www.skroutz.cy/
- 🇷🇴
https://www.skroutz.ro/
- 🇪🇺
https://www.skroutz.eu/
- 🇲🇹
https://www.skroutz.mt/
🚧 Ongoing development
I'm actively maintaining and improving this actor by adding new features, fixing bugs, and monitoring its performance to ensure a high success rate. Here's a list of recently added and upcoming enhancements:
- ✅ Output dataset validation
- ✅ Telegram and Discord webhook support for notifications
- ⏳ User-configurable proxy switching
- ✅ Webhook setup guide
If you encounter any bugs or issues, or if you have suggestions for improvements,
feel free to open a ticket on the Issues
tab.
Also, to support ongoing development and help with debugging,
please consider enabling the option to send logs to the developer (that's me!)
when prompted by the Apify platform.
⚠️ Limitations
Like many other online platforms, Skroutz employs anti-bot measures to prevent automated scraping. To reduce the risk of IP blocking, avoid running the Actor in rapid succession. Running it every 20 minutes or longer increases the chances of successful data retrieval.
To mitigate IP blocking, proxy switching is implemented. Moreover there is an option in the Input of the Actor to retry failed URLs after a user configurable ammount of seconds.
If you encounter repeated failures, wait at least 20 minutes before running the Actor again. This cooldown period helps avoid detection and allows the scraping process to resume successfully.
Pricing
Pricing model
RentalTo use this Actor, you have to pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage.
Free trial
7 days
Price
$20.00