Marjane Mall Scraper
Pricing
from $0.75 / 1,000 results
Marjane Mall Scraper
All Marjane Mall products from Morocco's official sitemaps: name, brand, price, previous price, discount, stock, seller, categories, specs and images. Prices are compared between runs, so a daily schedule reports only what moved. Example: leave the input empty for a 1,000-product sample.
Pricing
from $0.75 / 1,000 results
Rating
5.0
(2)
Developer
Badr Bouargan
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Marjane Mall Scraper – All Products & Prices

Extract the entire catalog of Marjane Mall, Morocco's hypermarket marketplace — prices, promotions, stock, brands, sellers, categories, images and specifications — with price tracking between runs and optional e-mail alerts.
Why this Actor
- Complete catalog: reads Marjane Mall's official product sitemaps, around 380,000 product pages.
- Rich product data: price, regular price, discount %, stock status and quantity, brand, seller (Marjane or a marketplace partner), full category path, images, specifications, short and long description.
- Price tracking: previous price, change in value and percent, new products, stock changes — remembered from one run to the next.
- Respectful crawling: follows
robots.txt, identified bot, only sitemaps and product pages, never/api/, cart or account pages, limited speed.
What you can do with it
- Follow Moroccan retail prices: around 380,000 product pages, refreshed as often as you like.
- Catch promotions the day they start: price, regular price and discount percent on every row.
- Compare marketplace sellers: Marjane's own listings against its partner sellers.
- Watch a single department: filter on Category contains for électroménager, informatique or any other.
- Feed a price-comparison product: images, brand, stock quantity, full category path and specifications.
How it works
- The Actor downloads the public sitemaps and builds the list of product pages.
- Each page is parsed from its structured data, so a redesign of the site does not silently break the output.
- Prices are compared with the previous run through a named key-value store that survives runs.
- Filters are applied before saving, so you pay only for the rows you want.
Step-by-step tutorial
- Set Max products —
0means the whole catalog. Start with1000. - Optionally add Filters: price range, minimum discount, in stock only, category contains, name contains, excluded words.
- Keep the default Proxy setting (residential, Morocco — see the FAQ).
- Press Start, then export as Excel, CSV or JSON.
Daily price monitoring
Switch on Only changed products and E-mail alerts, then create an Apify Schedule. Keep the same Max products value on each run so the comparison stays consistent.
Input example
{"maxItems": 1000,"minDiscountPercent": 15,"onlyInStock": true,"categoryKeywords": ["électroménager"],"trackPriceChanges": true,"onlyChangedProducts": false}
Output example

Every row as JSON:
{"sku": "AAAAA32198","gtin": "6111234567890","name": "Tapis receveur de douche antidérapant blanc","url": "https://www.marjanemall.ma/p/tapis-receveur-de-douche-anti-derapant-blanc-aaaaa32198","price": 87,"regularPrice": 113,"discountPercent": 23,"currency": "MAD","inStock": true,"seller": { "id": "700058", "name": "MARJANEMALL" },"categories": ["Maison", "Salle de bain"],"previousPrice": 99,"priceChangePercent": -12.1}
Pricing
Pay per product returned, shown on the Actor's pricing tab; proxy and compute are included. This Actor uses a residential proxy because Marjane Mall blocks datacenter addresses, which makes it more expensive to run than a plain sitemap crawler — the price reflects that, and there is nothing extra to pay on your side.
FAQ
Can I get the whole catalog? Yes — set Max products to 0. Roughly 380,000 pages exist, so run a smaller job first to size the dataset and the duration.
Why a residential proxy? Marjane Mall refuses datacenter IP addresses. The default setting already selects the right group; changing it usually results in empty runs.
How does price tracking work? Each product's last price is stored under its SKU. On the next run you get previousPrice, priceChange, priceChangePercent, plus flags for new products and stock changes.
Why did an e-mail alert not arrive? Actors started from Apify Store run with limited permissions and cannot send mail on your behalf. Copy the Actor into your account and switch to full permissions, or plug in a Slack, webhook or Zapier integration. The changed products are always in the dataset.
Can I follow only one category? Yes — use Category contains, for example électroménager or informatique.
Integrations
- Schedules: a daily run with Only changed products becomes a promotions feed.
- API: JSON, CSV or Excel exports for every run.
- Webhooks: trigger your pricing tool as soon as new data lands.
- No-code tools: Google Sheets, Slack, Zapier and Make from the Integrations tab.
Support
Open an issue on the Actor's Issues tab: bugs, missing fields, or a filter you need.
Did this Actor do the job? Leaving a short review on its Store page takes a minute and helps other people find it — and tells me which feature to build next.
Legal
This Actor reads public product pages and sitemaps, respects robots.txt, identifies itself honestly and limits its request rate. It collects product data, not personal data. How you reuse prices and product information is your responsibility.
En français
Extrait tout le catalogue de Marjane Mall : prix, promotions, stock, marques, vendeurs, catégories, images, caractéristiques. L'Actor lit les sitemaps officiels (environ 380 000 pages produit), respecte le robots.txt, se présente sous une identité de robot honnête et limite sa vitesse. Il mémorise les prix d'un run à l'autre, signale les baisses, les retours en stock et les nouveautés, et peut vous alerter par e-mail. Filtres : prix, remise minimum, en stock uniquement, mots-clés de catégorie ou de nom, exclusions.