Carrefour كارفور GCC Scraper - 7 Markets - Prices & Stock
boring-internet-explorer · @boring_internet_explorer
Scrape Carrefour data across 7 markets, extracting product names, prices, discounts, stock, images, brands, promotions, and delivery details.

About
🛒 Carrefour كارفور Product Scraper
Scrapes structured product data from Carrefour across 7 markets in the Middle East, Africa, and South Asia. Carrefour is one of the world's largest retail chains, operating hundreds of hypermarkets and express stores across the region through its MAF Retail partnership.
Given a Carrefour category or search URL, the scraper collects product information and returns structured data including identifiers, names, pricing, availability, images, promotions, and delivery details.
Why use this scraper?
Carrefour serves millions of customers across the MENA region, with tens of thousands of SKUs spanning food, electronics, fashion, and household goods. Collecting product data manually across this many listings and markets is not feasible. This scraper provides structured product records that can be used for:
- 📊 Monitoring prices and discounts across 7 regional markets simultaneously.
- 🏷️ Tracking promotions, deals, and sponsored products in real time.
- 📦 Building product catalogues across food, electronics, fashion, and household categories.
- 🔍 Comparing products, brands, and pricing across KSA, UAE, Egypt, Qatar, Pakistan, Lebanon, and Kenya.
- 📈 Powering price intelligence dashboards and market research tools.
- 🤖 Feeding AI and enrichment pipelines with structured retail data.
- 🛍️ Tracking stock availability and express delivery options across the region.
Supported markets
| Country | Domain |
|---|---|
| Saudi Arabia | www.carrefourksa.com |
| UAE | www.carrefouruae.com |
| Egypt | www.carrefouregypt.com |
| Qatar | www.carrefourqatar.com |
| Pakistan | www.carrefour.pk |
| Lebanon | www.carrefourlebanon.com |
| Kenya | www.carrefour.ke |
Supported URL types
| Type | Example |
|---|---|
| Category | https://www.carrefourksa.com/mafsau/en/c/NFKSA1200000 |
| Category + filter | https://www.carrefouruae.com/mafuae/en/c/F6060000?filter=brand_name%3A%27Samsung%27 |
| Category + price range | https://www.carrefouruae.com/mafuae/en/c/NF1200000?minPrice=430&maxPrice=1897 |
| Category + size filter | https://www.carrefourksa.com/mafsau/en/c/FKSA1620000?filter=size%3A%27200g%27 |
| Search | https://www.carrefouruae.com/mafuae/en/search?keyword=laptop |
| Search + filter | https://www.carrefouruae.com/mafuae/en/search?keyword=milk&filter=brand_name%3A%27Almarai%27 |
| Search + price range | https://www.carrefouruae.com/mafuae/en/search?keyword=phone&minPrice=500&maxPrice=2000 |
Input fields
| Field | Type | Description |
|---|---|---|
startUrls | array | Carrefour category or search URLs to scrape. |
maxItems | number | Maximum number of products to scrape per URL. Defaults to 5. |
proxyConfiguration | object | Optional proxy settings. Residential proxies are strongly recommended for multi-market runs. |
Example input
{
"startUrls": [{ "url": "https://www.carrefourksa.com/mafsau/en/c/NFKSA1200000" }],
"maxItems": 5,
"proxyConfiguration": {
"useApifyProxy": false
}
}
Output
Each scraped product is stored as one record in the dataset.
Example output
{
"scrapedAt": "2026-08-23T16:26:14.603Z",
"url": "https://www.carrefourksa.com/mafsau/en/smartphones/honor-mobile-x9d-256gb-12gb-5g-bwn/p/756284?offer=offer_carrefour_&sid=EXPRESS&sellerId=0000",
"id": "756284",
"name": "HONOR X9D Smartphone – 256GB Storage, 12GB RAM – 5G – AI Technology – Brown",
"brand": null,
"price": 1499,
"originalPrice": "1599.00",
"currency": "SAR",
"inStock": false,
"stockLevel": "lowStock",
"stockQty": 1,
"maxQty": 1,
"image": "https://cdn.mafrservices.com/pim-content/SAU/media/product/756284/1761547204/756284_main.jpg?im=Resize=(300,300)",
"sponsored": false,
"promotion": null,
"categoryId": "NFKSA1200000",
"categories": ["nfksa1200000"],
"type": "NONFOOD",
"express": true,
"fulfillment": "EXPRESS",
"globalShipping": false,
"soldByWeight": false,
"country": "www.carrefourksa.com",
"storeId": "mafsau",
"lang": "en",
"urlType": "CATEGORY",
"keyword": null,
"filter": null
}
Field reference
| Field | Description |
|---|---|
scrapedAt | Timestamp of when the product was scraped (ISO 8601). |
url | Full product page URL including offer, fulfillment, and seller query params. |
id | Unique Carrefour product identifier. |
name | Product name as shown on the listing page. |
brand | Brand name, extracted from analytics data. null if not available. |
price | Current selling price in local currency. |
originalPrice | Pre-discount price, when the product is on sale. null if no discount. |
currency | ISO currency code for the market, e.g. "SAR", "AED", "EGP". |
inStock | Whether the product is currently in stock. |
stockLevel | Stock status from the API: "inStock" or "lowStock". |
stockQty | Remaining stock quantity, populated when stockLevel is "lowStock". |
maxQty | Maximum quantity a customer can order. |
image | Product thumbnail image URL. |
sponsored | Whether the product is a sponsored listing. |
promotion | Promotion tag applied to the product, e.g. "lowest_price", "bundle_campaign". null if none. |
categoryId | Category ID from the start URL, e.g. "NFKSA1200000". null for search results. |
categories | Category hierarchy IDs the product belongs to. |
type | Product type: "FOOD" or "NONFOOD". |
express | Whether the product is available for express delivery. |
fulfillment | Fulfillment method: "EXPRESS", "SLOTTED", "DEFAULT", etc. |
globalShipping | Whether the product supports international shipping. |
soldByWeight | Whether the product is sold by weight rather than unit. |
country | Domain of the market the product was scraped from. |
storeId | Store identifier for the market, e.g. "mafsau", "mafuae". |
lang | Language of the start URL: "en" or "ar". |
urlType | Source URL type: "CATEGORY" or "SEARCH". |
keyword | Search keyword used, when urlType is "SEARCH". null for category scrapes. |
filter | Filter string applied to the URL, e.g. "brand_name:'Samsung'". null if none. |
❓ FAQ
What types of URLs can I provide?
The scraper supports category and search URLs across all 7 supported markets, with or without filters, price ranges, and size filters.
Can I scrape multiple markets at once?
Yes. Add URLs from different market domains to startUrls and the scraper will process each independently. Residential proxies are strongly recommended when scraping multiple markets in the same run to avoid IP-level rate limiting.
Can I filter by brand within a category?
Yes. Append filter=brand_name%3A%27Samsung%27 to any category URL to filter by brand. Multiple brands and filter types (size, country of origin, deals, etc.) can be combined using %26 as a separator.
Can I filter by price range?
Yes. Append minPrice=500&maxPrice=2000 to any category or search URL to filter within a price range.
🔗 Want More Data in the MENA Market?
If you found this scraper useful, check out our other scrapers:
Dubizzle دوبيزل Saudi Arabia Scraper - Cars & Properties - Scrape listing data from Dubizzle Saudi Arabia (dubizzle.sa) — the leading classifieds marketplace in KSA. Extracts titles, prices, locations, seller details, photos, and attributes across vehicles, properties, electronics, mobile phones, pets, and more. Supports category, search, and filtered URLs.
OpenSooq السوق المفتوح Scraper — Scrape structured listing data from OpenSooq, the largest classifieds marketplace in MENA.
Lulu Hypermarket لولو هايبرماركت Scraper – Scrape 6 GCC Markets - Extract rich product data from Lulu Hypermarket لولو هايبرماركت across KSA, UAE, Qatar, Oman, Kuwait & Bahrain. Collect prices, availability, images, EAN, brand, categories & dietary attributes from grocery, electronics & fresh food — structured, clean, and ready for analysis.
🥷🏽 Ninja نينجا Product Scraper — Extract product data from ananinja.com — prices, stock availability, brands, images, product IDs, and category for groceries, pharmacy, beauty, and household products across Saudi Arabia, Bahrain, Qatar, and Kuwait. Ideal for price monitoring, catalog synchronization, and market research.
Haraj حراج Scraper — Scrape structured listing data from haraj.com.sa, Saudi Arabia's most popular classifieds platform.
Soum سوم Product Scraper — Scrape detailed product data from soum.sa, Saudi Arabia's marketplace for new and used products.
eXtra - اكسترا Product Scraper — Extract product data from extra.com across Saudi Arabia, Oman, and Bahrain.
Sharaf DG شرف دي جي Product Scraper — Scrape product data from sharafdg.com across UAE, Saudi Arabia, Egypt, Bahrain, and Oman.
Jarir جرير Product Scraper — Scrape product data from jarir.com across all 5 GCC storefronts.
🛠️ Need a custom extension?
Need this scraper adapted to your use case — extra fields, additional filters, a different output format, or a new market? Just reach out and we'll be happy to help.
Input
Preview of the input form. Rent the Actor to fill it in and start runs from the console.
Fields
startUrlsURLs to scrape
maxItemsThe maximum number of items to fetch
proxyConfigurationYour proxy configuration from Apify
API
Bytewells speaks the Apify API. Existing integrations keep working: point apify-client at https://bytewells.com/api and use your Bytewells API token (Console → Settings → API access). The Actor ID is boring_internet_explorer/carrefour-scraper (or boring_internet_explorer~carrefour-scraper in URLs).
JavaScript · apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.BYTEWELLS_TOKEN,
baseUrl: 'https://bytewells.com/api',
});
const input = {
"helloWorld": 123
};
const run = await client.actor('boring_internet_explorer/carrefour-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Python · apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["BYTEWELLS_TOKEN"], api_url="https://bytewells.com/api")
run_input = {
"helloWorld": 123
}
run = client.actor("boring_internet_explorer/carrefour-scraper").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)HTTP · curl
curl -X POST "https://bytewells.com/api/v2/acts/boring_internet_explorer~carrefour-scraper/runs" \
-H "Authorization: Bearer $BYTEWELLS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"helloWorld":123}'Runs are billed as compute from your credit balance. Paid Actors need an active rental or trial; otherwise the API answers 402 rental-required.
Related
More Actors from the same publisher.

Lulu Hypermarket لولو هايبرماركت Scraper – Scrape 6 GCC Markets
boring-internet-explorer · @boring_internet_explorer
Scrape Lulu product data across 6 markets, extracting prices, stock, images, EANs, brands, categories and dietary attributes.
E-commerceDeveloper toolsAutomation$19.99/mo1-day free trial
eXtra.com Products Scraper - Extract extra.com Products
boring-internet-explorer · @boring_internet_explorer
Scrape extra.com product data across KSA, Oman and Bahrain, including prices, discounts, stock, brands, images, ratings and model numbers.
E-commerceAutomationOther$19.99/mo1-day free trial
Noon Products Scraper — Saudi Arabia, UAE & Egypt Products
boring-internet-explorer · @boring_internet_explorer
Scrape Noon product data across KSA, UAE and Egypt, extracting prices, discounts, ratings, sellers, specs and images in English and Arabic.
E-commerceAutomationOther$19.99/mo1-day free trial
Trendyol Scraper — All Countries (GCC, Europe & more)
boring-internet-explorer · @boring_internet_explorer
Easily scrape Trendyol product data, including names, prices, descriptions, and more, across 34 markets in the Middle East and Europe.
AutomationE-commerceOther$19/mo1-day free trial