Salla & Zid Store Scraper (سلة / زد) avatar

Salla & Zid Store Scraper (سلة / زد)

Pricing

from $3.00 / 1,000 product scrapeds

Go to Apify Store
Salla & Zid Store Scraper (سلة / زد)

Salla & Zid Store Scraper (سلة / زد)

Extract the full product catalog (prices, stock, variants, images) from any online store built on Salla or Zid, the leading e-commerce platforms in Saudi Arabia and the Gulf. Auto-detects the platform.

Pricing

from $3.00 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Al Moutasem Nabil

Al Moutasem Nabil

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Extract the complete product catalog of any online store built on Salla or Zid, the two platforms that power most e-commerce in Saudi Arabia and the Gulf.

Give it a list of store homepages. The Actor detects whether each store runs on Salla (متجر سلة) or Zid (متجر زد), discovers every product, and returns one clean JSON record per product with price, price before discount, stock, variants, images, categories, rating and more. No selectors to configure, no platform to choose, no JavaScript rendering needed.

What you get

  • Auto-detection of the platform from the homepage (custom domains, salla.sa/<slug> paths and *.zid.store subdomains all work).
  • Complete catalogs via the most reliable discovery path for each platform: Salla's public storefront API, Zid's product sitemap, with automatic fallbacks (sitemap for Salla, listing pagination for Zid).
  • Structured prices: current price, regular price before discount, discount percentage, currency.
  • Stock: in-stock flag and the exact quantity when the store exposes it.
  • Variants (sizes, colors, lengths...) with their own price, SKU and availability.
  • Images, categories, brand, rating and review count.
  • Per-store isolation: one broken or closed store never fails the run; a summary of every store is stored in the key-value store as SUMMARY.
  • Deduplication by product URL, retries, polite default concurrency.
  • No personal data: reviewer names, customer names, phone numbers and emails are never collected.

Who is it for?

  • Price monitoring of competitors or your own resellers across متاجر إلكترونية in KSA and the GCC.
  • Brand owners checking which resellers list their products, at which price and whether they honor MAP.
  • Market research on assortment, pricing and discount depth in categories like fashion, perfumes, cosmetics, electronics and home goods.
  • Lead generation: qualify Saudi e-commerce stores by catalog size, price range and categories before reaching out.
  • Data teams feeding product feeds into BI tools, spreadsheets or LLM pipelines.

Input

FieldTypeDefaultDescription
storeUrlsarray of URLsrequiredStore homepages, one per line.
maxProductsPerStoreinteger0 (unlimited)Stop after this many products per store.
includeVariantsbooleantrueExtract variants (sizes, colors...) with price, SKU and stock.
includeOutOfStockbooleantrueKeep sold-out products.
includeDescriptionbooleanfalseAdd the plain-text description (large).
proxyConfigurationobjectApify datacenter proxyDatacenter proxies are enough for both platforms.
maxConcurrencyinteger5Parallel requests across all stores. Keep it low for small shops.

Example input:

{
"storeUrls": ["https://parispolly.com", "https://salla.sa/hnperfume", "https://bkor268.zid.store", "https://alamirah-sa.zid.store"],
"maxProductsPerStore": 0,
"includeVariants": true,
"includeOutOfStock": true,
"includeDescription": false,
"maxConcurrency": 5
}

Output

One dataset item per product. This is a real record scraped from a Zid abaya store:

{
"storeName": "مؤسسة الأميرة للعبايات للتجارة",
"storeUrl": "https://alamirah-sa.zid.store",
"platform": "zid",
"productId": "82b9f089-64fa-412c-9b84-6b0ff5a3a83a",
"sku": "19004248",
"name": "طقم النجوم كبك ثوب دبليو",
"url": "https://alamirah-sa.zid.store/products/عبايات-كاجوال",
"brand": null,
"categories": ["عبايات سادة", "جميع العبايات"],
"price": 165.6,
"regularPrice": 276,
"currency": "SAR",
"discountPercent": 40,
"inStock": true,
"quantity": 138,
"rating": 5,
"reviewCount": 4,
"images": [
"https://media.zid.store/40c3728d-0357-45d1-9800-76ff522e15c3/ce485393-13f6-4025-a97f-fc2349a76d6f.jpeg",
"https://media.zid.store/40c3728d-0357-45d1-9800-76ff522e15c3/001f6f10-e7ab-4b36-a224-070c6921f5d9.jpeg"
],
"variants": [
{
"name": "طقم النجوم كبك ثوب دبليو - 44 - مسكر",
"options": { "القفله": "مسكر", "المقاس": "44" },
"price": 165.6,
"sku": "Z.63654.1606136625233955437",
"inStock": true
},
{
"name": "طقم النجوم كبك ثوب دبليو - 44 - سحاب",
"options": { "القفله": "سحاب", "المقاس": "44" },
"price": 165.6,
"sku": "Z.63654.1606136625233280736",
"inStock": true
}
],
"scrapedAt": "2026-09-05T16:16:12.418Z"
}

And a Salla perfume store record:

{
"storeName": "متجر HN للعطور",
"storeUrl": "https://salla.sa/hnperfume",
"platform": "salla",
"productId": "388030321",
"sku": "HN-TEFANY1",
"name": "عطر TEFANY",
"url": "https://salla.sa/hnperfume/عطر-tefany/p388030321",
"brand": null,
"categories": ["العطور"],
"price": 99,
"regularPrice": 149,
"currency": "SAR",
"discountPercent": 34,
"inStock": true,
"quantity": null,
"rating": 5,
"reviewCount": 3,
"images": ["https://cdn.salla.sa/qzbZe/a77bb53c-e380-4533-bd7a-0c6a439445da-500x500-NZ3oILWlCBD0VWXpNemhYb8lMTFozcK3xEi4c7bb.png"],
"variants": [],
"scrapedAt": "2026-09-05T16:16:07.102Z"
}

Field reference:

FieldDescription
storeName, storeUrl, platformStore identity; platform is "salla" or "zid".
productId, sku, name, urlPlatform product id, merchant SKU, product title and canonical product URL.
brand, categoriesBrand name (if the store uses brands) and category names.
price, regularPrice, currency, discountPercentCurrent price, price before discount, ISO currency (usually SAR), rounded discount percentage (0 when there is none).
inStock, quantityAvailability and remaining quantity when the store exposes it (null for unlimited or hidden stock).
rating, reviewCountAverage rating out of 5 and number of ratings, null when there are none.
imagesFull-size image URLs, main image first.
variants[]{ name, options, price, sku, inStock } per variant.
descriptionPlain-text description, only when includeDescription is on.
scrapedAtISO 8601 timestamp.

The key-value store record SUMMARY lists every input store with its detected platform, discovery method, discovered / scraped counts, skipped and failed requests, and the error message for stores that could not be scraped.

How to run

Console: paste the store URLs, click Start. Export the dataset as JSON, CSV or Excel from the Output tab.

API (replace <token> and the Actor id):

curl -X POST "https://api.apify.com/v2/acts/<username>~salla-zid-store-scraper/run-sync-get-dataset-items?token=<token>" \
-H "Content-Type: application/json" \
-d '{ "storeUrls": ["https://parispolly.com"], "maxProductsPerStore": 100 }'

JavaScript client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<token>' });
const run = await client.actor('<username>/salla-zid-store-scraper').call({
storeUrls: ['https://parispolly.com', 'https://bkor268.zid.store'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Schedule: open the Actor, click Schedule, pick a cadence (daily price monitoring is the common choice) and connect a webhook or an integration (Google Sheets, Slack, Make, Zapier) to the schedule so every run lands where your team works.

Pricing

The Actor uses pay-per-event pricing. You only pay for what was actually delivered:

EventPriceWhen it is charged
Store started$0.01Once per input store whose platform was detected. Closed or unrecognised stores are free.
Product scraped$0.003Once per unique product saved to the dataset. Skipped, duplicated and failed products are free.

A store with 341 products costs about $1.03; ten stores with 5,000 products in total cost about $15. Set Maximum total charge on the run to cap spending; the Actor stops cleanly when the cap is reached and keeps everything scraped so far. Apify platform usage (compute) is billed separately according to your plan.

FAQ

How does the Actor know a store is on Salla or Zid? It fetches the homepage once and looks for platform fingerprints: Salla's Twilight SDK and <salla-*> web components, Zid's asset CDN and store bootstrap variables. Custom domains work because the fingerprints are in the HTML, not the URL.

How are products discovered? Salla: the storefront's own public product API (the same one the theme calls in your browser), paginated to the end, with the sitemap as a fallback. Zid: sitemap_products.xml, with the /products listing as a fallback. Both paths are more robust than following category links.

Do I get variant-level stock? Yes on both platforms. Zid embeds every variant with its quantity; Salla exposes availability per option value.

Why does a Salla product only have one image? Salla's list API returns the main image. When includeVariants is on and the product has options, or when includeDescription is on, the product page is fetched and the full gallery is extracted.

Can I limit cost on a huge store? Use maxProductsPerStore, includeOutOfStock: false, or the run's Maximum total charge.

Does it work on Salla stores with a salla.sa/<slug> URL? Yes. Those stores hide their sitemap behind a Cloudflare challenge, but the API path does not need it.

Arabic or English names? Whatever the store publishes by default (Arabic for almost all stores). Multilingual stores return Arabic first.

Limitations

  • Product descriptions are returned as plain text, not HTML.
  • Rating on Salla is only available when the store enables ratings; Zid ratings need at least one review.
  • Stores that are closed for maintenance, password-protected or not on Salla/Zid are reported in SUMMARY and skipped.
  • The Actor reads public storefront data only; it does not log in, does not see wholesale/B2B prices and does not read the platforms' merchant APIs.
  • Prices are returned in the store's default currency (almost always SAR).

This Actor collects only publicly available product information that any visitor can see on the storefront. It honours robots.txt on both platforms (it never touches Zid's /api/ or review pages), uses polite concurrency, and never stores personal data: no customer or reviewer names, phones, emails or addresses. You are responsible for using the data in line with the store's terms and the laws that apply to you (including the Saudi PDPL). Salla and Zid are trademarks of their respective owners; this Actor is not affiliated with either company.

Keywords

Salla scraper, Zid scraper, Saudi e-commerce data, KSA product prices, سلة, زد, متجر إلكتروني, سكرابر سلة, بيانات المنتجات, مراقبة الأسعار, GCC price monitoring.