Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Shopflix.gr API page →
E-commerce & Marketplaces

Shopflix.gr API & Scraper

The Shopflix.gr API turns Greece's multi-vendor marketplace into JSON in seven actions.

7 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

search takes Greek or English words and returns the product grid: the sku you use everywhere else, the title, Shopflix's own price in euros, the cheapest and the dearest merchant price for that product, how many merchants carry it, the Greek category path, the rating where the product has reviews, and the product's images. The same rows come back from category for a whole department without a keyword, and both accept category, brand, merchant, minimum and maximum price, and five sort orders including cheapest and biggest discount first. product returns the full product: every technical specification row as a named pair, the description, the manufacturer, the manufacturer part number, shipping weight and box dimensions, the images and the category. offers is the action the marketplace exists for: every merchant selling that product, with the shop name, the shop's own rating, its price, its shipping fee, its stock quantity and how many instalments it offers. reviews returns customer reviews with the rating breakdown, and categories and suggest are the two cheap lookups that make the rest easy to drive. One figure is deliberately published twice and the two are not the same: merchant_count is how many merchants the market has and offers_named is how many of them Shopflix names in the response, so the full price list always comes back even where the names stop at five. Measured on 2026-10-06: across 382 product rows from 25 calls in 10 Greek and English query families, the sku, title, url, price, price band, merchant count, category path and images were filled on every single row, and no row carried markup in its title. One thing this source cannot do, stated plainly because it decides whether the API is useful to you: Shopflix cannot be searched by barcode. Its own search covers product name, sku, merchant name and spec values, and ten EAN-13 codes that provably belong to Shopflix products returned zero results. What does come back is gtin13, the barcode recovered from the product's own images, on 111 of those 382 rows — 21 of 25 LEGO rows and 15 of 25 television rows, but only 1 of 25 on fashion. It is a join key for matching Shopflix against your own EAN catalogue, not a way to look a barcode up. One ReefAPI key, the standard { ok, data, meta, error } envelope, and no Shopflix account of any kind.

Reference

Which Shopflix number is which

Five of these fields look interchangeable and are not. Measured on 2026-10-06.

FieldWhat it isMeasured example
price_eur (row)Shopflix's own headline price for the product, in euros1568.00 on the Apple iPhone 18 Pro 256GB
price_min_eur / price_max_eurThe cheapest and dearest merchant price for that product1549.00 to 1936.30 across 14 merchants on the same product
merchant_countHow many merchants the market has for the product14, 2, 9 and 30 on four measured products
offers_namedHow many of them this response names. Shopflix names the top five5 of 14, 2 of 2, 5 of 9, 5 of 30
merchant_prices[]Every merchant's price, cheapest first, by merchant reference14 rows on the product whose named list held 5
offers[].stock_quantityThe units that merchant declares in stock100, 45 and 1 on three merchants of one product
gtin13The product's EAN-13, recovered from its own images and checksum-checked5702016912920 on a LEGO Technic set; null where it cannot be recovered
price_band_staleSet when the headline price and the merchant band disagreetrue on 7 of 382 measured rows, absent on the rest

offers and merchant_prices answer different questions: offers is the named list Shopflix publishes and stops at five, while merchant_prices carries every merchant's price without the shop names. Read merchant_count beside offers_named and you never have to guess which you are holding.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/shopflix/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "iphone"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "shopflix",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 323.9,
    "record_count": 24,
    "bytes": 221615,
    "cache_hit": false,
    "stop_reason": "limit_reached",
    "sort": "relevance",
    "total": 715,
    "charged_credits": 1,
    "version": "1.0.0",
    "request_id": "7b46e68852d945e6",
    "queue_ms": 1.5,
    "fetched_at": "2026-10-06T14:47:18.952Z"
  },
  "data": {
    "products": [
      {
        "sku": "SF-202747804",
        "abstract_sku": "SFA-202747804",
        "product_id": 17272178,
        "title": "Apple iPhone 18 Pro 12GB 256GB Black",
        "url": "https://shopflix.gr/p/SF-202747804/apple-iphone-18-pro-12gb-256gb-black",
        "price_eur": 1568,
        "list_price_eur": 1568,
        "discount_pct": 0,
        "currency": "EUR",
        "price_min_eur": 1549,
        "price_max_eur": 1790.95,
        "merchant_count": 14,
        "merchant_name": "ΝΕΑ ΓΕΝΙΑ ΤΕΧΝΟΛΟΓΙΑΣ",
        "shipping_lead_time": "Παράδοση 2-3 ημέρες",
        "review_count": 0,
        "category_path": [
          "Αρχική",
          "Τεχνολογία",
          "Τηλεφωνία"
        ],
        "images": [
          "https://cdn.shopflix.gr/products/SFA-202747804/images/530/20260910113449_2156500apple00000012505075hero800x800.webp",
          "https://cdn.shopflix.gr/products/SFA-202747804/images/530/20260910113453_2156500apple0000001250507501800x800.webp",
          "https://cdn.shopflix.gr/products/SFA-202747804/images/530/20260911053531_img21451581_m_jpeg_1_ff3fbdcefbd349009c01a2ff15d67ae8.webp"
        ]
      },
      {
        "sku": "SF-202781433",
        "abstract_sku": "SFA-202781433",
        "product_id": 17284150,
        "title": "Apple iPhone 18 Pro 12GB 256GB Burgundy",
        "url": "https://shopflix.gr/p/SF-202781433/apple-iphone-18-pro-12gb-256gb-burgundy",
        "price_eur": 1699,
        "list_price_eur": 1699,
        "discount_pct": 0,
        "currency": "EUR",
        "price_min_eur": 1699,
        "price_max_eur": 1749,
        "merchant_count": 2,
        "merchant_name": "Metrostore",
        "shipping_lead_time": "Παράδοση 10-30 ημέρες",
        "review_count": 0,
        "category_path": [
          "Αρχική",
          "Τεχνολογία",
          "Τηλεφωνία"
        ],
        "images": [
          "https://cdn.shopflix.gr/products/SFA-202781433/images/530/20260910131805_2156503apple00000012505078hero800x800.webp",
          "https://cdn.shopflix.gr/products/SFA-202781433/images/530/20260910131809_2156503apple0000001250507801800x800.webp",
          "https://cdn.shopflix.gr/products/SFA-202781433/images/530/20260911082411_img21451581_m_jpeg_1_ff3fbdcefbd349009c01a2ff15d67ae8.webp"
        ]
      },
      {
        "sku": "SF-12065608",
        "abstract_sku": "SFA-12065608",
        "product_id": 843876,
        "title": "Apple iPhone 14 5G 6GB 128GB Midnight Refurbished Grade A",
        "url": "https://shopflix.gr/p/SF-12065608/apple-iphone-14-5g-6gb-128gb-midnight-refurbished-grade-a",
        "price_eur": 390,
        "discount_pct": 0,
        "currency": "EUR",
        "price_min_eur": 390,
        "price_max_eur": 422.94,
        "merchant_count": 2,
        "merchant_name": "MobiPlace",
        "shipping_lead_time": "Άμεση Παράδοση",
        "rating": 5,
        "review_count": 3,
        "category_path": [
          "Αρχική",
          "Τεχνολογία",
          "Τηλεφωνία"
        ],
        "images": [
          "https://cdn.shopflix.gr/products/SFA-12065608/images/530/gA58g31.jpeg",
          "https://cdn.shopflix.gr/products/SFA-12065608/images/530/oQ0jhdZ.jpeg",
          "https://cdn.shopflix.gr/products/SFA-12065608/images/530/3bA2S1p.jpeg"
        ]
      }
    ],
    "total": 715,
    "page": 1,
    "limit": 24,
    "pages": 30,
    "query": "iphone"
  }
}
Actions

What the Shopflix.gr API does

ActionDescriptionConcrete use caseKey params
searchSearch Shopflix by keyword. Returns the product grid with the Shopflix price, the cheapest and dearest merchant price for that product, how many merchants carry it, the category path, rating and the sku you feed to `product` and `offers`. 🔴 Shopflix cannot be searched by barcode: its search index covers product name, sku, merchant name and spec values only — an EAN returns 0 rows. Rows do carry a `gtin13` when one can be recovered from the product's own images (about 30% of rows, far higher in toys and TVs), so you can join results onto an EAN catalogue.Pricing teams call search to search Shopflix by keyword.query, category_id, brand, merchant, min_price, ...
categoryBrowse one Shopflix category without a keyword — same rows as `search`. Take the id from `categories`, from a search row's URL, or from any shopflix.gr /c/<id>/ link.Marketplace operators call category to get browse one Shopflix category without a keyword.category_id, query, brand, merchant, min_price, ...
productOne product in full: title, description, every technical specification row, images, manufacturer part number, shipping weight and box dimensions, rating and review count, category. `gtin13` is the barcode recovered from the product's own images when one is recoverable; `ean_published` is the source's own barcode field, which Shopflix leaves empty on the products measured.Catalog enrichment teams call product to get one product in full.sku
offersEvery merchant selling one product. Returns TWO lists on purpose: `offers[]` is the named merchant offers Shopflix publishes (shop name, shop rating, price, shipping fee, stock quantity, instalments) and is capped at 5 by the source; `merchant_prices[]` is EVERY merchant's price for that product, which the search index knows but without shop names. `merchant_count` is the real number of sellers.Retail analysts call offers to get every merchant selling one product.sku
reviewsCustomer reviews for one product, with the rating breakdown Shopflix publishes. Reviews are keyed on the ABSTRACT sku (SFA-…); a concrete sku (SF-…) is accepted and resolved for you.Pricing teams call reviews to get customer reviews for one product, with the rating breakdown Shopflix publishes.sku, page, limit, sort, min_rating, ...
categoriesShopflix's category tree — the ids `search` and `category` take. Called without a query it returns the full published navigation (every department and its children, with parent and depth). Called with a query it searches the category index by name.Marketplace operators call categories to get shopflix's category tree.query, limit
suggestShopflix's own search autocomplete: the real queries its shoppers type, with how many products each one matches. A cheap way to find the Greek wording that actually has a catalogue behind it before spending a `search` call.Catalog enrichment teams call suggest to get shopflix's own search autocomplete.query, limit
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/shopflix/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"iphone"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.shopflix.search with {"query":"iphone"}.
Use cases

Who uses this API and why

  • Greek price monitoring on a marketplace: one sku, every merchant's price, stock quantity and shipping lead time in euros.
  • Repricing for merchants selling on Shopflix: see where your own offer sits against every other merchant on the same sku.
  • Cross-checking a third Greek source beside Skroutz and BestPrice before publishing a price or a cheapest-offer claim.
  • Catalogue enrichment: full specification rows, manufacturer, part number, shipping weight and box dimensions from a keyword.
  • Category-level market research: walk any of 659 departments by id with price, brand and merchant filters and five sort orders.
FAQ

Questions developers ask before integrating

Can I search Shopflix by barcode or EAN?

No, and this is measured rather than assumed, because it decides whether the API fits your pipeline. Shopflix's own search covers the product name, the sku, the merchant name and spec values. Ten EAN-13 codes that provably belong to products Shopflix sells returned zero results each, and the source's own barcode field was empty on all twenty products sampled across twelve query families. A barcode query therefore comes back as a successful call with zero rows, never as an error. What you do get is gtin13 on the rows where it can be recovered from the product's own images and the check digit validates: 111 of 382 measured rows, which is 21 of 25 on LEGO and 15 of 25 on televisions but only 1 of 25 on fashion. That makes it a join key — match Shopflix rows against your own EAN catalogue — not a lookup key.

Do I get every merchant selling a product?

You get every merchant's price, and the shop names for the top five. Shopflix publishes five named offers per product however you ask, while telling you the real number of sellers, so the response carries both: offers with shop name, shop rating, price, shipping fee, stock quantity and instalments for up to five, and merchant_prices with every merchant's price and shipping lead time by merchant reference. Measured on four products on 2026-10-06: 14 merchants with 5 named, 2 with 2 named, 9 with 5 named and 30 with 5 named. The cheapest and dearest price always come from the full list, so price_min_eur and price_max_eur describe the whole market even when the names stop at five.

Does it work with Greek keywords?

Yes, and Greek is the better way to search it. Eight of the ten measured query families were Greek and each returned a full page of rows: 1 657 matches for a fridge, 3 812 for a coffee machine, 5 692 for shampoo, 20 531 for perfume. The same words transliterated into Latin letters returned zero, so a Greek-language query is not a nicety here. The suggest action exists for exactly this: it returns Shopflix's own autocomplete, the real queries its shoppers type, with how many products each one matches, so you can find the wording that has a catalogue behind it before spending a search call.

Are the prices numbers, and in which currency?

Numbers, in euros, on every row and every offer. Measured across 382 rows: the price, the cheapest merchant price and the dearest merchant price were filled on all 382. There is one currency because there is one market — shopflix.gr is Greece only, and there is no country parameter behind it. One honesty detail ships with it: on 7 of those 382 rows Shopflix's headline price fell outside its own merchant price band, and those rows carry price_band_stale so the disagreement is visible instead of one of the two numbers being quietly dropped.

Do the filters actually narrow the result, or are they accepted and ignored?

They narrow it, and the control numbers are published rather than claimed. Measured in the same run on 2026-10-06: a laptop search returns 1 521 products, and 250 with brand HP, 765 above 1500 euros, 26 below 300 euros, and 0 inside the Smartphones department. An iphone search returns 716 products and 370 with merchant Techaway. A review call returns 16 reviews and 12 with a minimum rating of five. Sorting reorders too: cheapest-first gave 90, 100, 100 euros where dearest-first gave 3 399 on the same query. One scope note so nobody is surprised — the merchant filter matches the products a merchant is the recommended seller for, which is not the same as everything that merchant stocks; use offers for the full seller list of one product.

How do I go from a search result to the price comparison?

Every search and category row hands back the sku, and both product and offers take that sku or a full shopflix.gr product URL. A dead or wrong sku is answered with NOT_FOUND rather than an empty-looking success, and a value that is not a sku at all comes back as INVALID_PARAM saying so, which matters here because the source answers an unknown id with a server error rather than a clean 404.

What does this add if I already use Skroutz and BestPrice?

A third Greek source, and a different kind of one. Skroutz and BestPrice are comparison sites that index other shops; Shopflix is a marketplace where the merchants sell on the platform itself, so it carries its own merchant set, its own stock quantities and its own per-merchant shipping lead times and instalment offers. Reading all three is how a Greek pricing tool sees the market rather than one site's view of it. Each is a separate engine here with its own actions and its own credit price.

Which fields can be empty?

Counted rather than assumed, across 382 rows on 2026-10-06. Always filled: sku, title, url, price, the cheapest and dearest merchant price, the merchant count, the category path and the images, all 382 of 382. Filled part of the time: the rating, on 155 of 382, because Shopflix publishes one only where the product has reviews, and gtin13 on 111 of 382 as described above. Returned as null when the source is silent: the source's own barcode field, the ISBN, and the manufacturer part number, which was present on fashion products and absent on the electronics measured. Nothing is invented to fill a gap, and nothing is copied down from a parent product to make a column look complete.

What is the Shopflix.gr API?

Shopflix.gr API is a ReefAPI endpoint group for greek marketplace: every merchant's price and stock for one product, full specs, reviews and the category tree, in eur. It returns live JSON through POST requests under /shopflix/v1.

Is the Shopflix.gr API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Shopflix.gr calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Shopflix.gr login or account?

No login to Shopflix.gr is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Shopflix.gr data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Shopflix.gr API use?

Shopflix.gr actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Shopflix.gr from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call shopflix actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / shopflix

Shopflix.gr

Greek marketplace: every merchant's price and stock for one product, full specs, reviews and the category tree, in EUR.

base /shopflix/v17 endpoints
post/shopflix/v1/category2 credits

Browse one Shopflix category without a keyword — same rows as `search`. Take the id from `categories`, from a search row's URL, or from any shopflix.gr /c/<id>/ link.

ParameterAllowed / rangeDescription
category_idrequired—Numeric category id (24 = Smartphones) or a shopflix.gr /c/<id>/<slug> URL.
queryoptional—Optional keyword to narrow the category.
brandoptional—Exact manufacturer name as Shopflix spells it (e.g. Apple, Samsung, LEGO).
merchantoptional—Exact merchant/shop name as Shopflix spells it (e.g. Techaway, Frogs.gr). This matches the products that merchant is the recommended seller for — use `offers` to see every seller of one product.
min_priceoptional0–Keep only products whose Shopflix price is at least this many euros.
max_priceoptional0–Keep only products whose Shopflix price is at most this many euros.
sort = relevanceoptionalrelevance · price_asc · price_desc · popularity · rating · discountResult order. Each value maps to one of Shopflix's own sort indexes.
page = 1optional1–1001-based result page. Shopflix's index stops paging past roughly 1 000 rows per query, so `page` × `limit` above that returns empty.
limit = 24optional1–50Rows per page, 1-50 (default 24).
Try in playground →
post/shopflix/v1/product1 credit

One product in full: title, description, every technical specification row, images, manufacturer part number, shipping weight and box dimensions, rating and review count, category. `gtin13` is the barcode recovered from the product's own images when one is recoverable; `ean_published` is the source's own barcode field, which Shopflix leaves empty on the products measured.

ParameterAllowed / rangeDescription
skurequired—The Shopflix sku (SF-202747804) or a shopflix.gr /p/<sku>/<slug> product URL. Take it from `search`.
Try in playground →
post/shopflix/v1/offers2 credits

Every merchant selling one product. Returns TWO lists on purpose: `offers[]` is the named merchant offers Shopflix publishes (shop name, shop rating, price, shipping fee, stock quantity, instalments) and is capped at 5 by the source; `merchant_prices[]` is EVERY merchant's price for that product, which the search index knows but without shop names. `merchant_count` is the real number of sellers.

ParameterAllowed / rangeDescription
skurequired—The Shopflix sku or a product URL.
Try in playground →
post/shopflix/v1/reviews1 credit

Customer reviews for one product, with the rating breakdown Shopflix publishes. Reviews are keyed on the ABSTRACT sku (SFA-…); a concrete sku (SF-…) is accepted and resolved for you.

ParameterAllowed / rangeDescription
skurequired—Shopflix sku, abstract (SFA-…) or concrete (SF-…), or a product URL.
sort = created_descoptionalcreated_desc · created_asc · rating_desc · rating_ascReview order.
min_ratingoptional1–5Keep only reviews with at least this star rating (1-5).
verified_only = falseoptional—Keep only reviews from a verified Shopflix purchase.
with_media = falseoptional—Keep only reviews that carry customer photos.
page = 1optional1–1001-based result page. Shopflix's index stops paging past roughly 1 000 rows per query, so `page` × `limit` above that returns empty.
limit = 20optional1–50Reviews per page, 1-50 (default 20).
Try in playground →
post/shopflix/v1/categories1 credit

Shopflix's category tree — the ids `search` and `category` take. Called without a query it returns the full published navigation (every department and its children, with parent and depth). Called with a query it searches the category index by name.

ParameterAllowed / rangeDescription
queryoptional—Optional category name to look up, Greek or English. Omit it for the whole published tree.
limit = 200optional1–1000Maximum categories to return (1-1000).
Try in playground →
post/shopflix/v1/suggest1 credit

Shopflix's own search autocomplete: the real queries its shoppers type, with how many products each one matches. A cheap way to find the Greek wording that actually has a catalogue behind it before spending a `search` call.

ParameterAllowed / rangeDescription
queryrequired—A prefix or partial word, Greek or English.
limit = 10optional1–50Maximum suggestions to return (1-50).
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.