Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eMAG Price Monitor: Romania Marketplace Price and Stock Tracking

Apify Actor Actor Version Actor Price GitHub Issues Last Commit

Scheduled price and stock change monitoring for eMAG Romania. Diff mode emits only products whose price or stock status changed since the last run, for search keywords or category URLs.

eMAG Price Monitor on Apify


Why use eMAG Price Monitor

  • Changed rows only: Diff mode returns just the products whose price or stock moved since your last run, not the whole catalog again
  • Full price context: Every row includes the current price, the previous tracked price, and the exact change
  • Romanian and English search: Type keywords however you already browse eMAG
  • Stock alerts: Know the moment a watched item comes back in stock
  • Scheduling friendly: Built to run on a recurring schedule so you never check prices by hand

How to use eMAG Price Monitor

  1. Add search keywords such as "iphone" or "aspirator robot", or paste eMAG search or category URLs directly
  2. Keep diff mode on and set a daily or hourly schedule in Apify Console
  3. Click Start: The actor collects every matching product and writes one flat row per item
  4. Download your results: Export as Excel, CSV, JSON, or HTML from the Output tab

Input

Field Type Required Description
searchTerms array of text No Keywords to monitor, such as "iphone" or "playstation 5". A search is built for each term.
startUrls array of URLs No eMAG search or category URLs to monitor directly.
onlyChanged boolean No When enabled, only products whose price or stock changed since the last run are returned. Disable for a full snapshot every run.
maxPagesPerQuery integer No How many result pages to scan per search term or URL (60 products per page).
maxItems integer No Hard cap on total rows returned across all queries. 0 means unlimited.
proxyConfiguration object No Proxy settings. Datacenter is the default and works reliably for eMAG.

Output

Each row in your dataset is one product, with pricing, discount, and change details. All fields are flat with no nested data, so the file opens cleanly in any spreadsheet program.

{
  "query": "iphone",
  "productId": "273691815",
  "productCode": "D89ZX6",
  "name": "Telefon mobil Apple iPhone 17 Pro, 256GB, 5G, Silver",
  "price": 6699.99,
  "oldPrice": 7299.99,
  "discountPct": 8,
  "hasDiscount": true,
  "inStock": true,
  "currency": "Lei",
  "productUrl": "https://www.emag.ro/telefon-mobil-apple-iphone-17-pro-256gb-5g-silver-mg8g4zd-a/pd/D89ZX6/",
  "imageUrl": "https://s13emagst.akamaized.net/products/12345/12345678/images/res_1.jpg",
  "changeType": "PRICE_DROP",
  "oldTrackedPrice": 6999.99,
  "priceDelta": -300,
  "priceDeltaPct": -4.3,
  "oldInStock": true,
  "isChanged": true,
  "scrapedAt": "2026-07-06T00:02:24.004Z"
}

Data table

Field Type Description
query string The search term or start URL that produced this row.
productId string eMAG product or offer ID.
productCode string Alternate stable product code taken from the product URL.
name string Product name.
price number Current price.
oldPrice number Original list price before discount, when eMAG shows one.
discountPct number Discount percentage off the list price.
hasDiscount boolean Whether a discount is currently active.
inStock boolean Whether the product is currently in stock.
currency string Currency of the price, typically Lei (RON).
productUrl string Link to the product page.
imageUrl string Main product image URL.
changeType string Type of change detected, such as a price drop, price rise, or back in stock.
oldTrackedPrice number Price recorded on the previous run.
priceDelta number Difference between current and previous price.
priceDeltaPct number Percentage change between current and previous price.
oldInStock boolean Stock status recorded on the previous run.
isChanged boolean Whether this row changed since the last run.
scrapedAt string ISO timestamp of when the row was collected.

Pricing

$0.00088 per dataset item ("Price change"), about $0.88 per 1,000 results. No monthly subscriptions and no minimum commits. New Apify accounts include $5 of free usage, so you can try it before you pay.

You only pay for the rows the actor actually returns. A run where nothing changed since the last check costs nothing.


Quick start

Create a .env file from .env.example, add your Apify API token, and run:

npm install
npm start

The script uses the Apify API client to start the eMAG Price Monitor actor and fetch results.


Tips and optimization

  • Capture a baseline first: On your first run, turn diff mode off once to record a full snapshot, then switch it back on
  • Watch a whole category: Paste its eMAG URL instead of a single keyword to track every product in it at once
  • Pair with Apify Schedules: Build a running price history without touching a spreadsheet
  • Search in either language: Romanian or English keywords both work

FAQ

How do I monitor price changes on eMAG? Add your product or category as a search term or URL, keep diff mode on, and set a daily schedule in Apify Console. You will only see rows when a price or stock status actually moves.

Does it get blocked? The actor uses reliable request settings confirmed to work against eMAG. Residential proxies are available in the input if you ever notice blocks at high volume.

How fresh is the data? Every run reads live prices and stock directly from eMAG at the moment it executes. Freshness depends entirely on how often you schedule runs.

Do I need an eMAG account? No. The actor reads only public product and search pages. No login, cookies, or account required.

Does it work in Romanian and English? Yes. Search terms can be typed in either language, and category or search URLs from the live site work exactly as pasted.

Is it legal to monitor eMAG prices? This actor collects publicly available product and pricing data that eMAG already displays on its own pages. You are responsible for following eMAG's terms of service and any applicable data protection laws in your jurisdiction.


Support

For bug reports, missing fields, or feature requests, open an issue under the Issues tab, or visit the eMAG Price Monitor actor page.

Releases

Packages

Contributors

Languages