Empik Scraper — Polish Books, Prices & Sellers avatar

Empik Scraper — Polish Books, Prices & Sellers

Pricing

from $0.49 / 1,000 products

Go to Apify Store
Empik Scraper — Polish Books, Prices & Sellers

Empik Scraper — Polish Books, Prices & Sellers

Scrape empik.com products by keyword, category, bestseller list or URL. Price, discount, 30-day lowest price, seller, stock, delivery, rating, categories, plus descriptions, images, publisher and release date. Price-change tracking.

Pricing

from $0.49 / 1,000 products

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Empik Scraper

Empik Scraper

Extract products from empik.com, Poland's largest retailer of books, ebooks, games, film, music and toys: prices, 30-day lowest prices, discounts, sellers, stock, ratings, categories and full product details. Search by keyword, crawl categories and bestseller lists, or scrape product pages. No API key required.


Why this scraper?

🇵🇱 Built for empik.com

A dedicated Empik scraper covering books, ebooks, audiobooks, games, film, music, toys, stationery and beauty, with prices in złoty exactly as the site shows them.

💰 Complete price picture

Current price, reference price and its type (publisher's suggested or regular), discount percentage, the Omnibus lowest price of the last 30 days, multi-buy offers and the "cheaper in the app" flag.

🏪 Seller and marketplace data

Every row says whether Empik or a marketplace seller offers the product, with the seller's name and ID. Filter to Empik-only or marketplace-only offers.

📦 Stock and delivery

Availability status, shipping time, free delivery, pre-orders, restocks and whether the product is stocked in Empik stores.

📚 Full product details

Descriptions in HTML, text and Markdown, all gallery images and videos, series, publisher, producer, director, performer, release date, rating count, ebook format and Empik Go availability.

🔁 Price monitoring

Every row carries the previous price and a change status. Switch on Only new products and price changes for a daily feed of what moved.


Input parameters

ParameterTypeDefaultDescription
searchQueriesarray[]Keywords to search for, one per line, for example harry potter. Barcode (ISBN/EAN) searches are blocked by empik.com and skipped.
startUrlsarray[]Search, category, bestseller or product page URLs from www.empik.com.
maxItemsinteger100Maximum number of products to return. 0 means no limit.
fetchDetailsbooleanfalseOpen every product page for the full detail fields below. Billed at the detailed rate.
sellerTypestring"all"all, empik (Empik's own offers) or marketplace (third-party sellers only).
minPriceinteger(empty)Only products priced at or above this amount in PLN.
maxPriceinteger(empty)Only products priced at or below this amount in PLN.
onlyDiscountedbooleanfalseOnly products currently below their reference price.
inStockOnlybooleanfalseSkip sold-out products. Pre-orders are kept.
skipSponsoredbooleantrueLeave out paid advertisement tiles mixed into the results.
splitLargeCategoriesbooleantrueCrawl subcategories when a category holds more than 4,800 products.
onlyChangesbooleanfalseReturn only products that are new or changed price since your previous run.

When no search query or URL is given, the actor searches harry potter as an example.


Output schema

Every field below is present on every record. Fields empik.com does not publish for a product are returned as null rather than omitted.

Always present

FieldTypeDescription
productIdstringEmpik product ID, for example p1638362029.
urlstringProduct page URL, without tracking parameters.
namestringProduct title.
authorsarrayAuthors or creators, each with name and url (the author's product listing on empik.com).
authorstringAll authors in one comma-separated string. Null when none is listed.
brandstringBrand, for toys and other branded goods. Null for most books.
formatstringFormat or edition, for example okładka miękka, ebook, Blu-ray Disc.
productGroupstringMain product group as shown on the tile, for example Książki, Ebook, Zabawki.
categoryPathstringFull category path, for example Książki/Dla młodzieży/Literatura dla młodzieży.
categoriesarrayThe category path as a list, top level first.
mainCategorystringTop-level category.
imageUrlstringMain product image.
pricenumberCurrent price in PLN.
currencystringAlways PLN.
originalPricenumberReference price before the discount. Null when the product is not discounted.
originalPriceTypestringWhat the reference price is: PUBLISHER_SUGGESTED, REGULAR or OTHER. Null without a reference price.
originalPriceLabelstringThe reference-price label exactly as shown on the site.
discountPercentagenumberDiscount against the reference price, in percent. 0 when not discounted.
isOnSalebooleanTrue when the price is below the reference price.
lowestPrice30DaysnumberLowest price in the 30 days before the current promotion (EU Omnibus rule). Only published during promotions.
hasLowestPriceGuaranteebooleanTrue when Empik shows its lowest-price guarantee on the product.
ratingnumberAverage customer rating out of 5. Null when the product has no ratings.
availabilityCodestringAvailability status: IN_24_H, IN_48_H, IN_72_H, IN_6_8_DAYS, PRE_SALE, RE_SALE, DIGITAL, UNAVAILABLE.
availabilityTextstringAvailability as shown on the site, for example Przewidywana wysyłka w 1 dzień rob.
inStockbooleanTrue when the product can be ordered now or pre-ordered.
availableInStoresbooleanTrue when the product is stocked in at least one Empik store.
deliveryInfostringDelivery note, for example Dostawa za darmo. Null for digital products.
freeDeliverybooleanTrue when delivery is free. Null when no delivery note is shown.
eligibleForEmpikPremiumbooleanTrue when the offer qualifies for Empik Premium benefits.
sellerIdstringSeller ID. 0 is Empik itself; any other value is a marketplace seller.
sellerNamestringSeller name, for example Empik or the marketplace shop's name.
isMarketplacebooleanTrue when the offer comes from a third-party marketplace seller.
offerIdstringOffer ID. 0 for Empik's own offer.
badgesarrayPromotional labels on the product, for example Megacena, Nowość, 2 za 60 zł.
isBestsellerbooleanCarries the bestseller (TOP) label.
isNewbooleanCarries the new-release label.
isPreorderbooleanCarries the pre-order label.
isCheaperInAppbooleanEmpik shows a lower price in its mobile app.
isEmpikExclusivebooleanSold only at Empik.
isMegaPricebooleanCarries the Megacena promotion label.
multiBuyPromotionstringMulti-buy offer, for example 2 za 60 zł. Null when none.
bestsellerRankintegerRank on a bestseller list. Null outside bestseller lists.
alsoInOutletbooleanA discounted outlet copy of the product is also offered.
isSponsoredbooleanThe product was a paid advertisement in the results.
positionintegerPosition in the search or category results. Null for sponsored rows.
sourceModestringHow the row was found: search, category, bestsellers, listing or product.
searchQuerystringThe search keyword that returned the row. Null outside search mode.
sourceUrlstringThe page the row was collected from.
detailFetchedbooleanTrue when the product page was opened for this row.
contentHashstringStable hash of product ID and name, for deduplication.
sourcestringAlways empik.com.
scrapedAtstringTime the row was collected (ISO 8601).
firstSeenAtstringFirst time this product appeared in your runs.
previousPricenumberPrice in your previous run. Null on first sight.
priceChangenumberPrice difference since your previous run, in PLN.
changeStatusstringNEW, PRICE_DROP, PRICE_INCREASE or UNCHANGED compared with your previous run.

With fetchDetails: true (and for product page URLs)

These fields are null on rows without details.

FieldTypeDescription
categoryIdstringID of the most specific category.
categoryTreearrayEvery category level with id, name and url.
coverImagesobjectCover image in three sizes: small, medium, large.
imagesarrayAll gallery images in the largest size.
imageCountintegerNumber of gallery images.
videosarrayProduct video URLs.
ratingCountintegerNumber of customer ratings.
productTypestringPHYSICAL or DIGITAL product.
eproductTypestringDigital product kind, for example e-produkt. Null for physical goods.
digitalFormatstringEbook or audiobook file format, for example EPUB.
seriesstringSeries or collection, for example Harry Potter or LEGO HARRY POTTER.
licensestringLicensed brand, for example Minecraft or FC Barcelona.
publishersarrayPublishers.
producersarrayProducers or manufacturers.
directorsarrayDirectors, for films.
performersarrayPerformers, for music.
releaseDatestringRelease or premiere date (YYYY-MM-DD, Polish date).
preSaleDatestringStart of sale as published by Empik (ISO 8601).
reSaleDatestringExpected restock date. Null unless the product awaits a restock.
parentalAdvisorybooleanCarries a parental advisory warning.
unitPricingMeasurestringUnit-price base quantity, where Empik publishes a unit price.
unitPricingUnitstringUnit-price unit, for example szt.
pageBadgesarrayLabels on the product page, for example Top, Nowość, Tylko w empiku.
inEmpikGoSubscriptionbooleanIncluded in the Empik Go ebook and audiobook subscription.
hasFreeSamplebooleanA free ebook or audiobook sample is available.
faqarrayQuestions and answers on the product page, each with question and answer.
variantNamestringThe edition or variant this page represents, for example ebook, EPUB or DVD.
descriptionHtmlstringFull product description as HTML.
descriptionTextstringFull product description as plain text.
descriptionMarkdownstringFull product description as Markdown.

Example record

{
"productId": "p1755121994",
"url": "https://www.empik.com/ostatnie-zyczenie-wiedzmin-sapkowski-andrzej,p1755121994,ksiazka-p",
"name": "Ostatnie życzenie. Wiedźmin",
"authors": [
{
"name": "Sapkowski Andrzej",
"url": "https://www.empik.com/szukaj/produkt?author=sapkowski+andrzej"
}
],
"author": "Sapkowski Andrzej",
"brand": null,
"format": "okładka miękka",
"productGroup": "Książki",
"categoryPath": "Książki/Komiks/Dla dorosłych",
"categories": [
"Książki",
"Komiks",
"Dla dorosłych"
],
"mainCategory": "Książki",
"imageUrl": "https://ecsmedia.pl/cir/b/ostatnie-zyczenie-wiedzmin-2026/07/03/1124343139774778215/5cdb3a73fe3f4ed0bd69a3379c49a2ec.webp",
"price": 25.99,
"currency": "PLN",
"originalPrice": 29.99,
"originalPriceType": "PUBLISHER_SUGGESTED",
"originalPriceLabel": "cena sugerowana przez wydawcę",
"discountPercentage": 13,
"isOnSale": true,
"lowestPrice30Days": null,
"hasLowestPriceGuarantee": false,
"rating": null,
"availabilityCode": "IN_24_H",
"availabilityText": "Przewidywana wysyłka w 1 dzień rob.",
"inStock": true,
"availableInStores": false,
"deliveryInfo": "Dostawa za darmo",
"freeDelivery": true,
"eligibleForEmpikPremium": true,
"sellerId": "0",
"sellerName": "Empik",
"isMarketplace": false,
"offerId": "0",
"badges": [
"Taniej w apce"
],
"isBestseller": false,
"isNew": false,
"isPreorder": false,
"isCheaperInApp": true,
"isEmpikExclusive": false,
"isMegaPrice": false,
"multiBuyPromotion": null,
"bestsellerRank": null,
"alsoInOutlet": false,
"isSponsored": false,
"position": 2,
"sourceMode": "search",
"searchQuery": "sapkowski",
"sourceUrl": "https://www.empik.com/szukaj/produkt?q=sapkowski",
"categoryId": "317401",
"categoryTree": [
{
"id": "31",
"name": "Książki",
"url": "https://www.empik.com/ksiazki,31,s"
},
{
"id": "3174",
"name": "Komiks",
"url": "https://www.empik.com/ksiazki/komiks,3174,s"
},
{
"id": "317401",
"name": "Dla dorosłych",
"url": "https://www.empik.com/ksiazki/komiks/dla-doroslych,317401,s"
}
],
"coverImages": {
"small": "https://ecsmedia.pl/cir/p/ostatnie-zyczenie-wiedzmin-2026/07/03/1124343139774778215/5cdb3a73fe3f4ed0bd69a3379c49a2ec.webp",
"medium": "https://ecsmedia.pl/cir/w/ostatnie-zyczenie-wiedzmin-2026/07/03/1124343139774778215/5cdb3a73fe3f4ed0bd69a3379c49a2ec.webp",
"large": "https://ecsmedia.pl/cir/b/ostatnie-zyczenie-wiedzmin-2026/07/03/1124343139774778215/5cdb3a73fe3f4ed0bd69a3379c49a2ec.webp"
},
"images": [],
"imageCount": 0,
"videos": [],
"ratingCount": 0,
"productType": "PHYSICAL",
"eproductType": null,
"digitalFormat": null,
"series": "Wiedźmin",
"license": null,
"publishers": [
"Story House Egmont"
],
"producers": [],
"directors": [],
"performers": [],
"releaseDate": "2026-09-23",
"preSaleDate": "2026-09-22T22:00:00Z",
"reSaleDate": null,
"parentalAdvisory": false,
"unitPricingMeasure": null,
"unitPricingUnit": null,
"pageBadges": [
"Nowość"
],
"inEmpikGoSubscription": false,
"hasFreeSample": false,
"faq": [],
"variantName": null,
"descriptionHtml": "Gdy Jaskier wyłowił z jeziora stary dzban zamknięty tajemniczą pieczęcią, nie mógł go nie otworzyć. Bard liczył, że z naczynia wyłoni się dżinn, który ochoczo spełni jego życzenia. Miał rację co do ducha, ale już nie co …",
"descriptionText": "Gdy Jaskier wyłowił z jeziora stary dzban zamknięty tajemniczą pieczęcią, nie mógł go nie otworzyć. Bard liczył, że z naczynia wyłoni się dżinn, który ochoczo spełni jego życzenia. Miał rację co do ducha, ale już nie co …",
"descriptionMarkdown": "Gdy Jaskier wyłowił z jeziora stary dzban zamknięty tajemniczą pieczęcią, nie mógł go nie otworzyć. Bard liczył, że z naczynia wyłoni się dżinn, który ochoczo spełni jego życzenia. Miał rację co do ducha, ale już nie co …",
"detailFetched": true,
"contentHash": "2aaaa15f9799c1d9",
"source": "empik.com",
"scrapedAt": "2026-09-20T05:52:23.317Z",
"firstSeenAt": "2026-09-20T05:52:23.317Z",
"previousPrice": null,
"priceChange": null,
"changeStatus": "NEW"
}

Examples

Search for books by an author, with full details:

{
"searchQueries": ["sapkowski"],
"maxItems": 200,
"fetchDetails": true
}

Discounted LEGO sets from marketplace sellers under 200 zł:

{
"searchQueries": ["lego"],
"sellerType": "marketplace",
"onlyDiscounted": true,
"maxPrice": 200,
"maxItems": 500
}

A whole category, a bestseller list and a single product:

{
"startUrls": [
{ "url": "https://www.empik.com/ksiazki/dla-mlodziezy,3170,s" },
{ "url": "https://www.empik.com/bestsellery/ksiazki" },
{ "url": "https://www.empik.com/lego-76421-harry-potter-skrzat-domowy-zgredek-lego,p1379939939,zabawki-p" }
],
"maxItems": 0
}

Daily price-change feed for a category (schedule it once a day):

{
"startUrls": [{ "url": "https://www.empik.com/bestsellery/ebooki" }],
"onlyChanges": true,
"maxItems": 0
}

💰 Pricing

$0.49 per 1,000 results — you only pay for products delivered to your dataset. Failed retries are never charged.

$0.79 per 1,000 results with product details — for rows where the product page was opened (fetchDetails: true or product page URLs).

ResultsListing rowsWith details
100~$0.05~$0.08
1,000~$0.49~$0.79
10,000~$4.90~$7.90
100,000~$49.00~$79.00

Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeListing rowsWith details
100 resultsunder 1 minuteabout 2 minutes
1,000 resultsabout 2–3 minutesabout 13 minutes
10,000 resultsabout 25 minutessplit into several runs

Known limitations

  • empik.com shows at most 4,800 products for any single search or category. Large categories are split into subcategories automatically; for very broad searches, use more specific keywords.
  • ISBN and EAN codes are not included: empik.com does not make them available to automated visitors, and it blocks barcode searches.
  • The 30-day lowest price, reference price and multi-buy offers only appear while a promotion runs.
  • Product details are collected at a measured pace. One run delivers roughly 4,500 detailed rows per hour; split larger jobs across runs.

Technical details

  • Source: empik.com — Polish online retailer and marketplace
  • Coverage: all product groups, searchable by keyword, category, bestseller list and product URL
  • Memory: 512 MB
  • Change tracking: key-value store empik-scraper-history, 180-day retention
  • Retry: automatic retry on network errors and blocks, on a fresh connection each time
  • Compliance: follows empik.com's robots.txt; sorting and filter parameters in URLs are ignored

Rate this actor

If this scraper does its job, a short review on the Reviews tab helps other users find it. Something not working? Open an issue on the Issues tab instead — issues get fixed.


Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl