Poiesz Scraper
Pricing
from $1.50 / 1,000 products
Poiesz Scraper
Poiesz product API alternative: all ~9,700 Poiesz web shop products with price, unit price, EAN, deposit, this week's aanbiedingen with start and end dates, and on request ingredients, allergens and nutrition. Checked against Poiesz's own category totals. No proxy.
Pricing
from $1.50 / 1,000 products
Rating
0.0
(0)
Developer
Sleep Mode Systems
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Security
Limited permissionsShare
Poiesz Scraper extracts products from the Poiesz web shop (https://webwinkel.poiesz-supermarkten.nl): prices, Poiesz's own unit prices, this week's deals (aanbiedingen) with their start and end dates and deal price, EAN barcodes, deposit (statiegeld), age checks and purchase limits, categories, and on request ingredients, allergens, nutrition values and storage. Every full run checks itself: it compares the products it read with the totals Poiesz gives for each of its 469 categories, and with this week's deals list. The last run read 9,729 of 9,729, and all 954 products of the deals list.
Price: $1.50 per 1,000 products. A full run reads all 9,729 products in about 2.5 minutes on Apify, with no proxy.
What does the Poiesz Scraper extract?
| Data | Fields | Filled in last full run |
|---|---|---|
| Identity | externalId, name, brand, ean, gtins | 100% id and name, 9,726 of 9,729 barcodes, 94.5% brand |
| Size | sizeText, quantity, unit | 100% size text, 9,725 as a number |
| Price | price, currency, unitPrice, unitPriceUnit | 100% price, 95.8% unit price |
| Deals | promoPrice, promoText, promoType, promoStart, promoEnd, promoDescription | 1,144 products on a deal (11.8%); 954 with dates; 484 with a deal price |
| Labels | deposit, depositAmount, ageRestriction, alcoholPercentage, purchaseLimit, soldByWeight, organic | 590 with deposit, 387 with an age check, 220 by weight, 253 organic |
| Product facts | ingredients, allergens, mayContain, freeFrom, nutrition, storage (with withDetails) | 71.9% ingredients, 43.2% allergens, 60.2% nutrition, 69.1% storage |
| Category | categoryPath, categoryIds, category | 100% |
| Links | url, imageUrl | 100% product page, 99.6% image |
| Run | searchTerm, scrapedAt | 100% |
Last full run: 2026-11-05 on Apify, 9,729 products in 143 seconds, 667 requests, all HTTP 200. Product facts are from the full run with withDetails the same day.
Who uses the Poiesz Scraper?
- Price comparison sites load the full Poiesz assortment and match it to Albert Heijn, Jumbo, Dirk, PLUS, DekaMarkt, Hoogvliet and Vomar on
ean. - Deal and folder apps publish Poiesz's aanbiedingen of this week with their start and end dates, every Sunday, with
onlyBonus. - Food, diet and allergy apps read
ingredients,allergens,mayContain,freeFromandnutritionof 7,885 products with at least one product fact. - Brand and category managers in the north of the Netherlands follow their products' price, deals and unit price at Poiesz week by week.
- Retail and market analysts track a regional chain's prices, its own brands (
G'woon1,231 products,POIESZandPoiesz480) and its deal share. - Drinks suppliers follow beer, wine and spirits prices with deposit and alcohol percentage: 398 products with alcohol.
- Developers who need a Poiesz product API without maintaining one call this actor from JavaScript, Python or REST.
How much does the Poiesz Scraper cost?
Pay per event. You pay for products written to the dataset and a tiny start fee. Platform usage is included.
| Event | Price |
|---|---|
| Product written to dataset | $0.0015 |
| Actor start | $0.00005 per run at the default 512 MB |
Product details (withDetails) cost nothing extra: the price is per product either way.
Poiesz Scraper cost examples
| Scenario | Products | Cost |
|---|---|---|
Small test, maxItems: 100 | 100 | $0.15 |
Keyword search, keywords: ["bier"] | 204 | $0.31 |
| Barcode lookup, 100 barcodes in one run | up to 100 | up to $0.15 |
This week's deals, onlyBonus: true | 1,144 | $1.72 |
| Full catalog | 9,729 | $14.59 |
| Full catalog every week, 4 runs a month | 38,916 | $58.37 |
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. With withDetails, it reads details only for the products it can still store.
How do you configure the Poiesz Scraper?
| Field | Type | Default | Meaning |
|---|---|---|---|
keywords | array of strings | empty | Search for these words instead of reading the full catalog, every result. |
eans | array of strings | empty | Look up these barcodes instead of reading the full catalog. |
onlyBonus | boolean | false | Keep only products on a deal, in any mode. |
withDetails | boolean | false | Add each product's ingredients, allergens, nutrition and storage, from the actor's details file. |
freshDetails | boolean | false | With withDetails: read every product's details live from Poiesz instead of the file. |
maxItems | integer | 100000 | Stop after this many products; a smaller catalog read also stops reading early (500 in 11 seconds). |
minItems | integer | 1 | Fail the run when it stores fewer products: a guard for scheduled runs. |
How do you scrape the full Poiesz assortment with the Poiesz Scraper?
Leave every field empty. The actor reads Poiesz's category tree, this week's deals list and all 469 leaf categories, 24 products a page: 667 requests and about 2.5 minutes on Apify for 9,729 products.
{}
How do you get this week's Poiesz aanbiedingen with the Poiesz Scraper?
Set onlyBonus. The actor reads the full catalog and keeps the 1,144 products on a deal (run of 2026-11-05). The 954 products of Poiesz's weekly deals list get promoStart and promoEnd: 2026-11-01 to 2026-11-07, Sunday to Saturday, as Poiesz writes "Geldig van 1 november tot en met 7 november 2026". The other 190 are deals of the web shop outside that list, without dates.
{"onlyBonus": true}
How do you get ingredients, allergens and nutrition with the Poiesz Scraper?
Set withDetails in any mode. Every product then carries its ingredients (71.9% of products), allergens (43.2% contains, 19.1% may contain, 4.5% free from), nutrition per 100 gram or 100 ml (60.2%) and storage (69.1%). Poiesz gives details only one product at a time, so the actor ships with a details file read in one full run (detailsDate, 2026-11-05 for the current file) and reads live only the products the file does not know, such as new ones, 4 at a time. A full run with details takes as long as one without: 98 seconds against 94 in local runs, instead of about 21 minutes to read every detail live. Set freshDetails as well to read every product's details from Poiesz now: about 21 minutes on Apify for the full catalog (9,729 details, 10,396 requests, all HTTP 200), seconds on a search.
{"keywords": ["pindakaas"],"withDetails": true}
How do you search Poiesz by keyword with the Poiesz Scraper?
Give one or more words. The actor runs Poiesz's own search and pages through every result, 1,000 at a time: bier found 204 products, kaas 212, melk 124, g'woon 1,159. Each product is stored once, under the first keyword that found it (searchTerm).
{"keywords": ["bier", "pindakaas"]}
How do you look up Poiesz products by EAN barcode with the Poiesz Scraper?
Give a list of barcodes; leading zeros are optional. Poiesz's search does not match barcodes, so the actor reads the catalog and stops as soon as every barcode is found: 3 barcodes took 268 requests and 33 seconds. A barcode Poiesz does not sell is reported in the run summary with expected: 0, after the whole catalog was read, and costs nothing.
{"eans": ["8710624300715", "08710956101158", "2143670000000"]}
Which fields does the Poiesz Scraper output?
Source: Poiesz = Poiesz's value unchanged. Derived = computed by this actor. Fixed = same in every item. Missing values are null, never an empty string.
| Field | Source | Meaning |
|---|---|---|
chain | Fixed | Always poiesz. |
store | Fixed | Always null: the web shop's prices, the same in the stores sampled. |
externalId | Poiesz | Poiesz's article number, as text. |
ean | Poiesz | Barcode: EAN-13 on most products; codes starting with 2 are for products weighed in store. |
gtins | Poiesz | The barcode as a one-element list. Kept for the same field on other chains. |
name | Poiesz | Product name as the web shop shows it. |
brand | Poiesz | Brand as Poiesz writes it: G'woon, POIESZ, Bio+. |
sizeText | Derived | Size as text: 500 gram, 7200 milliliter, 6 stuks. |
packCount | Fixed | Always null on Poiesz. Kept for the same field on other chains. |
quantity | Derived | Size as a number, in unit; centilitres become ml. |
unit | Derived | g, kg, ml, l, stuk, m or cm. |
price | Poiesz | Regular price in EUR; during a price deal, the price before the deal (Poiesz's strike-through price). |
currency | Fixed | Always EUR. |
unitPrice | Poiesz | Regular price per kg, litre or metre as Poiesz gives it, or per piece (computed), in EUR. |
unitPriceUnit | Derived | kg, l, m or stuk. |
promoPrice | Derived | Deal price per pack in EUR; null for multi-buy and weight deals, and without a deal. |
promoText | Poiesz | Poiesz's deal label: aanbieding, 2 voor 3.00, 1+1 gratis, 25% korting: 4.39. |
promoType | Derived | price, multibuy or percentage, from the label. |
promoLabels | Fixed | Always null on Poiesz. Kept for the same field on other chains. |
promoStart | Poiesz | First day of the deal (YYYY-MM-DD), for deals in the weekly deals list. |
promoEnd | Poiesz | Last day of the deal, inclusive. |
promoDescription | Poiesz | The deals list's own text, such as schaal à 500 gram. |
organic | Derived | true when the name or brand says biologisch, Bio+ or bio, on food. Poiesz gives no organic label. |
nutriScore | Fixed | Always null: Poiesz gives none. |
badges | Fixed | Always null on Poiesz. |
deposit | Derived | true when the product carries a deposit (statiegeld). |
depositAmount | Poiesz | Deposit in EUR, on top of price. |
ageRestriction | Derived | 18 for products that need an age check; otherwise null. |
alcoholPercentage | Poiesz | Alcohol percentage, when above 0. |
purchaseLimit | Poiesz | Most units one order may hold, when Poiesz sets a limit. |
soldByWeight | Poiesz | true for weighed products: the price is for the weight in sizeText. |
detailsRead | Derived | true when the product's details are known, from the details file or read live. |
detailsDate | Derived | Date the details were read: the details file's date, or the run's date when read live. |
ingredients | Poiesz | Ingredients text, with withDetails. |
allergens | Poiesz | Allergens the product contains (Bevat), with withDetails. |
mayContain | Poiesz | Allergens it may contain (Kan bevatten), with withDetails. |
freeFrom | Poiesz | Allergens it is free from (Vrij van), with withDetails. |
nutrition | Poiesz | per (100 gram, 100 ml) and values, a list of name and value, with withDetails. |
storage | Poiesz | Storage instructions, with withDetails. |
categoryPath | Poiesz | Category, sub-category and leaf, joined with /. |
categoryIds | Poiesz | Poiesz's ids of the three levels, as text. |
category | Poiesz | Top category, one of 25. |
url | Derived | Product page in the web shop. |
imageUrl | Poiesz | Product image. |
inStock | Fixed | Always null: the web shop gives no stock. |
availabilityLabel | Fixed | Always null on Poiesz. |
searchTerm | Derived | Keyword or barcode that found the product; null in a full catalog run. |
scrapedAt | Derived | When the product was read (ISO 8601, UTC). |
Poiesz Scraper output example
Amstel Blik, from the full run with withDetails of 2026-11-05: a 25% deal with its dates, a 0.90 deposit and an age check.
{"chain": "poiesz","store": null,"externalId": "234166","ean": "8712000059026","gtins": ["8712000059026"],"name": "Amstel Blik","brand": "Amstel","sizeText": "6 stuks","packCount": null,"quantity": 6,"unit": "stuk","price": 5.85,"currency": "EUR","unitPrice": 2.95,"unitPriceUnit": "l","promoPrice": 4.39,"promoText": "25% korting: 4.39","promoType": "percentage","promoLabels": null,"promoStart": "2026-11-01","promoEnd": "2026-11-07","promoDescription": null,"organic": false,"nutriScore": null,"badges": null,"deposit": true,"depositAmount": 0.9,"ageRestriction": 18,"alcoholPercentage": 5,"purchaseLimit": null,"soldByWeight": false,"detailsRead": true,"detailsDate": "2026-11-05","ingredients": "water, GERSTEMOUT, hop, hopextract","allergens": ["Glutenbevattende granen", "Gerst en gerstproducten (glutenbevattend graan)"],"mayContain": null,"freeFrom": null,"nutrition": {"per": "100 ml","values": [{ "name": "Koolhydraten", "value": "3.1 gram" },{ "name": "Energie", "value": "41 kcal" },{ "name": "Energie", "value": "173 kJ" },{ "name": "Vetzuren, totaal verzadigd", "value": "0 gram" },{ "name": "Vetten", "value": "0 gram" },{ "name": "Eiwitten", "value": "0 gram" },{ "name": "Zout", "value": "0.01 gram" },{ "name": "Suikers", "value": "0 gram" }]},"storage": "Koel en donker bewaren","categoryPath": "Bier/Pilsener/Pilsener blik","categoryIds": ["111", "101", "102"],"category": "Bier","url": "https://webwinkel.poiesz-supermarkten.nl/boodschappen/producten/234166","imageUrl": "https://images.poiesz-supermarkten.nl/artikelen/234166.png","inStock": null,"availabilityLabel": null,"searchTerm": null,"scrapedAt": "2026-11-05T17:13:56.069Z"}
How does the Poiesz 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 25 categories shortened to 2:
{"mode": "catalog","onlyBonus": false,"withDetails": false,"freshDetails": false,"itemsPushed": 9729,"distinctIds": 9729,"productsRead": 9729,"leafTotal": 9729,"dealsWeek": { "from": "2026-11-01", "to": "2026-11-07" },"dealsListed": 954,"dealsListedMissing": 0,"dealsOutsideList": 190,"barcodesMissing": 3,"detailsRead": 0,"detailsFromFile": 0,"detailsFileDate": null,"detailsFailed": 0,"stoppedAtChargeLimit": false,"blocked": false,"eanCatalogScan": false,"durationSec": 143,"requests": 667,"statusCodes": { "200": 667 },"errors": [],"retries": [],"categories": [{ "id": 101, "name": "Aardappelen, groente & fruit", "expected": 365, "collected": 365 },{ "id": 111, "name": "Bier", "expected": 203, "collected": 203 }],"searches": []}
A run is suspect when productsRead is below leafTotal (the sum of Poiesz's own category totals), when dealsListedMissing is above 0 (products of the weekly deals list not found in the categories), when blocked is true, or when errors or detailsFailed are not empty. In a search, each keyword and barcode is listed in searches with what Poiesz returned (expected) and what was stored (collected). Set minItems to make a bad run fail outright.
How does the Poiesz Scraper compare to other Poiesz scrapers?
| Poiesz Scraper | harvestedge Dutch Supermarkets (all 11) | |
|---|---|---|
| Price per 1,000 | $1.50 | $5.00 |
| Full catalog | yes, 9,729 products, checked against Poiesz's totals | no, keyword search |
| Deals with start and end dates | yes | no |
| EAN barcode and lookup | yes | no |
| Unit price, deposit, age check | yes | no |
| Ingredients, allergens, nutrition | yes, with withDetails | no |
| Category tree | yes, 3 levels | no |
| Fields | 47 | price, product, url, size |
| Run summary | yes | no |
Figures read from each actor's public page on 2026-11-05.
Things to know about Poiesz data from the Poiesz Scraper
- It is the web shop's assortment. Poiesz writes that its online assortment can differ from the stores'. Store-only deals are in Poiesz's printed folder. Prices were the same for the stores sampled (1, 13 and 37), so
storeisnull. - Two kinds of deals. 954 products are in Poiesz's weekly deals list and carry its dates. 190 more carry a deal in the web shop without being in that list: they have the deal without dates. Labels without Poiesz's deal flag are not shown on the website (171, such as Bananen "1 kilo 1.25"), so the actor gives no deal for them.
- Deal prices follow the shop. With a strike-through price, the price shown is the deal price and
priceis the strike-through one.25% korting: 4.39labels carry the shop's own deal price, which is used. Against the deals list's own prices, 325 of 327 per-item deals agree; on the other 2 the actor gives the price the web shop charges. - Multi-buy and weight deals have no single deal price.
2 voor 3.00,1+1 gratis,2e halve prijsand500 gram 6.00keeppromoPriceatnull, with the label inpromoText: 659 multi-buy deals in the last run. - Deal-only products. On 58 products the strike-through price equals the price, such as The Bread Office sandwiches "per stuk 3.00": Poiesz shows no regular price for them, so
priceandpromoPriceare equal. - Poiesz's own unit prices.
unitPriceis the one Poiesz shows, and follows drained weight where Poiesz uses it: Kramer zuurkool, 520 gram for 0.79, is 1.58 per kg. Poiesz gives no price per piece, so the actor computes it: 4 Pink Lady apples for 3.49 are 0.87 a piece. Spices reach real unit prices above 1,000 per kg, such as Verstegen Saffraan, 0.05 gram for 1.79. - Deposit comes on top. A Hertog Jan crate is 21.32 plus 3.90 deposit, and 2.96 per litre is computed without the deposit.
- Weighed products. For the 220 products with
soldByWeight, the price is for the weight insizeText: Kanzi apples, 500 gram for 1.74 at 3.49 per kg. - Organic is read from the name. Poiesz gives no organic label, so
organicis set from biologisch, Bio+ or bio in the name or brand, except in household, pet and drugstore groups, where "bio" means biobased cling film. - Details come from a file, dated. With
withDetails, ingredients, allergens, nutrition and storage come from the details file the actor ships with, read in one full run on 2026-11-05 (detailsDate). Products the file does not know are read live in the run.freshDetailsreads them all live. - One barcode per product. 3 products have none. Barcodes starting with 2 are Poiesz's codes for products weighed in store.
- No Nutri-Score, stock or quality marks. Poiesz's data holds none; those fields stay
null.
Is it legal to use the Poiesz Scraper?
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 Poiesz Scraper
Can I get Poiesz 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?
Poiesz's deals change every Sunday, and run Sunday to Saturday. A run each Sunday keeps a deal list current; a daily or weekly run follows price changes.
Does it need proxies?
No. The actor reads Poiesz's web shop API directly, one request at a time and 4 at a time for live details, with no proxy: 10,396 requests in the run that read every detail live, all 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 Poiesz aanbiedingen this week?
Run the actor with onlyBonus: on 2026-11-05 it returned 1,144 products on a deal, 954 of them in the weekly deals list valid from 1 to 7 November 2026, with promoStart and promoEnd.
Can I get the Poiesz aanbiedingen of next week?
No. Poiesz's web shop publishes this week's deals only, so the actor gives this week's. Run it on Sunday for the new week.
Can I get Poiesz's beer deals?
Yes. Search bier with onlyBonus, or filter the full catalog on category Bier, which held 203 products in the last run. Deposit and alcohol percentage come with each beer.
Can I get Poiesz's gluten-free or lactose-free products?
Yes, two ways. Poiesz's Bewuste voeding category has Glutenvrij (52 products) and Lactose- en glutenvrij (29) groups: filter the full catalog on categoryPath. With withDetails, freeFrom lists what a product is free from: 381 products free from gluten, 196 from lactose in the last run.
Does it give ingredients and allergens?
Yes, with withDetails: ingredients on 6,998 products, allergens on 4,202, may-contain allergens on 1,856 and nutrition on 5,857 in the last full run. They come from the actor's details file, dated in detailsDate and refreshed with new releases of the actor; products new since then are read live. Set freshDetails for details read today for every product.
How fresh are the ingredients and allergens?
As fresh as detailsDate: the date of the actor's details file (2026-11-05 now), or the run's date for products read live. Recipes and allergens change rarely, but they do change: when you need today's values, for an allergy app for instance, set freshDetails and the actor reads every product's details from Poiesz in the run.
Is there an official Poiesz API?
Poiesz offers no public API. This actor reads the product API behind the web shop, so it gives the same prices and deals as webwinkel.poiesz-supermarkten.nl.
Can I compare Poiesz prices with Albert Heijn, Jumbo, Dirk, PLUS, DekaMarkt, Hoogvliet and Vomar?
Yes. The scrapers for those chains 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
| Actor | What it extracts | Price per 1,000 | |
|---|---|---|---|
| Poiesz Scraper | Poiesz products: prices, deals with dates, EAN, deposit, ingredients | $1.50 | you are here |
| Albert Heijn Scraper | Albert Heijn products: prices, Bonus deals, EAN, Nutri-Score | $1.00 | |
| Jumbo Scraper | Jumbo products: prices, deals with dates, EAN, organic, shelf life | $1.50 | |
| Dirk Scraper | Dirk products: prices, next week's deals, EAN, Nutri-Score | $2.00 | |
| PLUS Scraper | PLUS products: prices, deals with dates, EAN, Nutri-Score, vegan | $1.50 | |
| DekaMarkt Scraper | DekaMarkt products: prices, next week's deals, EAN, organic | $2.00 | |
| Hoogvliet Scraper | Hoogvliet products: prices, next week's deals, EAN, ingredients, vegan | $2.00 | |
| Vomar Scraper | Vomar products: prices, every EAN barcode, BIO, categories | $1.00 | |
| Ekoplaza Scraper | Ekoplaza products: prices, next week's deals, EAN, allergens, Ekoscope | $2.00 | |
| Aldi NL Scraper | Aldi 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 Poiesz 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.