DNS-Shop Scraper
Pricing
from $3.00 / 1,000 results
DNS-Shop Scraper
Scrape dns-shop.ru, a major Russian electronics retailer. Search products, browse categories, or fetch a single product's price, rating, images, and specs.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
Scrape dns-shop.ru — one of Russia's largest electronics and appliance retailers, covering smartphones, laptops, PC components, TVs, home appliances, and more. Search by keyword, browse any category, or fetch full details for a single product: current price, rating, review count, stock status, images, and key specs.
What this actor does
- Three modes:
search,byCategory,productDetails - Full pricing: current price, monthly installment price, currency
- Ratings & reviews: aggregate rating (0–5), review count, and (in
productDetails) a full star-count breakdown plus per-aspect sub-ratings - Price history: weekly price points and min/max over the last several months (mode=
productDetails) - Stock status: in stock / out of stock / available soon
- Key specs: processor, display, memory, camera, etc. on every record; the complete grouped technical spec sheet (every characteristic DNS-shop publishes) on
productDetails - Sibling variants: for products sold in multiple colors/memory sizes/models, the full list of sibling SKUs with their own URL, stock status, and distinguishing attributes (mode=
productDetails) - Filters: price range, minimum rating, in-stock-only, sort order
- Empty fields are omitted
Output per product
productId— dns-shop.ru's internal SKUtitleurl— canonical product page URLprice,currency(RUB)installmentPrice— monthly installment price shown on listing pages, when availablerating— 0–5 aggregate ratingreviewCountratingBreakdown— star-count histogram, e.g.{"5": 36, "4": 3, "3": 0, "2": 0, "1": 1}(mode=productDetailsonly, omitted for products with no reviews yet)subRatings— per-aspect ratings reviewers left, e.g.{"Дисплей": 4.7, "Производительность": 4.7}(mode=productDetailsonly, when the site shows them)priceHistory[]— weekly{period, price}points covering the last several months;priceHistoryMin,priceHistoryMax,priceHistoryRangeText(mode=productDetailsonly)availability—In stock/Out of stock/Available soonimageUrl,images[]— full product gallery (mode=productDetailsonly)brand(mode=productDetailsonly)description(mode=productDetailsonly)categoryPath[]— breadcrumb trail (mode=productDetailsonly)specs— key spec highlights (processor, display, memory, camera, etc.) on every recordfullSpecs— the complete technical spec sheet grouped by section, e.g.{"Процессор": {"Модель процессора": "Intel Core i3-1305U", ...}, "Экран": {...}, ...}(mode=productDetailsonly)variants[]— every sibling SKU of a multi-configuration product (other colors, memory sizes, models, etc.), each with its ownproductId,url,availability, and distinguishingattributes(e.g.{"Цвет": "Голубой", "Память (ГБ)": "256 ГБ"}); the current record's own entry carriesisCurrent: true(mode=productDetailsonly, omitted for single-SKU products with no variant picker)cityName— resolved delivery city, e.g.Москва;deliveryText— the site's own delivery estimate, e.g. "Доставим на дом за 2 часа" (mode=productDetailsonly)storeAvailabilityText— the site's own in-store stock summary, e.g. "В наличии в 277 магазинах";storeCount— number of physical stores currently carrying it (mode=productDetailsonly)reviews[]— individually-authored reviews from the product's first reviews page (a real, if partial, sample — not the exhaustive set for high-review-count products), each withauthor,date,rating(1–5),usageDuration,pros,cons,comment,photoCount(only the fields that reviewer actually filled in) (mode=productDetailsonly, omitted when the page has no reviews)recordType: "product",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search / byCategory / productDetails |
searchQuery | string | iphone | Free-text query (mode=search) |
category | string | – | Curated top-level category (mode=byCategory) |
categoryUrl | string | – | Full category URL override, for sub-categories not in the curated list (mode=byCategory) |
productUrl | string | – | Full product URL (mode=productDetails) |
sortBy | string | popularity | popularity / priceAsc / priceDesc / rating / new — search/byCategory only |
priceMin | int | – | Drop products cheaper than this (RUB) — search/byCategory only |
priceMax | int | – | Drop products more expensive than this (RUB) — search/byCategory only |
minRating | number | – | Drop products rated below this (0–5) — search/byCategory only |
inStockOnly | bool | false | Only emit in-stock products — search/byCategory only |
maxItems | int | 20 | Hard cap (1–500) |
proxyConfiguration | object | Off (no proxy) | Optional — see "Do I need a proxy?" below |
sortBy,priceMin,priceMax,minRating, andinStockOnlyonly apply tosearch/byCategorylisting runs.mode=productDetailsalways looks up the exact product atproductUrland ignores all five — a single explicit lookup is never "filtered out" or reordered.
minRating/inStockOnlynever drop a listing whose corresponding field the source card doesn't expose — an unknown value is treated as "not disqualified" rather than silently discarded, so those filters only ever remove listings that are known to be out of range.priceMin/priceMaxare the one exception: dns-shop.ru's "similar/analog" substitute cards (discontinued items shown in place of an out-of-stock match) carry no price at all, so when a price filter is set those price-less listings are excluded rather than passed through — otherwise a price filter would be silently unable to rule them out.
Example: search for laptops under 80,000₽, sorted by price
{"mode": "search","searchQuery": "ноутбук","priceMax": 80000,"sortBy": "priceAsc","maxItems": 30}
Example: browse the Smartphones category, in stock only, min 4.5 rating
{"mode": "byCategory","category": "17a8a01d16404e77|smartfony","inStockOnly": true,"minRating": 4.5,"maxItems": 50}
Example: single product lookup
{"mode": "productDetails","productUrl": "https://www.dns-shop.ru/product/00eb38374882ed20/61-smartfon-apple-iphone-15-128-gb-cernyj/"}
Use cases
- Price monitoring — track competitor pricing on electronics across categories
- Market research — analyze rating/review distribution for a product category
- Assortment tracking — monitor stock availability for specific SKUs
- Deal discovery — filter by price range and rating to surface the best-value products
- Catalog enrichment — pull the full spec sheet and images for a known product URL
- Price-drop / promo detection — compare
priceHistoryMin/priceHistoryMaxagainst the currentpriceto spot real discounts vs. list-price theater - Review-quality signals — use
ratingBreakdownandsubRatingsto gauge review distribution and per-aspect sentiment before trusting the headlinerating
Other Russian marketplace actors by CrawlerBros
FAQ
Is this affiliated with DNS? No — this is an independent third-party actor that reads dns-shop.ru's publicly visible product pages. It is not affiliated with or endorsed by DNS.
Do I need a proxy? No. The actor passes dns-shop.ru's Qrator anti-bot challenge automatically via a warm-up browser session — proxyConfiguration is optional and off by default. Only turn it on if your specific runs start getting consistently blocked (which would indicate your egress IP has been independently reputation-flagged).
What currency are prices in? Russian rubles (RUB), as shown on the site.
Why is specs a short list, not the full technical sheet? specs reads the "key highlights" spec block shown directly on the product/listing page — populated for every record in every mode. The full technical sheet (fullSpecs) lives on a separate sub-page per product, so it's only fetched for mode=productDetails (a single item); fetching it for every row of a search/category listing would multiply the number of page loads needed per run.
Why do some products lack installmentPrice, reviewCount, ratingBreakdown, or priceHistory? Not every product offers installment financing, not every product has reviews yet (so there's nothing to break down), and brand-new listings may not have accumulated any price history yet — these fields are only included when the site actually shows them.
What's in variants? DNS-shop sells each color/memory/model combination of a product as its own separate SKU with its own URL and stock status. variants (mode=productDetails only) lists all of them — so you can see, from one lookup, that (for example) the black 256GB configuration is out of stock while the blue 128GB one is available, without running a separate lookup per configuration. Omitted entirely for products that don't offer any configuration choice.
How fresh is the pricing data? Live — every run fetches current pages; prices reflect what's shown to a live visitor at scrape time.
Can I get products from a category not in the curated dropdown? Yes — use categoryUrl with the full dns-shop.ru category (or filtered category) URL instead of the category dropdown.