Ekoplaza Scraper avatar

Ekoplaza Scraper

Pricing

from $2.00 / 1,000 products

Go to Apify Store
Ekoplaza Scraper

Ekoplaza Scraper

Ekoplaza product API alternative: all ~5,900 ekoplaza.nl organic products with price, unit price, EAN, this week's and next week's aanbiedingen with dates and deal price, ingredients, allergens, nutrition, vegan, Ekoscope score and certifications. Checked against Ekoplaza's own total. No proxy.

Pricing

from $2.00 / 1,000 products

Rating

0.0

(0)

Developer

Sleep Mode Systems

Sleep Mode Systems

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Security

Limited permissions

Share

Ekoplaza Scraper extracts products from Ekoplaza, the organic supermarket (https://www.ekoplaza.nl): prices, unit prices, this week's and next week's deals (aanbiedingen) with their dates and deal price, an EAN barcode on every product, full ingredients, allergens in three levels, nutrition, vegan, vegetarian, organic certifications, country of origin and Ekoplaza's own Ekoscope score. Every full run checks itself against Ekoplaza's own product total: the last run read 5,937 of 5,937.

Price: $2.00 per 1,000 products. A full run reads all 5,937 products in 40 seconds to 2.5 minutes on Apify, with no proxy.

What does the Ekoplaza Scraper extract?

DataFieldsFilled in last full run
IdentityexternalId, articleNumber, name, brand, ean, gtins100% id, name and barcode, 98.5% brand
SizesizeText, quantity, unit5,936 of 5,937
Priceprice, currency, unitPrice, unitPriceUnit100% price, 5,936 unit prices
DealspromoPrice, promoText, promoType, promoStart, promoEnd558 deals this week (9.4%), all with dates; 413 with a deal price
Labelsorganic, vegan, vegetarian, ekoscope, badges, origin, ageRestriction4,822 organic, 4,354 vegan, 5,072 vegetarian, 4,483 Ekoscope scores
Product factsdescription, ingredients, allergens, mayContain, freeFrom, nutrition99.9% ingredients, 50.4% allergens, 84.3% free-from, 74.7% nutrition
CategorycategoryPath, categoryIds, category100%, up to 3 levels
Links, stockurl, imageUrl, inStock, availabilityLabel100% url and stock code, 99.3% image
RunpriceDate, detailsDate, searchTerm, scrapedAt100%

Last full run: 2026-11-05, 5,937 products in 13 requests, all HTTP 200; on Apify the same read took 39 seconds in one run and 144 seconds in another, as Ekoplaza's search speed varies.

Who uses the Ekoplaza Scraper?

  • Price comparison sites add Ekoplaza's organic range to Albert Heijn, Jumbo, Dirk, PLUS, DekaMarkt, Hoogvliet, Vomar and Poiesz, matched on ean.
  • Deal and folder apps publish Ekoplaza's aanbiedingen of this week and, with nextWeek, of next week before it starts.
  • Allergy and diet apps read allergens, mayContain and freeFrom (24 allergens per product), full ingredients, nutrition, vegan and vegetarian.
  • Organic brands follow their products' price, deals and Ekoscope score at the largest Dutch organic chain.
  • Sustainability researchers compare Ekoscope scores, certifications (EU-BIO, Demeter, Fair Trade) and origin across 5,937 products.
  • Market analysts track an organic chain's prices and deal share week by week.
  • Developers who need an Ekoplaza product API without maintaining one call this actor from JavaScript, Python or REST.

How much does the Ekoplaza Scraper cost?

Pay per event. You pay for products written to the dataset and a tiny start fee. Platform usage is included.

EventPrice
Product written to dataset$0.002
Actor start$0.00005 per run at the default 512 MB

Ekoplaza Scraper cost examples

ScenarioProductsCost
Small test, maxItems: 100100$0.20
Keyword search, keywords: ["glutenvrij"]129$0.26
Next week's deals, nextWeek and onlyBonus467$0.93
This week's deals, onlyBonus: true558$1.12
Full catalog5,937$11.87
Full catalog every week, 4 runs a month23,748$47.50

Product counts are from runs on 2026-11-05. Set maxItems to cap any run. Set the run's maximum charge in Apify to cap spend; the actor stops cleanly when it is reached and reports how many products it got.

How do you configure the Ekoplaza Scraper?

FieldTypeDefaultMeaning
keywordsarray of stringsemptySearch for these words instead of reading the full catalog, every result.
eansarray of stringsemptyLook up these barcodes instead of reading the full catalog.
onlyBonusbooleanfalseKeep only products on a deal, in any mode.
nextWeekbooleanfalsePrices and deals as on the coming Wednesday, when Ekoplaza's deal week starts.
freshDetailsbooleanfalseRead every product's barcode, ingredients, allergens and nutrition live, not from the file.
maxItemsinteger100000Stop after this many products; a smaller catalog read also stops reading early.
minItemsinteger1Fail the run when it stores fewer products: a guard for scheduled runs.

How do you scrape the full Ekoplaza assortiment with the Ekoplaza Scraper?

Leave every field empty. The actor reads Ekoplaza's category tree and its whole catalog, 500 products a request: 13 requests for 5,937 products, between 40 seconds and 2.5 minutes on Apify.

{}

How do you get the Ekoplaza aanbiedingen of this week with the Ekoplaza Scraper?

Set onlyBonus. The run of 2026-11-05 returned 558 deals: 413 VAN-VOOR ACTIE deals with a lower price, 18.6% off on average and up to 30%, plus 144 multi-buys such as 2DE HALVE PRIJS (89) and 2 VOOR 6.00 (35). Ekoplaza's deal week runs Wednesday to Tuesday: promoStart 2026-11-04, promoEnd 2026-11-10.

{
"onlyBonus": true
}

How do you get the Ekoplaza aanbiedingen of next week with the Ekoplaza Scraper?

Set nextWeek, and onlyBonus for the deals only. Ekoplaza puts next week's deals online during the current week; the actor reads them and each deal's price. The run of Thursday 2026-11-05 returned 467 deals for Wednesday 2026-11-11: 431 VAN-VOOR ACTIE deals from 11 to 17 November with their deal price, 19.6% off on average and up to 50% (Kaki, 4.77, next week 3.75), plus 36 deals that keep running. That is 500 requests and about 3 minutes. priceDate shows the day the prices hold for.

{
"nextWeek": true,
"onlyBonus": true
}

How do you search Ekoplaza by keyword with the Ekoplaza Scraper?

Give one or more words. The actor runs Ekoplaza's search and pages through every result: glutenvrij found 129 products in 2 requests. Ekoplaza's search is broad: vegan matches 5,162 of 5,937 products, so for vegan products run the full catalog and filter on vegan.

{
"keywords": ["glutenvrij", "havermout"]
}

How do you look up Ekoplaza products by EAN barcode with the Ekoplaza Scraper?

Give a list of barcodes; leading zeros are optional. Ekoplaza's search does not match barcodes, so the actor reads the catalog (13 requests) and matches the barcode of every product: 3 of 3 found in the run of 2026-11-05. A barcode Ekoplaza does not sell is reported in the run summary with expected: 0 and costs nothing.

{
"eans": ["8711521118229", "08721055374541", "8721225230868"]
}

Where do the ingredients and allergens of the Ekoplaza Scraper come from?

Ekoplaza gives a product's barcode, ingredients, allergens and nutrition only in its full product record, 200 products a request at about 55 milliseconds a product. The actor ships with a details file of every product, read in one full run (detailsDate, 2026-11-05 for the current file: 5,937 products), and reads live only the products the file does not know, such as new ones. So a full run with every detail takes no longer than one without.

Set freshDetails to read every product's details from Ekoplaza in the run: 49 more requests, 2 to 7 minutes on the full catalog. Use it when you need today's ingredients and allergens for every product.

{
"freshDetails": true
}

Which fields does the Ekoplaza Scraper output?

Source: Ekoplaza = Ekoplaza's value unchanged. Derived = computed by this actor. Fixed = same in every item. Missing values are null, never an empty string.

FieldSourceMeaning
chainFixedAlways ekoplaza.
storeFixedAlways null: the web shop's prices.
externalIdEkoplazaEkoplaza's product id, as text.
articleNumberEkoplazaEkoplaza's article number, such as 0001232834.
eanEkoplazaBarcode: EAN-13 on 5,826 products, UPC-A on 72, EAN-8 on 39.
gtinsEkoplazaThe barcode as a one-element list. Kept for the same field on other chains.
nameEkoplazaProduct name as the web shop shows it.
brandEkoplazaBrand; null where Ekoplaza lists none.
sizeTextEkoplazaSize as Ekoplaza gives it: 80 Gram, 75 cl, 3 stuks.
packCountFixedAlways null on Ekoplaza.
quantityDerivedSize as a number, in unit; centilitres become ml.
unitDerivedg, kg, ml, l or stuk.
priceEkoplazaRegular price in EUR.
currencyFixedAlways EUR.
unitPriceDerivedRegular price per kg, litre or piece, computed from price and size.
unitPriceUnitDerivedkg, l or stuk.
promoPriceEkoplazaDeal price of a VAN-VOOR ACTIE in EUR; null for multi-buys and without a deal.
promoTextEkoplazaEkoplaza's deal name: VAN-VOOR ACTIE, 2DE HALVE PRIJS, 2 VOOR 6.00, 2+1 GRATIS.
promoTypeDerivedprice or multibuy, from the deal name.
promoLabelsFixedAlways null on Ekoplaza.
promoStartEkoplazaFirst day of the deal (YYYY-MM-DD).
promoEndEkoplazaLast day of the deal, inclusive; null for deals without an end.
organicDerivedtrue with an organic certification (Biologisch, Bio-Dynamisch).
veganEkoplazaEkoplaza's vegan flag.
vegetarianEkoplazaEkoplaza's vegetarian flag.
nutriScoreFixedAlways null: Ekoplaza gives none.
ekoscopeEkoplazaEkoscope, Ekoplaza's own sustainability score from 0 to 10.
badgesEkoplazaCertifications: EU-BIO, Biologisch, Demeter, Fair Trade, Natrue.
originEkoplazaCountry of origin as a code: NL, DE, BE.
shelfLifeDaysEkoplazaDays the product keeps, when Ekoplaza gives it.
ageRestrictionDerived18 for products Ekoplaza marks as containing alcohol.
soldByWeightEkoplazatrue for products weighed in store.
detailsDateDerivedDate the details were read: the details file's date, or the run's date when read live.
descriptionEkoplazaEkoplaza's product description.
ingredientsEkoplazaIngredients, in full from the product label.
allergensEkoplazaAllergens the product contains (Bevat).
mayContainEkoplazaAllergens it may contain (Kan bevatten).
freeFromEkoplazaAllergens Ekoplaza states it is free from.
nutritionEkoplazaper (100 gram, 100 ml) and values, a list of name and value.
categoryPathEkoplazaCategory, sub-category and leaf, joined with /.
categoryIdsEkoplazaEkoplaza's ids of the category path, as text.
categoryEkoplazaTop category.
urlDerivedProduct page on ekoplaza.nl.
imageUrlEkoplazaProduct image.
inStockDerivedfalse when the web shop lists the product as out of stock.
availabilityLabelEkoplazaEkoplaza's stock code: in_stock, limited_stock or out_of_stock.
priceDateDerivedThe day the prices and deals hold for: today, or next Wednesday with nextWeek.
searchTermDerivedKeyword or barcode that found the product; null in a full catalog run.
scrapedAtDerivedWhen the product was read (ISO 8601, UTC).

Ekoplaza Scraper output example

Vivani Pure chocolade 85%, from the full run of 2026-11-05, on a VAN-VOOR ACTIE this week. The description is shortened here.

{
"chain": "ekoplaza",
"store": null,
"externalId": "232834",
"articleNumber": "0001232834",
"ean": "4044889005264",
"gtins": ["4044889005264"],
"name": "Pure chocolade 85% Santo Domingo",
"brand": "Vivani",
"sizeText": "80 Gram",
"packCount": null,
"quantity": 80,
"unit": "g",
"price": 3.49,
"currency": "EUR",
"unitPrice": 43.63,
"unitPriceUnit": "kg",
"promoPrice": 2.96,
"promoText": "VAN-VOOR ACTIE",
"promoType": "price",
"promoLabels": null,
"promoStart": "2026-11-04",
"promoEnd": "2026-11-10",
"organic": true,
"vegan": true,
"vegetarian": true,
"nutriScore": null,
"ekoscope": 5,
"badges": ["EU-BIO", "Biologisch"],
"origin": "DE",
"shelfLifeDays": null,
"ageRestriction": null,
"soldByWeight": false,
"detailsDate": "2026-11-05",
"description": "Deze krachtige, bitterzoete pure chocolade maakt indruk met haar intense, verfijnde smaak. Gemaakt met de fijnste biologische cacao uit de Dominicaanse Republiek…",
"ingredients": "cocoamassa*, cacaoboter*, ruwe rietsuiker*. Cacao: ten minste 85%. Kan noten, gluten en melkbestanddelen bevatten.*van biologische landbouw.",
"allergens": ["Cacao"],
"mayContain": ["Gluten", "Melk", "Lactose", "Maïs", "Noten", "Koriander"],
"freeFrom": [
"Glutamaat",
"Ei",
"Kippenvlees",
"Peulvruchten",
"Aardnoten (pinda’s)",
"Rundvlees",
"Soja",
"Zwaveldioxide en sulfieten",
"Varkensvlees",
"Selderij",
"Schaaldieren",
"Vis",
"Sesam",
"Lupine",
"Wortel",
"Mosterd",
"Weekdieren"
],
"nutrition": {
"per": "100 gram",
"values": [
{ "name": "Energie", "value": "2547 kJ" },
{ "name": "Energie", "value": "608 kcal" },
{ "name": "Eiwit totaal", "value": "10.1 gram" },
{ "name": "Koolhydraten totaal", "value": "17.6 gram" },
{ "name": "Suikers", "value": "14.2 gram" },
{ "name": "Vet totaal", "value": "53 gram" },
{ "name": "Vet verzadigd", "value": "32.2 gram" },
{ "name": "Voedingsvezel", "value": "11.9 gram" },
{ "name": "Zout", "value": "0.01 gram" }
]
},
"categoryPath": "Chips, koek, snoep, chocolade/Chocolade/Pure chocolade",
"categoryIds": ["537", "562", "569"],
"category": "Chips, koek, snoep, chocolade",
"url": "https://www.ekoplaza.nl/nl/producten/product/pure-chocolade-85-santo-domingo-0001232834",
"imageUrl": "https://www.ekoplaza.nl/api/media/aspos/Product/Front/201016/58f06cbb-9da2-409d-ad43-c44e6ded59ec.800x580.webp?ot=.jpg",
"inStock": true,
"availabilityLabel": "in_stock",
"priceDate": "2026-11-05",
"searchTerm": null,
"scrapedAt": "2026-11-05T20:34:51.349Z"
}

How does the Ekoplaza Scraper report on its run?

Every run saves a SUMMARY record in its key-value store. From the full run of 2026-11-05, with the 22 categories shortened to 2:

{
"mode": "catalog",
"onlyBonus": false,
"nextWeek": false,
"freshDetails": false,
"priceDate": "2026-11-05",
"itemsPushed": 5937,
"distinctIds": 5937,
"productsRead": 5937,
"catalogTotal": 5937,
"dealsThisWeek": 558,
"nextWeekProducts": null,
"nextWeekDeals": null,
"nextWeekPricesRead": 0,
"detailsFromFile": 5937,
"detailsRead": 0,
"detailsFileDate": "2026-11-05",
"detailsMissing": 0,
"barcodesMissing": 0,
"stoppedAtChargeLimit": false,
"blocked": false,
"eanCatalogScan": false,
"durationSec": 30,
"requests": 13,
"statusCodes": { "200": 13 },
"errors": [],
"retries": [],
"categories": [
{ "id": 10, "name": "Aardappel, groente, fruit", "listed": 202, "collected": 202 },
{ "id": 610, "name": "Glutenvrij", "listed": 130, "collected": 68 }
],
"searches": []
}

listed is Ekoplaza's own count for a category, and a product can be in several (Glutenvrij and Pasta); collected counts the products whose categoryPath starts there. A run is suspect when productsRead is below catalogTotal, when blocked is true, when detailsMissing or errors are not empty, or, with nextWeek, when nextWeekDeals is 0. Set minItems to make a bad run fail outright.

Things to know about Ekoplaza data from the Ekoplaza Scraper

  • Banners are not deals. 653 products carried a "15% korting" to "30% korting" banner without a discount or a lower price; the website shows no deal for them. The actor takes deals from Ekoplaza's active discounts, with their dates. Against each deal's own price record, 25 of 25 sampled deal prices agreed.
  • Multi-buys have no deal price. 2DE HALVE PRIJS, 2 VOOR 6.00 and 2+1 GRATIS keep promoPrice at null, with the deal in promoText. 2 VOOR 6.00 (35 products) runs without an end date.
  • Ekoplaza's deal week runs Wednesday to Tuesday. With nextWeek, the prices and deals are those of the coming Wednesday; deals that keep running stay, deals that end on Tuesday are left out.
  • Allergens in three levels. Ekoplaza gives 24 allergens per product, each marked as contained (allergens), possibly contained (mayContain) or free from (freeFrom), as on its product pages. Gerookte kipfilet: contains Kippenvlees, may contain 12 others.
  • Full ingredients. Ekoplaza's ingredients field stops at 60 characters; the actor takes the full text from the product label (up to 1,977 characters). 24 ingredient texts are exactly 60 characters and may be the shortened field.
  • The details are dated. Ingredients, allergens, nutrition and barcodes come from the actor's details file (detailsDate). Recipes change rarely, but they do: set freshDetails for today's values.
  • Ekoscope runs from 0 to 10. It is Ekoplaza's own score for sustainability; 1,454 products have none.
  • Organic is read from the certifications. 4,822 products carry Biologisch or Bio-Dynamisch; 143 carry "Niet-biologisch" and 804 "Non-food".
  • Unit prices are computed. Ekoplaza gives no unit price in its data, so unitPrice is the regular price over the size: saffron reaches 14,790 per kg (1 gram for 14.79).
  • Ekoplaza's search is broad. vegan matches 5,162 of 5,937 products; filter the full catalog on vegan for vegan products.
  • Prices are the web shop's. No store is chosen; stores can differ.

This actor reads publicly available data only. It collects product data, not personal data. It respects rate limits and does not bypass any login or paywall. You are responsible for how you use the data, including any terms that apply to you. See Apify's guide to web scraping legality.

Frequently asked questions about the Ekoplaza Scraper

Can I get Ekoplaza products as CSV or Excel?

Yes. Every run's dataset downloads as CSV, Excel, JSON or XML from Apify, or through the API.

How often should I run it?

Ekoplaza's deals change every Wednesday. A run each Wednesday keeps a deal list current, and a run with nextWeek from the Wednesday before gives the coming week's deals in advance.

Does it need proxies?

No. The actor reads Ekoplaza's website API directly, one request at a time, with no proxy: every request of every run on 2026-11-05 answered HTTP 200.

Can I schedule it and send results somewhere?

Yes. Use Apify Schedules, and a webhook or integration to send each run's dataset to your database, Google Sheets, Slack or Notion.

Does it work with the Apify API and SDK?

Yes. Any Apify client (JavaScript, Python, REST) can start the actor and read the dataset.

What are the Ekoplaza aanbiedingen this week?

Run the actor with onlyBonus: on 2026-11-05 it returned 558 deals valid from 4 to 10 November 2026, 413 of them with a lower price.

Can I get the Ekoplaza aanbiedingen of next week?

Yes. Set nextWeek and onlyBonus: on 2026-11-05 the actor returned 467 deals for the week from Wednesday 11 November, 431 of them with their deal price.

Can I get Ekoplaza's glutenvrije producten?

Yes. Search glutenvrij (129 products), or run the full catalog and filter freeFrom on Gluten: 3,736 products in the last run are free from gluten.

Can I get Ekoplaza's vegan products, such as vegan kaas?

Yes: filter the full catalog on vegan, which Ekoplaza sets on 4,354 products, and on categoryPath for a group such as cheese. Keyword search is too broad for this.

What is the Ekoscope?

Ekoplaza's own score from 0 to 10 for how sustainably a product is made, shown on its website. The actor gives it in ekoscope for 4,483 products; 5 is the most common score.

Is there an official Ekoplaza API?

Ekoplaza offers no public API. This actor reads the API behind its website, so it gives the same prices and deals as ekoplaza.nl.

Can I compare Ekoplaza prices with other Dutch supermarkets?

Yes. The scrapers for Albert Heijn, Jumbo, Dirk, PLUS, DekaMarkt, Hoogvliet, Vomar and Poiesz by Sleep Mode Systems output the same fields. Match on ean (Albert Heijn writes it with a leading zero, so compare without leading zeros) and compare unitPrice.

Other scrapers by Sleep Mode Systems

ActorWhat it extractsPrice per 1,000
Ekoplaza ScraperEkoplaza products: prices, next week's deals, EAN, allergens, Ekoscope$2.00you are here
Albert Heijn ScraperAlbert Heijn products: prices, Bonus deals, EAN, Nutri-Score$1.00
Jumbo ScraperJumbo products: prices, deals with dates, EAN, organic, shelf life$1.50
Dirk ScraperDirk products: prices, next week's deals, EAN, Nutri-Score$2.00
PLUS ScraperPLUS products: prices, deals with dates, EAN, Nutri-Score, vegan$1.50
DekaMarkt ScraperDekaMarkt products: prices, next week's deals, EAN, organic$2.00
Hoogvliet ScraperHoogvliet products: prices, next week's deals, EAN, ingredients, vegan$2.00
Vomar ScraperVomar products: prices, every EAN barcode, BIO, categories$1.00
Poiesz ScraperPoiesz products: prices, deals with dates, EAN, deposit, ingredients$1.50
Aldi NL ScraperAldi products: prices, next week's deals, special buys, seals$1.00

All of them share the same output fields, so you can combine their datasets directly. The Aldi NL Scraper adds articleNumber, description, specialBuy, vegan, vegetarian, ageRestriction and priceDate, and has no barcodes; the Ekoplaza Scraper adds articleNumber, vegan, vegetarian, ekoscope, origin, shelfLifeDays, ageRestriction, soldByWeight, detailsDate, description, ingredients, allergens, mayContain, freeFrom, nutrition and priceDate; the Poiesz Scraper adds promoDescription, deposit, depositAmount, ageRestriction, alcoholPercentage, purchaseLimit, soldByWeight, detailsRead, detailsDate, ingredients, allergens, mayContain, freeFrom, nutrition and storage; the Vomar Scraper adds soldByWeight, and fills gtins with every barcode Vomar lists; the Hoogvliet Scraper adds promoDescription, vegan, vegetarian, shelfLifeDays, ageRestriction, soldByWeight, ingredients, nutrition, storage, origin, alcoholPercentage and priceDate; the DekaMarkt and Dirk Scrapers add soldByWeight and priceDate; PLUS adds vegan, vegetarian, deposit, storeOnly, detailsRead and detailsDate; Jumbo adds promotions and shelfLifeDays. Category ids are text on Jumbo, Dirk, DekaMarkt, Hoogvliet, Vomar, Poiesz, Ekoplaza and Aldi, numbers on Albert Heijn, and not given by PLUS.

Support for the Ekoplaza Scraper

Questions, a missing field, or a custom pipeline on top of this data: write to Imad at imad@sleepmodesystems.com. Bugs go in the Issues tab of this actor.