Almanea Saudi Products
Pricing
from $3.00 / 1,000 successfully parsed product rows
Almanea Saudi Products
Extract public Saudi product identifiers, SAR prices, availability and Arabic specifications from Almanea. Verified bounded sitemap discovery.
Pricing
from $3.00 / 1,000 successfully parsed product rows
Rating
0.0
(0)
Developer
Vixendata
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
23 days ago
Last modified
Categories
Security
Limited permissionsShare
Private evaluation Actor for public Almanea Saudi product data. Arabic-first: exact source titles, brand and specifications are preserved. HTML lang=en is not treated as proof of English. Country SA identifies the storefront; SAR is required in the source offer.
Input
Supply productUrls as an array of exact HTTPS www.almanea.sa product URLs, or set discoverProducts: true. There are no default product samples. Discovery works when URL keys are omitted or empty. It reads only the publicly verified https://www.almanea.sa/best-sellers-c-7698-sitemap.xml, not an unbounded sitemap index, CMS/category pages or protected APIs. Namespace-aware parsing ignores image URLs. The full-catalog index is not traversed.
Defaults: 5 products, 10 total requests, 4,000,000 sitemap bytes. Hard maxima: 100 products, 120 requests, 8,000,000 sitemap bytes. Robots has a 1 MB cap and product pages a 3 MB cap. Request budget includes redirects and robots. Sitemap discovery streams XML and closes the response as soon as the product cap is reached; it never builds a full sitemap tree. Concurrency is one, with at least one second between requests and any declared robots crawl delay or request-rate spacing. Protego 0.7.0 evaluates wildcard and end-anchor robots rules. Input errors fail before networking. See smoke-direct.json and smoke-discovery.json for tiny exact smoke inputs. Discovery deliberately selects the first valid URLs; it is a sample, not a complete catalog.
Output
One row per unique requested product URL: title, brand, string SKU/GTIN/MPN, description, color, current SAR price, explicit ListPrice only, source availability, nullable inStock, images, source specifications, observed language, country and timestamp. Arabic titles yield ar; other titles yield und. No invented ratings, list prices, inventory counts or store-level stock. JSON-LD's first SAR offer is used when several offers exist; this does not enumerate variants. Missing fields remain null or empty. Images are linked, not fetched.
The default dataset contains only extracted products. Key-value store OUTPUT reports completed/partial/failed, requests, row count and errors. Empty extraction is failed, not successful; a fatal source stop preserves previous rows as partial. SDK execution fails the run when no products were extracted. Reaching a request/byte limit can leave partial output; raise limits only within your budget.
Safety and limitations
Only strict same-host HTTPS product and verified sitemap URL shapes are fetched. No queries, credentials, alternate ports, account routes, proxies or login. Every redirected destination is checked before fetching and checked against cached robots. Robots must be readable and valid; fail closed otherwise. HTTP 401/403/429, detected challenges, unsafe redirects and oversized responses stop the source. No retries or bypass. Robots User-Agent is AlmaneaPublicProductActor/0.1.
Robots, sitemap and the included genuine sanitized Philips product fixture were verified 2026-10-07. Fixture SKU 150306202999023, GTIN 8720389003165, SAR229/current and SAR279/list. Prices and availability change. Products must unambiguously match the final URL or its SKU identifier, including after redirects. Only source Product JSON-LD is supported; website changes can yield a clear extraction failure. Indexed Store searches found no relevant competitor, but that is not exhaustive; willingness to pay is unvalidated. This Actor is not affiliated with Almanea. Respect site terms and applicable law.
Development
Python 3.12 Docker runtime; pinned Apify 4.0.2 / Crawlee 1.10.4 / Pydantic 2.13.5. Crawlee is compatibility-pinned; network extraction uses bounded Python stdlib transport. Install requirements.txt, then python -m src.main. For offline tests install jsonschema and run python -m unittest discover -s tests -v. Metadata tests additionally use the independently archived official Apify metaschemas under the review workspace. No paid calls, console changes or publication are performed by these tests.