Skroutz Price Alert avatar
Skroutz Price Alert

Pricing

$20.00/month + usage

Go to Store
Skroutz Price Alert

Skroutz Price Alert

Developed by

Christoforos Vasilakis

Maintained by Community

📉 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:

🔔 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's telegram_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 the telegram_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

Rental 

To 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