Podrygka.ru scraper avatar

Podrygka.ru scraper

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Podrygka.ru scraper

Podrygka.ru scraper

Read the Podrygka (Подружка) beauty catalogue: article, brand, price, stock, rating and review count for every product, with optional discounts — plus alerts when a price moves, an item returns to stock or drops out of the catalogue.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Sasha Ebashu

Sasha Ebashu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Podrygka Price & Stock Monitor — Подружка Catalogue

Podrygka (Подружка) is one of Russia's largest beauty chains. This Actor reads its catalogue — article number, name, brand, price, stock, rating and review count for every product — and tells you when a price moves, an item comes back into stock, or an article drops out of the range entirely.

No key, no login, and no proxy needed.

Where the data actually is

The catalogue is a Next.js app-router page, and its prices are not in the markup: the rendered HTML carries no price attribute at all. The product data arrives inside the page's streamed data chunks as schema.org objects, which is where this Actor reads it. That is why one category page yields twenty complete products — article, brand, price, availability, rating, review count, images and description — without opening a single product page.

The difference matters for cost. A product page on this shop weighs two megabytes; the listing that describes twenty of them weighs one.

Measured: 1,000 products in 45 seconds across 16 categories and 160 brands.

What you get per product

IdentityArticle number (sku), name, brand, link, category
PriceCurrent price and currency; optionally the old price and the discount
StockIn stock, out of stock, or genuinely unknown — the three are kept apart
ReputationRating and the number of reviews behind it
MediaFirst image and how many the product has

Monitor mode

Run it on a schedule and get only what moved.

changeTypeMeans
price_drop / price_riseThe price moved, with the old figure, the difference and the percentage
back_in_stockIt was out of stock last run and is available now
out_of_stockThe reverse
new_reviewsCustomers reviewed it since the last run, with how many
no_longer_listedThe article was in the catalogue last run and is not in this one
new, unchangedFirst sighting / nothing moved

no_longer_listed is only raised after a run that could actually have found the product. Three conditions must hold together: whole-catalogue mode is on, the run covered all 249 categories the shop lists, and nothing was cut short — no failed page, no time limit, no product or cost cap. When any of them fails the Actor says so in the log and raises nothing, because a delisting claim from a partial run is a guess. An earlier version checked only that the flag was switched on, and promptly declared fifteen perfectly ordinary products delisted after reading 3 categories out of 249.

Notes & limits

Properties of the source, measured rather than assumed:

  • Pagination is ?PAGEN_1=N. ?page=, ?p= and /page-2/ are all accepted by the server and all silently return page one — a scraper trusting them would report the same twenty products forever. Past the last page the shop repeats the previous one rather than returning nothing, so the walk ends when a page brings no new article numbers.
  • Every product is published twice in the page data. Counting without de-duplicating makes a category look twice as full as it is.
  • A failed page is not the end of a category. It stops the walk, marks the category incomplete, and blocks the delisting alert for that run.
  • The old price is not in the listing. It exists only on the product page, so discounts are off by default; switching them on costs one two-megabyte page per product.
  • A product page carries several price pairs, not one. One measured page held nine, belonging to two different products because the recommendations block brings its own. Pairing this product's price with a neighbour's old price produced a 48% discount that did not exist, so only the pair whose current price matches the catalogue price is used — and when no pair matches, nothing is reported rather than guessed.
  • Availability is read from the shop's own schema.org term. Anything that is neither InStock nor OutOfStock is reported as unknown, not as "out of stock".
  • No proxy needed, and it costs time. The same ten-page walk took 27 seconds direct and 143 through a proxy, and the shop serves Apify's machines without complaint. The proxy stays available for long catalogue runs; if the shop starts asking the run to slow down, the log says so.
  • The Actor honours your Maximum cost per run and stops when the cap is reached.

Input

FieldWhat it does
CategoriesCategory pages to read. Leave empty to take them from the shop's own sitemap.
Scan the whole catalogue / Maximum categoriesRead every category the shop lists — required for the delisting alert.
Pages per categoryTwenty products per page, about a megabyte each. The main cost dial.
Brands / Minimum price / Maximum price / In stock onlyFilters, applied before anything is written.
Include the old price and discountOne product page per product. For a shortlist, not a catalogue.
Monitor mode / Output only changesThe alert behaviour above.