Skroutz seller offers: Greek price monitor and Σκρουτζ changes avatar

Skroutz seller offers: Greek price monitor and Σκρουτζ changes

Pricing

from $2.63 / 1,000 seller offers

Go to Apify Store
Skroutz seller offers: Greek price monitor and Σκρουτζ changes

Skroutz seller offers: Greek price monitor and Σκρουτζ changes

Extract public Skroutz seller offers for Greek price intelligence and Σκρουτζ monitoring: prices, discounts, stock, shipping, ratings, contacts, and offer changes. Export JSON or CSV to Google Sheets, Airtable, HubSpot, n8n, or Zapier. Skip manual competitor checks. $0.0035 per offer.

Pricing

from $2.63 / 1,000 seller offers

Rating

0.0

(0)

Developer

GetAScraper

GetAScraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

🛍️ Skroutz seller offers: Greek price monitor and Σκρουτζ changes

See which Greek seller wins on price before your next order.
Collect public Skroutz seller prices, discounts, availability, and optional business contacts in clean typed rows. Schedule the same scope for factual offer changes without false removals.
💶 Compare offers
Price rank, discount, spread, stock, and delivery context per seller.
🏪 Understand shops
Opt-in public phones, emails, websites, ratings, and business identifiers.
🔄 Monitor changes
New, changed, unchanged, and removed offer records across runs.
✅ Trust the rows
Typed numbers and booleans, stable IDs, source links, and no guessed values.

Compare public Skroutz seller offers and track Greek marketplace price changes in clean, typed rows. This Actor is built for ecommerce operators, pricing analysts, and automation teams that need seller-level evidence instead of a flat product export. Send the rows to Google Sheets, Airtable, HubSpot, n8n, or Zapier, then schedule the same scope for factual offer changes.

🔍 What does this actor do?

This Actor turns public Skroutz pages into seller-offer intelligence for Greek marketplace research. It covers product pages, search pages, and public shop pages.

Use it to:

  • compare current seller prices for the same product;
  • spot the cheapest valid offer and the spread between sellers;
  • separate available and unavailable offers using source-backed signals;
  • track discount, stock, rating, review, contact, and business-field changes;
  • build a seller lead list when public shop contacts are explicitly enabled;
  • send only meaningful changes to a scheduled workflow.

The Greek marketplace is commonly searched as Σκρουτζ. The Actor accepts only public Skroutz pages and never opens a buyer account, checkout, payment, or private seller area. It runs reliably without needing a browser or login.

Named Skroutz scrapers usually stop at a flat product or seller export. This Actor adds a workflow layer: offer intelligence includes price rank and cross-seller spread; business context adds optional public phone, email, website, and registration fields; change-safe monitoring marks new, changed, unchanged, and removed records with previous values; a RUN_SUMMARY record keeps source status and warnings separate from the dataset views.

💡 Who is this for?

  • I run a consumer electronics store in Greece. I need to know where my prices land against every seller on Skroutz so I can reprice before losing the sale.
  • I source products from Greek marketplace sellers. I need a list of sellers for a category with their public contact details so I can reach out directly.
  • I am a pricing analyst tracking Greek marketplace categories. I need typed price and availability rows, not a screenshot, so I can feed them into my comparison dashboard.
  • I manage a scheduled data workflow for a client in the Greek market. I need a reliable feed of only new and changed offers each run so my pipeline stays lean.

🚀 How to use it

STEP 1
Choose a source
Paste a public product, search, or shop page, or add a keyword.
STEP 2
Set your scope
Filter price, availability, seller quality, shipping, and optional contact fields.
STEP 3
Re-run on schedule
Schedule the same scope to receive factual offer changes without false removals.

Start with one public product URL and the default settings. Raise maxItems only after confirming the source is reachable for your run.

Default input

{
"startUrls": [{ "url": "https://www.skroutz.gr/s/41193379/Nivea-Protect-Bronze.html" }],
"maxPages": 2,
"onlyAvailable": true,
"includeSellerContacts": false,
"includeLegalIdentifiers": false,
"includeShipping": false,
"includeImages": false,
"outputMode": "snapshotAndChanges",
"stateName": "default",
"maxItems": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "GR"
}
}

Supported source pages

  • Product pages such as /s/41193379/product-name.html.
  • Search pages such as /search?keyphrase=nivea.
  • Public shop pages such as /shop/16006/shop-name/info.
  • Keyword searches through searchQueries.

Only skroutz.gr and www.skroutz.gr are accepted. Account, checkout, cart, API, private, and offer-list routes are rejected before retrieval.

🧾 Input

FieldTypeRequiredDescription
startUrlsarray of URLsNoPublic Skroutz product, search, or shop pages. Defaults to one verified product page.
searchQueriesarray of stringsNoProduct or brand terms converted to public search pages.
maxPagesintegerNoSearch pages per source, bounded from 1 to 10.
brandFiltertext or nullNoCase-insensitive product brand filter.
categoryFiltertext or nullNoCase-insensitive category-path filter.
sellerIdsarray of stringsNoKeep only the supplied numeric public shop IDs.
minPricenumber or nullNoMinimum source price.
maxPricenumber or nullNoMaximum source price.
onlyAvailablebooleanNoKeep source rows marked available or in stock.
minSellerRatingnumber or nullNoMinimum seller rating from 0 to 5.
minSellerReviewCountinteger or nullNoMinimum seller review count.
includeSellerContactsbooleanNoAdd public business phones, emails, websites, and contact channels.
includeLegalIdentifiersbooleanNoAdd public GEMI or AFM values when displayed by the shop.
includeShippingbooleanNoAdd source shipping, delivery, pickup, and fulfillment fields.
includeImagesbooleanNoAdd source-provided product image URLs.
outputModeenumNosnapshot, snapshotAndChanges, or changesOnly.
stateNametextNoIndependent baseline name for recurring runs.
maxItemsintegerNoGlobal output cap from 1 to 500. A capped run never infers removals.
proxyConfigurationproxy objectNoDirect access or an explicitly selected Apify proxy configuration.

Every input default matches its Console prefill. Optional values are null or omitted rather than empty placeholder text.

📦 Data table

FieldTypeDescription
recordType, modetextIdentifies a seller offer and its output mode.
dedupeKeytextStable product, seller, and offer identity.
productId, productName, productUrltextProduct identity and source link.
sellerId, sellerName, sellerUrltextPublic seller identity and shop link.
price, listPrice, discountAmount, discountPercentnumberSource-backed price and discount values.
currency, priceTexttextCurrency code and original price text when available.
offerRank, priceSpreadAmount, priceSpreadPercentnumberCross-seller price comparison fields.
isAvailable, storePickup, shippedBySkroutzbooleanSource-backed offer and fulfillment flags.
stockText, shippingText, deliveryTexttextSource availability and delivery wording.
sellerRating, sellerReviewCount, sellerLocationnumber or textPublic shop quality and location values.
businessName, businessAddresstextPublic business identity and address when shown.
phoneNumbers, directoryEmail, websiteUrl, websiteDomainarray or textOptional public seller contact fields.
registrationNumber, vatNumbertextPublic GEMI or AFM values when enabled and exposed.
publicContactChannels, hasPublicPhone, hasPublicEmail, hasWebsitearray, booleanFactual contact coverage indicators.
leadCompletenessScorenumberDeterministic score based only on present public fields.
changeType, changedFields, isActivetext, array, booleanState classification for the current offer.
previousPrice, previousIsAvailable, previousSellerRating, previousSellerReviewCountnumber or booleanPrevious factual values for changed rows.
changeDetectedAt, removedAt, scrapedAtdate-time textCollection and change timestamps.

Example row

{
"recordType": "sellerOffer",
"mode": "sellerOffers",
"dedupeKey": "41193379:16006:seller",
"productId": "41193379",
"productName": "Nivea Protect Bronze",
"productUrl": "https://www.skroutz.gr/s/41193379/Nivea-Protect-Bronze.html",
"sellerId": "16006",
"sellerName": "Alpha Shop",
"sellerUrl": "https://www.skroutz.gr/shop/16006/Alpha/info",
"price": 12.34,
"currency": "EUR",
"isAvailable": true,
"sellerRating": 4.8,
"sellerReviewCount": 120,
"publicContactChannels": ["phone", "email", "website"],
"hasPublicPhone": true,
"hasPublicEmail": true,
"hasWebsite": true,
"leadCompletenessScore": 100,
"sourceUrl": "https://www.skroutz.gr/s/41193379/Nivea-Protect-Bronze.html",
"scrapedAt": "2026-09-23T12:00:00.000Z",
"changeType": "new",
"isActive": true
}

Absent source values are omitted. The Actor never writes Unknown, N/A, guessed emails, fake prices, or substitute contacts.

🔄 Change monitoring

Use the same source scope and stateName on scheduled runs:

  • snapshot emits current rows only.
  • snapshotAndChanges emits current rows plus removals after a complete run.
  • changesOnly emits only new, changed, and removed rows.
  • The first complete run marks current offers as new.
  • An identical complete run marks offers as unchanged.
  • A factual price, stock, seller, contact, or rating change marks an offer as changed.
  • A failed, blocked, capped, or incomplete run never infers removals.

The RUN_SUMMARY key-value record keeps source status and warnings separate from the three customer-facing dataset views.

💰 Pricing

Pricing is pay per seller offer, with no subscription and no minimum commitment. Empty runs cost nothing. See the Pricing tab on this Actor's Store page for current per-tier rates.

⭐ Enjoying Skroutz seller offers: Greek price monitor and Σκρουτζ changes?

⭐ ⭐ ⭐ ⭐ ⭐
One run just showed you which Greek seller wins on price, not just who lists the same product.
A 5-star rating takes 10 seconds and helps other pricing analysts and ecommerce operators find this Actor. Your feedback also tells us what to build next.
★  Rate this Actor on Apify

✨ Tips

  • Track a category with keywords. Add terms to searchQueries instead of pasting URLs. Each keyword generates a public Skroutz search page, covering multiple product segments in one run.
  • Scope to specific sellers. Supply numeric shop IDs in sellerIds to monitor only the shops you already track. Paired with outputMode: changesOnly, you get a clean change feed without unrelated rows.
  • Enrich selectively. Enable includeSellerContacts only when you need phone, email, or website fields. Skipping it keeps the run focused on price and availability data.
  • Start small before scaling. Set maxItems to 10 for your first run. Confirm the output matches expectations before raising the cap for your full scope.

❓ FAQ

What does "Σκρουτζ τιμές καταστημάτων" mean here?

It means Skroutz store prices. The Actor returns public offer prices and seller context, not checkout totals or private account data.

Can I collect seller phone and email fields?

Yes, when the public shop page exposes them and includeSellerContacts is enabled. Missing contact fields remain absent.

What happens if a source page cannot be reached?

The run reports the unreachable page in RUN_SUMMARY and skips it. No rows are invented for a source that did not return data.

How do removals stay safe?

Removals require a complete, uncapped source run. A blocked or partial run can report current rows but never treats unseen offers as removed.

Can national Skroutz coverage be assumed?

No. Coverage depends on the pages and search terms supplied, the source response, and its access rules. Validate a small run before scaling it.

🔗 Other actors