Dienmayxanh Scraper - Products, Prices, Specs & Reviews
Pricing
from $1.20 / 1,000 product results
Dienmayxanh Scraper - Products, Prices, Specs & Reviews
Scrape dienmayxanh.com home appliances and electronics with full specifications, current & original price, discount, brand, category, variants, images, description, customer rating and reviews. Search by keyword with brand, price, rating and sort filters, or paste product / category / search URLs.
Pricing
from $1.20 / 1,000 product results
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Điện Máy Xanh Scraper: Prices, Deals and Customer Reviews
Điện Máy Xanh Scraper turns dienmayxanh.com into a clean product data feed for one of Vietnam's largest home appliance and consumer electronics retailers. Get the current price, the genuine original ("was") price and discount for every product that is actually on special, Flash Sale and seasonal promo deals, full specifications and variants, the image gallery, the full category path, the aggregate customer rating, and the star rated reviews shown on each product page. Search by keyword with brand, price and rating filters, browse the permanent Flash Sale hub with a toggle, or paste product, category, search or promo page links, then export to JSON, CSV or Excel, or pull results straight into your app through the API.
Why This Scraper?
- Two ways to collect. Search by keyword with brand, price range, minimum rating and six sort orders, or paste product, category, search or promo page links directly, no URL building required.
- Genuine discount tracking, never fabricated. The original ("was") price, discount amount and discount percentage are only ever populated for a product that is actually on special; an ordinary product reports
isOnSpecial: falsewith those fields empty. The gift offer and installment label are read directly from the page whenever the site shows them, independent of whether the product is on special. - Flash Sale and seasonal promo pages. Browse the site's permanent Flash Sale hub with one toggle, or paste any seasonal category promo page link to pull its deals.
- Full product detail on demand. Specifications, variants (where a model has them, with per-variant price and stock status), image gallery, full category breadcrumb, description and aggregate rating, switched on per run.
- Star rated customer reviews. Author, date, rating and review text collected from the product page itself, with unrated question-and-answer entries excluded.
- Filters and sorting apply everywhere. Brand, price range, minimum rating and the six sort orders act on whatever set of products was collected, whether from a keyword search or a pasted URL.
- Resume and recurring tracking. Continue one interrupted run without paying to recollect what you already have, or turn on Incremental mode to track the same search across scheduled runs and get only what changed.
Use Cases
- Price trackers and deal alert tools: monitor Flash Sale and seasonal promo discounts, was price and savings, to alert shoppers to genuine drops.
- E-commerce competitor research: compare appliance and electronics pricing, brand coverage and specifications across categories.
- Review and reputation analysis: collect star rated customer reviews and aggregate ratings to gauge sentiment on specific models.
- Catalogue and inventory audits: pull full specifications, variants and stock status for a brand or category to keep a downstream catalogue in sync.
- Recurring monitoring: schedule the actor with Incremental mode to get only newly listed, price-changed or restocked products instead of re-downloading the whole catalogue every time.
Data You Get
Sample shape: values are illustrative placeholders, not from a live record.
| Field | Example |
|---|---|
code | "241187" |
productCode | "4092214003355" |
sku | "241187" |
name | "Tủ lạnh Halvex Inverter 250 lít HV25R-INV" |
url | "https://www.dienmayxanh.com/tu-lanh/halvex-inverter-250-lit-hv25r-inv" |
brand | "Halvex" |
category / categoryPath | "Tủ lạnh" / ["Tủ lạnh", "Tủ lạnh Halvex"] |
color | "Trắng" |
price | 6490000 |
originalPrice | 7990000 |
discount / discountPercent | "-18.8%" / 18.8 |
savings | 1500000 |
isOnSpecial | true |
currency | "VND" |
rating / reviewCount | 4.7 / 356 |
ratingBreakdown | { "bestRating": 5, "worstRating": 1 } |
specifications | { "Kiểu tủ": "Ngăn đá dưới", "Dung tích": "250 lít", "Công nghệ Inverter": "Có" } |
variants | [{ "name": "250L - Trắng", "price": 6490000, "availability": "InStock" }] |
images | ["https://cdn.tgdd.vn/Products/Images/2054/241187/halvex-hv25r-inv-1.jpg"] |
description | "Tủ lạnh Halvex Inverter 250 lít - ngăn đá dưới, làm lạnh đa chiều, tiết kiệm điện..." |
searchMode | "search" (also "url") |
source | "dienmayxanh.com" |
Each record also carries productGroupId and productId (two more of the site's own identifiers), promoGift and installmentOffer (only when a genuine gift or 0%-installment label is shown on the product), imageUrl (a convenience copy of the first gallery image), availability and label (a card badge, when shown), and, with Fetch customer reviews on, a reviews array of {author, date, rating, title, body}. With Incremental mode on, each record also gains changeType, changedFields, firstSeenAt and lastSeenAt (see "Resume and recurring updates" below).
How to Use
- Pick a mode:
search(keyword and filters) orurl(paste links). - In search mode, enter one or more keywords, or turn on Flash sale only to browse the permanent deals hub instead.
- Turn on Fetch product details for full specs, variants, gallery and rating, and Fetch customer reviews for the star rated reviews on each product page.
- Set Max products to control run size and cost, then click Start.
Search with brand, price and sort filters:
{"mode": "search","queries": ["tủ lạnh"],"brand": "Samsung","minPrice": 5000000,"maxPrice": 15000000,"sortBy": "priceAsc","maxItems": 10}
Browse the Flash Sale deals hub:
{"mode": "search","specialsOnly": true,"fetchDetails": false,"maxItems": 20}
Paste a category link, with detail and reviews on:
{"mode": "url","urls": ["https://www.dienmayxanh.com/tu-lanh"],"fetchDetails": true,"fetchReviews": true,"maxReviewsPerProduct": 10,"maxItems": 15}
Track a search over repeated scheduled runs:
{"mode": "search","queries": ["tủ lạnh"],"fetchDetails": true,"incrementalMode": true,"emitExpired": true,"maxItems": 0}
Run it from your code
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("abotapi/dienmayxanh-scraper").call(run_input={"mode": "search", "queries": ["tủ lạnh"], "maxItems": 10})for product in client.dataset(run["defaultDatasetId"]).iterate_items():print(product["name"], product["price"])
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('abotapi/dienmayxanh-scraper').call({ mode: 'search', queries: ['tủ lạnh'], maxItems: 10 });const { items } = await client.dataset(run.defaultDatasetId).listItems();
Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.
Flash Sale and seasonal promo pages
Điện Máy Xanh's promotional surface has two kinds of pages. Flash Sale is a permanent, site-wide landing page of curated, time-limited deals: turn on Flash sale only in search mode, or paste its own link in URL mode. It is a single curated page with no further pagination of its own, so Max products (and Max listing pages) simply cap how many of its listed deals are returned. Seasonal category promotions are campaign pages that rotate with the current promotion cycle, so they are not exposed as a fixed picklist; paste the page's own link in URL mode to scrape it, and the same was-price and discount fields populate.
Resume and recurring updates
- Resume (
resumeFromRunId) continues one specific interrupted run: paste its run id or dataset id and every product already collected there is skipped from the output and never billed again. Resume changes what gets pushed and charged at the end, not how many pages are fetched, and it does not extend the walk to compensate: a capped run still stops at its normal page and product limits, so if the same top-ranked products surface again, a resumed run on the same search can come back with very few, or zero, genuinely new products even though later pages were never reached. To keep collecting deeper, raise Max products or change the sort order rather than relying on Resume alone. - Incremental mode (
incrementalMode) tracks the same search or URLs across many scheduled runs on its own, no id to paste. Each run compares against a baseline it remembers itself (keyed by your search settings, or your own State key) and classifies every product asNEW,UPDATED(withchangedFields),UNCHANGED,REAPPEAREDorEXPIRED. Unchanged products are neither returned nor billed unless Emit unchanged products is on. A product is only ever reportedEXPIREDwhen Emit expired products is on and a run completes a full, uncapped, non-resumed scan of the whole search; that same completed scan is also the only thing that marks a missing product's stored state as no longer present.REAPPEAREDcan therefore only fire for a product that a previous run, with Emit expired products on, had already marked gone in a completed scan, and a later run finds again; it never fires just because a run happened to skip that product. - The baseline is keyed on your search settings (mode, keywords, brand, sort, price/rating filters, Flash Sale toggle, URLs, fetch details/reviews), not on Max products, Max listing pages, Max reviews per product or the connector export cap, so raising a limit keeps your existing baseline instead of starting over and re-billing everything.
Send results into your apps (MCP connectors)
Optionally pipe the scraped products into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each product, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.
- Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
- For Notion, also set
notionParentPageUrlto the page where items should be created.
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | search (keyword and filters) or url (paste links). |
queries | array | prefill: ["tủ lạnh"] | Keywords to search, one query at a time; search mode only. |
specialsOnly | boolean | false | Also browse the site-wide Flash Sale deals page alongside any keywords above. |
urls | array | prefill: ["https://www.dienmayxanh.com/tu-lanh"] | Product, category, search or promotion links to scrape; url mode only. |
brand | string | (none) | Keep only products whose brand contains this text. Applies to both modes. |
sortBy | string | relevance | Reorders whatever set of products was collected: relevance, priceAsc, priceDesc, ratingDesc, reviewsDesc or nameAsc. |
minPrice | integer | (none) | Keep only products priced at or above this amount, in VND. |
maxPrice | integer | (none) | Keep only products priced at or below this amount, in VND. |
minRating | integer | (none) | Keep only products with an average rating at or above this value (1 to 5); needs product details on. |
fetchDetails | boolean | false | Add specifications, variants, image gallery, category path, description and aggregate rating; one extra request per product. Off by default for fast, low-cost listing runs. |
fetchReviews | boolean | false | Also collect the star rated reviews on each product page. Read from the same detail page as Fetch product details; triggers that same detail-page fetch and surcharge on its own, Fetch product details does not need to be on. |
maxReviewsPerProduct | integer | 20 | Cap on reviews collected per product; 0 for every review on the page. |
maxItems | integer | 20 | Maximum products returned across the whole run; 0 for unlimited. |
maxPages | integer | (none; falls back to an internal safety cap) | Safety cap on listing pages fetched per search or category (about 20 products per page). |
resumeFromRunId | string | (none) | Continue one interrupted run: paste its run id or dataset id and already-collected products are skipped. |
incrementalMode | boolean | false | Track this same search or URLs over repeated scheduled runs, returning only NEW, UPDATED, REAPPEARED and (optionally) EXPIRED products. |
stateKey | string | (none) | Optional name for the Incremental mode baseline. Empty auto-derives one from your search settings. |
emitUnchanged | boolean | false | Incremental mode: also return (and bill) products with no change since the last run. |
emitExpired | boolean | false | Incremental mode: also return (and bill) products no longer found, once a run completes a full scan. |
proxy | object | residential, country VN | Connection settings. This source answers reliably only from a residential connection in Vietnam. |
mcpConnectors | array | (none) | Optional: send a summary of each product to apps authorized under Integrations. |
notionParentPageUrl | string | (none) | Notion connector only: page under which product pages are created. |
maxNotifyListings | integer | 50 | Cap on products written to each connector per run; does not affect the dataset. |
Output Example
Sample shape: values are illustrative placeholders, not from a live record.
{"code": "241187","productCode": "4092214003355","sku": "241187","name": "Tủ lạnh Halvex Inverter 250 lít HV25R-INV","url": "https://www.dienmayxanh.com/tu-lanh/halvex-inverter-250-lit-hv25r-inv","brand": "Halvex","category": "Tủ lạnh","categoryPath": ["Tủ lạnh", "Tủ lạnh Halvex"],"color": "Trắng","price": 6490000,"originalPrice": 7990000,"discount": "-18.8%","discountPercent": 18.8,"savings": 1500000,"isOnSpecial": true,"promoGift": "Quà tặng bình đun siêu tốc 200.000₫","installmentOffer": "Trả chậm 0% trả trước 0đ","currency": "VND","rating": 4.7,"reviewCount": 356,"ratingBreakdown": { "bestRating": 5, "worstRating": 1 },"specifications": {"Kiểu tủ": "Ngăn đá dưới","Dung tích": "250 lít","Công nghệ Inverter": "Có"},"variants": [{ "name": "250L - Trắng", "sku": "241187", "price": 6490000, "availability": "InStock" }],"images": ["https://cdn.tgdd.vn/Products/Images/2054/241187/halvex-hv25r-inv-1.jpg"],"description": "Tủ lạnh Halvex Inverter 250 lít - ngăn đá dưới, làm lạnh đa chiều, tiết kiệm điện...","availability": "InStock","reviews": [{ "author": "Ngọc Hà", "date": "2/14/2026", "rating": 5, "title": null, "body": "Máy chạy êm, dung tích rộng, đóng gói cẩn thận." }],"searchMode": "search","source": "dienmayxanh.com"}
Plan Requirement
The default connection setting, residential access in Vietnam, is required for this source: it answers reliably only from that connection, and other connection types are known to be refused, or served with the wrong local pricing and stock. A custom proxy URL you supply yourself is used as given. The run automatically retries with a different connection when one is refused. Pasting a single product link in url mode always reads that product's detail page to report its name, price and specifications, so it is charged the detail-enrichment surcharge on that one item even when Fetch product details is turned off.
FAQ
How much does it cost?
You pay a fixed run start fee, a per-product-result fee for every row in the dataset, and a detail-enrichment surcharge for every product whose detail page was actually read. Fetch product details is off by default, so an ordinary listing or search run pays no surcharge; turning it on, or turning on Fetch customer reviews alone, means the surcharge applies to essentially every product returned, since the detail page almost always yields at least some detail data once it loads. A single pasted product link is always charged the surcharge, regardless of the Fetch product details setting, because its detail page is read to report the product at all. The Pricing tab shows current rates. Use Max products to cap the cost of any run.
Is it legal to scrape Điện Máy Xanh?
This actor collects only publicly available product data. You are responsible for how you use it: follow the site's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. Prices and specifications are generally facts, but product photos may be subject to third-party rights.
Why did my run fail instead of returning an empty dataset?
If the run cannot establish any working connection to the store before scraping starts, it fails outright with a clear status message telling you to check your plan's connection access, rather than finishing successfully with nothing collected. Once a working connection is confirmed at startup, an individual search or page fetch that later gets refused is retried automatically; if it still fails, that one search or URL is simply left out and the run still finishes successfully, which can mean an empty dataset if every search or URL failed this way. The run's status message reads the same, "No products matched your search," whether nothing genuinely matched or every later request was refused, so check the run's log for the actual warning if you need to tell the two apart.
Can I get only new or changed products on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only NEW, UPDATED and REAPPEARED products by default, and unchanged ones are not billed. EXPIRED rows, and the ability to detect a REAPPEARED product at all, only start showing up once a run with Emit expired products on has completed a full, uncapped scan of your search; a run limited by Max products, or resumed from a previous run, is skipped for that detection instead of guessing.
Does Resume skip re-crawling the listing?
No. Resume prevents already-collected products from being pushed and billed again, but it does not extend the walk to reach further pages in exchange, so a resumed run over the same search can surface mostly, or entirely, products you already have. Already-collected products are never billed again even though their detail pages may still be fetched before being dropped, so the savings are in charges, not in requests made.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.
🔗 Want more electronics data?
Pair this actor with these related scrapers from the same team:
| 🔌 Thegioididong Scraper Scrape thegioididong.com products with full specifications, current & original price... | 🔌 Boulanger.com Scrape Boulanger (boulanger.com) electronics and home-appliance products: current price... |
| 🔌 MediaMarkt Germany Scraper Scrape MediaMarkt.de products by keyword or URL. Extract current and original prices... | 🔌 Fnac Scraper Scrape Fnac (fnac.com) products: current price plus strike-through discount, colour/model... |
| 🔌 Bic Camera Scraper Scrape Bic Camera (biccamera.com) products: JPY price, list price and discount, Bic Point... | 🔌 A101 Turkey Scraper Scrape A101.com.tr products across A101 Ekstra and A101 Kapıda. Extract 80+ fields... |
💬 Support & custom scrapers
- 🐞 Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
- 🛠️ Need another site, extra fields or a private build? Email abotapi@proton.me or message Telegram @abotapi.
- ⭐ Enjoying it? A quick review on the actor page helps other users find it.