eMAG.ro Scraper: Romania Prices & Stock
Pricing
from $1.00 / 1,000 results
eMAG.ro Scraper: Romania Prices & Stock
Search emag.ro or scrape any category: one row per product with price in lei, recommended price and discount, stock status, rating, review count and category path. Filter by price band, sort order, rating, discount, stock and exact words. Unofficial.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
reventadata
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
eMAG.ro Scraper: Products, Prices, Stock and Discounts
Unofficial. This Actor is not affiliated with, authorised by, endorsed by, or in any way officially connected to eMAG. "eMAG" is a trademark of its respective owner and is used here only to describe what this tool reads. It reads the same public listing pages a browser does.
Search emag.ro for any term or scrape any category, and get one clean row per product: price in lei, recommended price and discount, rating, review count, stock status, category path and badges.
What does it do?
For each search term or listing URL it walks the result pages (60 products each), reads the product cards the page serves, and saves one row per product. Any search term or category listing URL is accepted; measured 2026-10-21 on TVs, phones and laptops.
Why use it?
- Numeric prices.
priceis the current price in lei as a number.listPriceis the recommended retail price (PRP) printed on the card,previousPricethe struck-through price when the card shows one, anddiscountPercentthe drop from it, or from the PRP when no struck-through price is shown. - Stock as data.
availabilityisIN_STOCK,LIMITED_STOCK,IN_STOCK_SUPPLIER,PREORDER,OUT_OF_STOCKorSHOWROOM_ONLY(UNKNOWNfor a code not yet understood), withinStocktrue only when the product can be bought now. - Filters that run before you pay. Price band (also sent to the site, so a band reaches products beyond the 100-page limit), sort order, minimum rating, minimum discount, in stock only, exact matches only, words the name or category must or must not contain.
- Any listing. Give search terms, or paste category and search URLs from emag.ro.
How to use it
- Put one or more terms in
searchQueries(for exampletelevizor), or listing URLs instartUrls. - Set
maxItemsand, if you want, a sort order and filters. - Run the Actor and download the dataset as JSON, CSV or Excel.
Input
| Field | Type | Description |
|---|---|---|
searchQueries | array | Search terms, one search per term. |
startUrls | array | emag.ro search or category URLs (https://www.emag.ro/search/<term> or a path ending /c). |
maxItems | integer | Total products to save across all terms and URLs. Default 100. |
maxPagesPerListing | integer | Pages per term or URL. Default 5, at most 100: the site serves no more. |
sort | string | RELEVANCE, PRICE_ASC, PRICE_DESC, REVIEWS, DISCOUNT or NEWEST. |
minPrice, maxPrice | number | Price band in lei. |
minRating | number | Minimum average rating, 0 to 5. Unrated products are dropped when set. |
minDiscountPercent | integer | Minimum drop from the PRP or struck-through price. Products showing neither are dropped when set. |
onlyInStock | boolean | Keep only products that can be bought now (IN_STOCK, LIMITED_STOCK and IN_STOCK_SUPPLIER). |
exactMatchesOnly | boolean | For search terms, keep only names containing every word of the term. |
includeKeywords, excludeKeywords | array | Words the name or category must or must not contain, ignoring case and accents. |
proxyConfiguration | object | Apify residential proxy in Romania, required: plain, datacenter and Unblocker requests get a captcha page (measured 2026-10-21). |
Sample input
{"searchQueries": ["televizor"],"maxItems": 20,"maxPagesPerListing": 1,"sort": "PRICE_ASC","onlyInStock": true}
Output
One row per product. The sample is a real row from a run on 2026-10-21, with scrapedAt set to a fixed time.
{"id": "84228664","productId": "25343957","sku": "DBFZX6BBM","name": "Telefon mobil Apple iPhone 11, 64GB, Red","url": "https://www.emag.ro/telefon-mobil-apple-iphone-11-64gb-red-mwlv2rm-a/pd/DBFZX6BBM/","price": 1769,"currency": "RON","listPrice": 1949,"previousPrice": null,"discountPercent": 9,"rating": 4.73,"reviewCount": 1639,"availability": "LIMITED_STOCK","inStock": true,"stockLabel": "ultimul produs in stoc","category": "Telefoane Mobile","categoryTrail": ["Laptop, Tablete & Telefoane","Telefoane mobile & accesorii","Telefoane Mobile"],"badges": ["Cadou"],"hasGeniusBadge": true,"image": "https://s13emagst.akamaized.net/products/25344/25343943/images/res_2ec40f3f3324a4437f787a04070f3687.jpg?width=720&height=720&hash=1B37587619F2A5EF9F030051E74321FF","position": 10,"matchedKeyword": "iphone","page": 1,"scrapedAt": "2026-10-21T00:00:00+00:00"}
Good to know
- The site's search is fuzzy. A term can return loosely related products, and eMAG may answer a
term with the products of one category (
iphonereturns 287 phones, other brands included). Turn onexactMatchesOnlyto keep only names that contain every word. - A listing ends where the site's own result count ends. Past the last real page eMAG silently serves a broader search; the Actor stops there instead of mixing the two. A listing is capped at 100 pages (6,000 products): use a price band or a sort to reach further into a big category.
- Card data only. Rows carry what the listing card shows. Seller names and full specifications are on the product page and are not read.
- Products repeat across pages. The site shows some products on more than one page of a listing; each product is saved once, so a run may read more pages than
maxItems / 60. - Prices change. Each row is the price at
scrapedAt.
How fast is it?
Measured 2026-10-21: 1,000 televizor products in 91 seconds.
Pricing
Pay-per-event: $0.001 per result saved to the dataset ($1.00 per 1,000 results), plus $0.00005 charged once when the run starts. No subscription. Filters run before a row is saved, so rows they drop are not charged.