
Skroutz feed for Shopify
Skroutz is Greece's dominant price comparison site, and it classifies your products from the XML feed you host. Feedflock renders your Shopify catalog into that XML: all thirteen required attributes, one record per colour with the sizes joined and nested as variations, on a public URL that SkroutzBot pulls.

Setup
Live in five steps
From a bare Shopify store to a listed offer: the whole setup fits into one coffee break.
Open a Skroutz merchant account
Sign up as a Skroutz merchant. XML import is part of Skroutz's paid plans, and onboarding is reviewed: you send the feed URL to Skroutz's team, who check it and connect it.
Install Feedflock
Add Feedflock from the Shopify App Store. It reads your products, variants, stock and images directly through the Shopify API.
Pick the Skroutz template
Create a new feed and choose the Skroutz template. All thirteen required attributes (from uniqueID and price_with_vat to manufacturer, mpn and quantity) are mapped from the start.
Tune title, VAT and availability
Skroutz wants the manufacturer in the title. Switch the name to the Brand + title mapping if yours lack it. Check the 24% VAT default against your catalog, and keep availability on Skroutz's own bucket wording.
Validate, then send the URL
Upload the file to Skroutz's free validator and read the report, then send the feed URL to Skroutz. SkroutzBot does no authentication by design: it pulls the public URL from its published IP ranges.
https://feedflock.appfleece.com/f/demo-skroutz/skroutz.xml
Catch feed issues before Skroutz does.
Before every generation Feedflock checks that every field the channel requires is filled, and, on templates verified against the channel's own spec, that the values fit its rules. Most problems are fixed with one click, without editing products in Shopify.
The feed
What the channel receives
<product> <uniqueID>SKU-2048</uniqueID> <name><![CDATA[Linen shirt Sand]]></name> <link><![CDATA[https://shop.example/products/linen-shirt-sand?variant=9087654321]]></link> <image><![CDATA[https://cdn.shop.example/img/linen-shirt-sand.jpg]]></image> <additionalimage><![CDATA[https://cdn.shop.example/img/linen-shirt-sand-back.jpg]]></additionalimage> <category><![CDATA[Clothing > Men's shirts]]></category> <price_with_vat>49.00</price_with_vat> <vat>24.00</vat> <manufacturer><![CDATA[Nordlin]]></manufacturer> <mpn>SKU-2048</mpn> <ean>8594000123453</ean> <availability><![CDATA[Available from 1 to 3 days]]></availability> <quantity>12</quantity> <weight>0.3 kg</weight> <outlet>N</outlet> <description><![CDATA[A breathable linen shirt in a regular cut.]]></description> <size><![CDATA[S,M,L,XL]]></size> <color><![CDATA[Sand]]></color> <variations> <variation> <variationid>9087654322</variationid> <link><![CDATA[https://shop.example/products/linen-shirt-sand?variant=9087654322]]></link> <availability><![CDATA[Available from 1 to 3 days]]></availability> <manufacturersku>SKU-2048</manufacturersku> <ean>8594000123453</ean> <price_with_vat>49.00</price_with_vat> <size><![CDATA[M]]></size> <quantity>5</quantity> </variation> </variations> </product>

Nordlin
Linen shirt Sand
49 €
Feed fields
uniqueID
SKU-2048
name
Linen shirt Sand
link
https://shop.example/products/linen-shirt-sand?variant=9087654321
category
Clothing › Men's shirts
price_with_vat
49.00
vat
24.00
manufacturer
Nordlin
mpn
SKU-2048
ean
8594000123453
availability
Available from 1 to 3 days
quantity
12
weight
0.3 kg
outlet
N
description
A breathable linen shirt in a regular cut.
size
S,M,L,XL
color
Sand
variationid
9087654322
link
https://shop.example/products/linen-shirt-sand?variant=9087654322
availability
Available from 1 to 3 days
manufacturersku
SKU-2048
ean
8594000123453
price_with_vat
49.00
size
M
quantity
5
The channel
Greece's dominant comparison
Skroutz is the dominant price comparison site in Greece, and its storefronts reach beyond it: the same XML specification serves its sites in Cyprus, Bulgaria and further markets.
Sold-out products stay listed
On Skroutz an unavailable product stays in the feed with quantity 0 instead of disappearing, so selling out is a stock change, not a delisting.
One file, two destinations
FAVI, the European home-and-living platform, accepts the Skroutz feed format as one of its input specifications, so the file you build for Skroutz can serve a second channel.
The feed
- All thirteen required attributes are mapped from the start: uniqueID, name, link, image, category, price_with_vat, vat, availability, manufacturer, mpn, ean, description and quantity
- Colours split into separate records with their own Unique IDs, exactly as the spec demands, while the sizes of one colour comma-join into <size> and quantity sums them
- Each size also nests as a <variation> with its own id, availability and stock, a shape Skroutz's own validator accepted with every stage green
- Sold-out items stay in the feed with quantity 0, the documented out-of-stock signal
- A one-click Brand + title mapping puts the manufacturer in the title, where Skroutz wants it; descriptions go out with the HTML stripped
- Weight ships with its unit ("0.3 kg"), and the shipping element stays blank unless you set a truly location-independent cost
Deep dive
How the Skroutz feed works
- One
XMLfile pulled from a publicURL: noHTTPauthentication, access control is an IP allowlist - Skroutz's IP ranges are published as a
JSONdocument - gzip or zip compression is allowed, and mandatory over 10 MB
- Feedflock regenerates hourly, so the <created_at> timestamp is never more than an hour old
Technical details
SkroutzBot pulls one XML file from a public URL. It does no HTTP authentication of any kind. Access control is meant to be an IP allowlist, with Skroutz's ranges published as a JSON document. The file may be gzip- or zip-compressed, and over 10 MB it must be.
A <created_at> timestamp at the top of the file tells Skroutz whether the feed is outdated; a cached file must be regenerated at least once a day. Feedflock regenerates hourly on a stable URL, so the timestamp Skroutz reads is never more than an hour old.
Thirteen required attributes
- Unique ID, Name, Product Link, Image Link, Category Name, Price,
VATRate - Availability, Manufacturer,
MPN,EAN, Description and Quantity complete the thirteen - The manufacturer must also appear in the title, but the size never does
- Price includes
VATin euros at up to two decimals, theVATrate a separate percentage
Technical details
The attribute table marks thirteen fields required for every category: Unique ID, Name, Product Link, Image Link, Category Name, Price, VAT Rate, Availability, Manufacturer, MPN, EAN, Description and Quantity. The title is what Skroutz classifies on, so it must carry the manufacturer even though <manufacturer> carries it too, and must never carry the size. For books, the MPN field holds the ISBN.
The price includes VAT in euros with at most two decimals, and the VAT rate is a separate required percentage. Send a net price and Skroutz adds the highest rate to everything, so the gross price is the only safe form. The template starts the rate at 24%; it can also follow your feed's tax settings per product.
Colours split, sizes join
- Each colour of a model is a separate product with its own Unique ID
- Sizes of one colour list in a comma-separated <size>, quantity as their sum
- Each size nests as a <variation> with its own id, availability and quantity
- Skroutz's own validator detects the variations block and maps its fields
Technical details
Skroutz pulls the two variant axes in opposite directions. Colours split: each colour of a model is a separate product with its own Unique ID. Sizes join: all available sizes of that colour list in one comma-separated <size>, with the quantity recommended as their sum.
On top of the joined list, each size nests as a <variation> with its own id, availability and quantity: the per-size stock signal the flat list cannot express, and the block Skroutz strongly recommends for sized products. The template emits both, and Skroutz's own validator detects the variations block and maps its fields.
Shipping: say nothing or be exact
- One optional <shipping> decimal per product: the location-independent cost, 0 for free
- No carrier element and no carrier list anywhere in the spec
- One inaccurate value removes shipping display from all products in the feed
- That is why the template ships the element unmapped
Technical details
The feed's whole delivery vocabulary is one optional <shipping> decimal per product: the cost regardless of the customer's location, 0 for free shipping. There is no carrier element and no carrier list anywhere in the spec.
Two rules make a guess expensive: the value must be location-independent or blank, and if even one product's shipping cost is inaccurate, Skroutz removes shipping display from all products in the feed. That is why the template ships it unmapped.
The takeaway
One URL, an hourly refresh and an XML structure built attribute for attribute from Skroutz's own spec. Your Shopify catalog stays the single source of truth, and SkroutzBot always reads its current state.
Claude · ChatGPT
Or set up your Skroutz feed in chat
Connect Feedflock to Claude or ChatGPT and ask. It creates the feed as a draft, maps your categories to Skroutz's own tree and tells you what is still missing. You approve every change.
Create a Skroutz feed for my store and map my categories.
I'll create it as a draft and show you each change before I make it.
FAQ
Get on every marketplace that matters this afternoon.
Install free, connect your first feed in minutes, and let Feedflock keep it fresh and validated.