Skip to content
Skroutz
Price comparison

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.

01 · ShopifyProduct in the catalog
Linen shirt SandNordlin · Men's shirtsSKU-2048 · S–XL
Price
49 €
In stock
0 pcs
When out of stock
02 · skroutz.xmlUpdated just now
<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 4 to 6 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 4 to 6 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>

Setup

Live in five steps

From a bare Shopify store to a listed offer: the whole setup fits into one coffee break.

  1. 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.

  2. Install Feedflock

    Add Feedflock from the Shopify App Store. It reads your products, variants, stock and images directly through the Shopify API.

  3. 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.

  4. 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.

  5. 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
Feed health

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.

Feed quality · skroutz.xml
76 / 100
To review: 4
Missing EAN on 10 productsSkroutz marks EAN required for every category. It fills from the Shopify barcode, which these products lack.
Empty <mpn> on 6 productsMPN is required for all categories and is used to identify and classify the product. It fills from the variant SKU.
No category on 7 products<category> is required and fills from the product type. Skroutz wants the full path of your own category.
Empty description on 4 productsDescription is one of the thirteen required attributes; these products have none in Shopify.

The feed

What the channel receives

skroutz.xml
<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>
Live preview
Linen shirt Sand

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

01

How the Skroutz feed works

  • One XML file pulled from a public URL: no HTTP authentication, access control is an IP allowlist
  • Skroutz's IP ranges are published as a JSON document
  • 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.

02

Thirteen required attributes

  • Unique ID, Name, Product Link, Image Link, Category Name, Price, VAT Rate
  • 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 VAT in euros at up to two decimals, the VAT rate 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.

03

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.

04

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.

feedflock · mcp

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

Not on Skroutz's side: XML import is part of its paid plans, and the free Basic plan caps at 50 products with no XML. Onboarding is also reviewed: you send the feed URL to Skroutz's team, who check it and connect it.
Skroutz runs a free Data Feed Validator at validator.skroutz.gr, no login needed. Upload the file, confirm the field mapping and read the report. It treats an over-long Unique ID as an error and flags duplicate names, links and MPNs as warnings.
Yes. Skroutz classifies on the title and wants the manufacturer in it, even though <manufacturer> carries it too. The template sends your Shopify title as it is; if your titles lack the brand, switch the name to the Brand + title mapping. Never put the size in the title.
It stays in the feed with quantity 0, the documented out-of-stock signal. Unlike Heureka-style feeds, an unavailable product is not removed from the file, and a restock is just a quantity change.
Only if the cost is the same regardless of the customer's location. Anything else must stay blank. One inaccurate value removes shipping display from your entire feed, so the template leaves the element unmapped by default.
No. Skroutz publishes its availability buckets in English and Greek and crosslinks your wording onto them, and it asks multi-language shops to send the feed in English to avoid duplication.

Get on every marketplace that matters this afternoon.

Install free, connect your first feed in minutes, and let Feedflock keep it fresh and validated.

.myshopify.com