Ceneo Price Scraper – Structured Product Data · Apify
Ceneo Price Comparison Scraper avatar

Ceneo Price Comparison Scraper

Pricing

from $4.75 / 1,000 products

Go to Apify Store
Ceneo Price Comparison Scraper

Ceneo Price Comparison Scraper

Collect Ceneo.pl product records from public search results. Get one row per product with name, lowest price, offer count, ratings, reviews, image, and URL. Run with query and maxItems; no buyer API key or external proxy account. Pricing: $0.0049 per product plus $0.00005 per run on Free.

Pricing

from $4.75 / 1,000 products

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

16

Total users

2

Monthly active users

5 days ago

Last modified

Features

Limited permissions

Share

Ceneo Price Scraper for Poland

For price monitoring, market research, and competitor analysis, this Actor extracts one structured row per product from public Ceneo.pl search results, including the lowest price, offers, ratings, reviews, brand, image, and URL. Use it from your Apify account; no buyer API key or external proxy account is required.

  • Extract product prices, shop-offer counts, ratings, and review counts from Ceneo.pl.
  • Monitor Polish e-commerce prices with one row per product.
  • Benchmark how many shops offer products and how products are rated.
  • Research product assortments by keyword and result rank.
  • Use the built-in Apify Residential proxy configured for Poland.

What you get

The Actor returns one dataset row for each product it finds in Ceneo search results. The output uses a stable field list that can be combined with other price-comparison datasets. A field is null when the source does not provide the value.

FieldTypeWhat it contains
namestringProduct name; non-empty and not null for returned rows
brandstringBrand when Ceneo lists one; otherwise null
urlstringLink to the Ceneo product page; null if absent
image_urlstringProduct image URL; null if absent
pricenumberLowest price on the page; null if unavailable
currencystringCurrency code, with PLN as the default; not null for returned rows
original_pricenumberHigher reference price (AggregateOffer highPrice); null when not provided
discount_pctnumberPercentage difference between original_price and price; filled only when original_price is greater than price, otherwise null
offer_countintegerNumber of shop offers; null if unavailable
unit_pricenumberAlways null for this Actor because Ceneo search pages do not provide it
lowest_storestringAlways null for this Actor because Ceneo search pages do not provide it
ratingnumberAverage product rating; null if unavailable
review_countintegerNumber of reviews or ratings; null if unavailable
categorystringAlways null for this Actor because Ceneo search pages do not provide it
rankintegerProduct position in the results; null if no position is provided
product_idstringSKU, product ID, or MPN when present; otherwise null
sitestringAlways ceneo; not null for returned rows
querystringSearch keyword used for the run; non-empty and not null for returned rows
page_numberintegerResults page containing the row; not null for returned rows
scraped_atISO 8601 stringISO 8601 timestamp of the run; not null for returned rows

Sample output

The sample below is shortened to one record; all fields in that record are shown.

{
"name": "Apple iPhone 17 256GB Czarny", "brand": null,
"url": "https://www.ceneo.pl/157207959?utm_medium=organic&utm_source=listing_carousel&utm_content=/Smartfony;szukaj-iphone",
"image_url": "https://image.ceneostatic.pl/data/products/157207959/f-apple-iphone-17-256gb-czarny.jpg",
"price": 3845, "currency": "PLN",
"original_price": null, "discount_pct": null,
"offer_count": 28,
"unit_price": null, "lowest_store": null,
"rating": 4.83, "review_count": 86, "category": null,
"rank": 1, "product_id": null,
"site": "ceneo", "query": "iphone",
"page_number": 1,
"scraped_at": "2026-11-07T01:22:50.672124+00:00"
}

Pricing

This Actor uses pay-per-event pricing. The apify-actor-start event is charged once per GB of run memory, with a minimum of one event. The product-item event represents one product with its lowest price and comparison fields. The Actor charges the product-item event only when a product is successfully pushed to the dataset.

Planapify-actor-startproduct-item
Free$0.00005 per event (Free plan)$0.0049 per event (Free plan)

For example, 3 results = $0.01475 on the Free plan: one apify-actor-start event at $0.00005 per event (Free plan) plus three product-item events at $0.0049 per event (Free plan).

For 1,000 results, the calculation is 1 × $0.00005 (Free plan) + 1,000 × $0.0049 (Free plan) = $4.90005 on the Free plan. For 10,000 results, the calculation is 1 × $0.00005 (Free plan) + 10,000 × $0.0049 (Free plan) = $49.00005 on the Free plan.

The Apify Free plan includes $5 of monthly platform usage credit, which covers 338 full runs (1,014 product-item events) at the 3-result example rate.

You pay only for the events listed above. This Actor does not use the Pay per event + usage option, so the platform usage of your runs (compute, proxy traffic and storage) is not billed to you separately.

How to use

  1. Open the Actor in Apify Console.
  2. Enter a keyword in query, such as iphone or pralka.
  3. Set maxItems to the number of products to request (default 100; 0 removes the cap; each returned product is charged).
  4. Keep the default proxyConfiguration, which uses Apify Residential with country PL.
  5. Start the run and review the Products Overview table after it finishes.
  6. Repeat the run through Apify Schedules, using daily as a starting point for price-monitoring work.

Example input:

{
"query": "iphone",
"maxItems": 100,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "PL"
}
}

Export the dataset as JSON or CSV, or read it through the Apify dataset API.

Input parameters

ParameterWhat it doesDefault
queryRequired keyword searched on Ceneo.pl. Whitespace is normalized before the search.Prefilled as iphone
maxItemsNumber of products to request. Minimum is 0; 0 removes the cap. Each returned product is charged.100
proxyConfigurationConfigures the proxy used to access Ceneo.pl. A residential proxy is required for reliable access.Apify Residential, country PL
disableUsageStatsSet to true to turn off the run summary described in Usage statistics.false

Limits and edge cases

ConditionWhat you seeWhat to do
Ceneo returns no further products, or the run reaches the hard capThe run succeeds with fewer products than requested. A page holds 30 products and a run reads at most 20 pages, so one run returns at most 600 products.Use a broader or different keyword if you need more results.
Ceneo has no products for the keywordThe run succeeds with no dataset products and reports that no products were found. The reason is stored in the OUTPUT record in the run's default key-value store.Try a shorter or different keyword.
The first page is blocked, cannot be parsed, or cannot be reachedThe Actor makes up to three attempts at the first page using fresh residential exits. If no product is delivered, the run fails, no products are charged, and the reason is stored in the OUTPUT record in the run's default key-value store.Keep the default residential proxy and try again later.
A later page fails after products were delivered or the time budget is reachedRows already pushed remain in the dataset. The run finishes as Succeeded with a partial-result message, and the reason is stored in the OUTPUT record in the run's default key-value store. Only delivered products are charged.Run again later for the remaining results.
A product page does not provide an optional valueFields such as brand, product_id, original_price, discount_pct, unit_price, lowest_store, and category can be null.Handle null values when importing the dataset.
The residential proxy is removed or not configuredAccess to this protected target may not be reliable.Leave the default Apify Residential configuration enabled.

FAQ

How much does it cost to scrape Ceneo.pl?

See Pricing for the Free-plan event prices and the worked calculation.

What happens when Ceneo has no matching products?

The Actor reports an empty result with a no-products message and suggests trying a shorter or different keyword. No product rows are returned.

Why might a Ceneo run not work?

Ceneo is a protected target that requires a residential proxy for reliable access. The default configuration uses Apify Residential in Poland. If the first page is blocked, unparsed, or unreachable, the Actor retries it before failing a run that delivered no products.

Does this Actor return every shop's offer?

No. It returns one row per product with the lowest price and the number of offers. It does not return a separate row for every shop's individual offer.

This Actor uses public Ceneo.pl search results. Whether a particular use is legal or allowed depends on the source's terms and the applicable law for your use case; assess those requirements before using the data.

Usage statistics

This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.

A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.

To opt out, set disableUsageStats to true in the input. Nothing is sent then.

Full list of collected fields