Skip to content

Lebanese retailer audit

Per-retailer reference for the retailers in (and adjacent to) 961tech's scraper roster. Produced for Foundation: Lebanese retailer audit + scraper roadmap (#30). Closes by handing #20 — add 3-5 more retailers a prioritized list it can execute against.

1. Scope & method

What this is. A structured per-retailer reference — page structure, pricing model, SKU scale, anti-bot signals, affiliate program, and a recommendation — for the 7 retailers 961tech currently scrapes plus 9 candidates audited in two passes and a third spot-check pass for verification. Plus a roadmap section that orders the next picks for #20 and flags any retailer that's strategically interesting but technically infeasible.

What this isn't. Not a re-research of global aggregator competitors — that's competitive-landscape.md. Not a buyer-behavior study — that's personas.md. Not a category-scope decision — that's #32. Not an exhaustive crawl of every Lebanese tech shop; the Instagram-only and WhatsApp-only "your guy" tier is captured at the bottom in §7 Open questions.

Method. Direct WebFetch against each retailer's homepage and at least one components category page (CPU first, GPU/motherboard fallback). Per-retailer field findings are first-hand observation. Cross-references to competitive-landscape.md §4.4 where it adds non-redundant UX or trust-signal context. Where a field could not be observed from the fetched pages, the entry says Unknown — <reason> rather than guessing. A spot-check pass after v1 corrected currency-display, platform-identification, and SKU-scale errors against a parallel re-fetch of every row.

Coverage. 16 retailers with full audit rows: 7 currently scraped (§2), 5 prioritized-next (§3), 2 deferred for access blockers (§4), 2 skipped for thin PC-parts catalogs (§5). The set covers the established Lebanese tech-retail surface; smaller IG/WhatsApp-led retailers are out of scope for conventional scraping (track via #21 LLM extraction instead).

Honest limits. Affiliate-program existence is rarely public in Lebanon — most retailers prefer direct-relationship deals — so most rows show Unknown and require human follow-up. SKU-scale estimates are order-of-magnitude only; precise counts require running a scraper. Anti-bot signals were tested with a single anonymous fetch using WebFetch's browser-style User-Agent; behavior may differ for the project's undici-based fetcher in src/scrapers/core/http.ts.

2. Currently scraped (7)

These seven are wired into src/scrapers/sites/. Recommendation for all seven is Continue (already on roster); the entries document the current state for the reviewer or a future maintainer who needs the page-structure summary without rereading the scraper code. Entries 4-7 (Expert-Zone, Mojitech, Sbeity, Ayoub) shipped together as the M2 H-tier wave 2 in 2026-04-28.

1. PCAndParts

URL pcandparts.com
Languages EN-only. No language switcher.
Categories carried CPU, GPU, motherboard, RAM, storage, PSU, case, cooling. Plus laptops, monitors, gaming gear (peripherals), prebuilts. Broad PC-parts focus.
Pricing model USD numeric primary; some items display "Request Price" with an "Inquire" button instead of a number. A subset of items are flagged "(TAX included)" inline in the title; tax-handling is per-listing, not site-wide.
SKU scale Large 500+ (CPU category alone shows "Showing all 149 results"; 8 standard categories at similar scale ⇒ ~1,000+ component SKUs, plus laptops/peripherals). Spot-check: $122 i3-14100, $192 i5-12400, $655 Ryzen 9 9950X3D — all USD.
Page structure Server-rendered HTML. WooCommerce with the Flatsome theme (per competitive-landscape §4.4). Category URLs follow /product-category/<slug>/. Product cards are div.product-small.type-product, link inside a.woocommerce-LoopProduct-link, price in .woocommerce-Price-amount, out-of-stock signaled by outofstock class on the card.
Pagination Numbered pages (WooCommerce default /page/N/ URL pattern). At default per-page count, the CPU category fits on one page; site offers 200/300-per-page options.
Anti-bot signals UA gating. Default curl returns 403 on category pages; browser-style User-Agent (the scraper's undici UA) returns 200. No CAPTCHA or Cloudflare challenge once UA is acceptable.
Affiliate program Unknown — no public affiliate page; site advertises a "Price Matching Policy" but not an affiliate scheme. Direct outreach required.
Notes "Lebanon's #1, since 1998." Trust-density above the fold (WhatsApp + Telegram + IG + phone + address + price-matching banner). #3 (Call For Price affordance) is partly relevant: PCAndParts uses "Request Price" with an inquiry button — better UX than 961Souq's bare label, but still not a structured quote flow. Dominant retailer in Lebanese PC-parts SERPs. MASTER-named as one of the three best Lebanese retailers (alongside Expert-Zone and Mojitech).

Recommendation: Continue (already on roster). PCAndParts is the price leader and the breadth anchor. Maintenance priority is high — selectors should be re-verified whenever the Flatsome theme updates.

2. 961Souq

URL 961souq.com
Languages EN-only. No language switcher.
Categories carried CPU, GPU, motherboard, RAM, storage, PSU, case, CPU coolers. Plus heavy peripherals + laptops + general electronics. Broadest of the three.
Pricing model Mixed USD + heavy "Call For Price." On the CPU category page, ~78% of visible products show "Call For Price" (spot-check: 21/27 cards); the remainder show USD numeric (often with strike-through original + sale price, e.g. $576.00 / $630.00).
SKU scale Medium 100-500 for CPU specifically (~27 cards visible on the first page; total not surfaced via header). Site-wide is large 500+ including peripherals + laptops.
Page structure Server-rendered HTML. Custom Shopify theme (not Dawn/Debut). Category URLs follow /collections/<slug>. Product cards are div.product-item-collection.product-card, title in an <h4> inside div.product-info-container, price in small.product-price (either <div>$NNN.NN</div> or <span>Call For Price</span>), sold-out via div.sold-out-ban whose display:none style toggles when out of stock.
Pagination Standard Shopify pagination (single page indicator visible on CPU; full pattern likely ?page=N).
Anti-bot signals None observed. Default fetch returns 200.
Affiliate program Unknown — no public program disclosed. WhatsApp CTAs prominent.
Notes The "Call For Price" volume is structural, not incidental — 961Souq's catalog includes many discontinued or low-stock SKUs they retain for SEO without active pricing. The current scraper persists priceUsd: null for these, and the matcher links them to canonical products if title parses; downstream UI must surface them as "Call For Price" rather than hide them (#3 — "Call For Price" first-class state design). Competitive-landscape §4.4 verdict: 5/10 craft, broken inquiry mechanism (text label with no button) is a wedge for 961tech.

Recommendation: Continue (already on roster). 961Souq is the breadth play — many SKUs others don't list, even if half are quote-only. Volume of "Call For Price" listings is the reason to keep them indexed: 961tech's three-state stock signal turns their weakness into our trust signal.

3. Macrotronics

URL macrotronics.net
Languages EN-only. No language switcher.
Categories carried CPU, GPU, motherboard, RAM, storage, PSU, case, CPU coolers. Plus laptops, monitors, peripherals, networking. Broad PC-parts focus.
Pricing model USD-only with mandatory VAT-inclusive display. Every price line carries "Including VAT" beneath the number; site header also states "All prices include VAT." This is rare in Lebanese e-commerce and is Macrotronics' standout trust signal.
SKU scale Medium 100-500. CPU filter sidebar reads "Processors (46)"; generalizing across 8 component categories ⇒ ~300-400 component SKUs. Smaller than PCAndParts/961Souq.
Page structure Server-rendered HTML. Custom Shopify theme (not Dawn). Category URLs follow /collections/<slug>. Product cards are div.card.product-card inside motion-list.card-grid. Title in a.product-card__title (relative href), price in span.price__regular (always present even for sold-out), sold-out indicator is a disabled button inside .quick-add reading "Sold Out".
Pagination No pagination needed at the category sizes observed (CPU fits one page). Pattern presumably ?page=N if SKU count grows.
Anti-bot signals None observed.
Affiliate program Unknown — no public program. Brand-partner logos (ASUS, Gigabyte, Lenovo, HP, Dell, Apple) present but not affiliate-program signals.
Notes Established 2008. Ghazir showroom + warehouse + service center; phone +961 9 853 008. The VAT-inclusive display is the single trust signal that distinguishes Macrotronics from PCAndParts and 961Souq — and it directly motivates 961tech's tax-toggle design (competitive-landscape §5.3 #1). Smallest catalog of the three but the cleanest pricing semantics.

Recommendation: Continue (already on roster). Macrotronics is the cleanliness anchor — VAT-inclusive pricing means listings parse to one canonical price without conditional logic. Worth maintaining priority parity with the other two even though catalog is smaller.

4. Expert-Zone

URL ezonelb.com
Languages EN. No currency or language switcher visible on homepage.
Categories carried CPU, GPU, RAM, storage, PSU, cooler, case, motherboard. Plus peripherals (keyboards, mice, monitors, headsets), networking, UPS, printers, gaming furniture.
Pricing model USD-only numeric. Sample homepage prices: $143.00 (Intel i5-12400F), $120.00 (MSI MAG 255F E20 monitor, was $132.00), $92.00 (GravaStar Mercury X mouse), $1,460.00 (MSI RTX 5080 Ventus 3X), $84.00 (Arzopa A1 portable monitor). Prices carry a --ONLY-- suffix annotation (display flourish, not a currency code). No LBP toggle.
SKU scale Medium 100-500. Sub-categories present for AMD Ryzen and Intel processors; total component count not surfaced via header.
Page structure Server-rendered HTML. WooCommerce with the Woodmart theme family (URL pattern /product-category/computer-parts/processor-cpu/ and shop-grid markup confirm WordPress/WooCommerce).
Pagination Unknown — pagination controls not visible in the category-page excerpt fetched. WooCommerce default /page/N/ likely applies.
Anti-bot signals None — clean WebFetch retrieval; no 403, Cloudflare, or CAPTCHA.
Affiliate program Unknown — footer affiliate links not explicit in fetched content.
Notes Beirut-based (Bechara El Khoury district, facing Panda Plast). Phone +961 1 657 725; WhatsApp +961 76 821 812. B2C retail + wholesale; same-day Beirut delivery. Brand partners: Logitech, ASUS, MSI, GravaStar, Keychron, XFX. Gaming-focused positioning ("YOUR PC GAMING PARTNER"). MASTER-named as one of the three best Lebanese retailers (alongside PCAndParts and Mojitech).
Scraper notes Parent component categories (CPU/GPU/RAM/STORAGE) render only sub-category thumbnails — expertzone.ts walks the leaf URLs (/intel-processors/, /amd-ryzen-processors/, /geforce-nvidia/, /amd-radeon/, /desktop-ram/, /laptop-ram/, /nvme-pcie-sata-ssd/, /hard-drive-disk/) and de-dupes. The ---ONLY--- text is a sibling <small> of .woocommerce-Price-amount and does not interfere with normalizePrice.

Recommendation: Continue (already on roster). Shipped 2026-04-28 as part of M2 H-tier wave 2.

5. Mojitech

URL mojitech.net
Languages EN-only. No switcher.
Categories carried CPU, GPU, motherboard, RAM, storage, PSU, case, cooler. Plus monitors, peripherals (keyboards/mice/headsets), laptops, desktops, gaming consoles, Apple products, networking, CCTV, drones, smart home. Very broad.
Pricing model USD-only numeric for stocked items, with a "Call for Price" subset on high-end / bulk SKUs (~15-20% of catalog per spot-check). USDT (crypto) accepted as a payment option alongside COD/cards — distinctive in the Lebanese market. Sample prices: AOC 24G11E monitor $118, AOC 27G15N $176, Apildella portable monitor $115.
SKU scale Large 500+. Shop reports 12,238 products across 136 pages at ~90 per page — by far the largest catalog observed in this audit. Spot-check confirmed via Showing 91-180 of 12238 results on page 2.
Page structure Server-rendered HTML. WooCommerce (spot-check identified the previously-unknown platform: /wp-content/ paths confirm WordPress + WooCommerce; pagination at /shop/page/N/ is the WooCommerce-default pattern).
Pagination Path-based: /shop/page/N/ with numeric links 1-5 plus jump-to-end. 136 pages total.
Anti-bot signals None detected. No Cloudflare, CAPTCHA, or 403.
Affiliate program Unknown — no mention in footer or contact pages.
Notes B2B-friendly (corporate@mojitech.net contact, bulk capacity implied). Same-day to 72-hour delivery across Lebanon. Physical store in Beirut (New Rawda, Cabella St.) with department-specific phone extensions (laptops, gaming, service). "We compete any price!" positioning. MASTER-named as one of the three best Lebanese retailers (alongside PCAndParts and Expert-Zone).
Scraper notes Card root is div.product-small.product.type-product (Flatsome theme); Mojitech filters via path-scoped category URLs under /product-category/pc-parts/<slug>/. "Call for price" listings render <strong>Call for price</strong> inside span.pricenormalizePrice returns null for those without throwing. First-page CPU fixture has 61 cards; GPU/MB/cooler/storage/PSU/case have 90 each.

Recommendation: Continue (already on roster). Shipped 2026-04-28 as part of M2 H-tier wave 2.

6. Sbeity Computer

URL sbeitycomputer.com
Languages EN-only. No switcher.
Categories carried CPU, GPU, motherboard, RAM, storage (HDD/SSD), PSU, case, CPU cooler. Plus printers, networking, POS, security/CCTV, accessories. Agent-estimated ~85% PC components/hardware vs ~15% B2B/security categories.
Pricing model USD-only with transparent per-SKU pricing on the product detail pages. The category-grid view, however, renders an empty electro-price placeholder for most listings; the storefront treats much of the catalog as quote-driven there. Spot-check pagination header reads Showing 1–16 of 1759 results. No Call-For-Price text observed — the quote affordance is silent (the CTA flips from "Add to cart" to "Read more").
SKU scale Large 500+. Component-section pagination reads /shop/page/[N]/?category=component110 pages × 16 per page = 1,759 component SKUs (exact, verified). Largest pure-PC-components catalog of any audited candidate.
Page structure Server-rendered HTML. WooCommerce on the Electro theme (vanilla JS/jQuery, no SPA; YITH plugin verified for compare buttons; standard add-to-cart, wishlist).
Pagination Standard WooCommerce numbered pagination: /shop/page/[N]/?category=component. 16 items per page, 110 pages total in the components segment.
Anti-bot signals None detected. Direct fetch returns 200.
Affiliate program Unknown — no public affiliate links or program mentions.
Notes Established 2000 (one of the longest-tenured Lebanese tech retailers). Beirut-based — Boulevard building, Mar Mikhael / Hazmiyeh. Both physical showroom and full e-commerce. B2C model with transparent pricing despite the company also operating B2B distribution lines (POS, security, network). No LBP toggle — USD standardization.
Scraper notes Card root is li.product.type-product; title in h2.woocommerce-loop-product__title; outofstock class is reliable on the card root (CPU fixture has 16 listings, 3 OOS). Most in-stock cards yield priceUsd: null because the grid placeholder is empty — that's correct behavior, the matcher will surface them as "Call For Price" downstream. Storage uses parent category /component/drive-internal/ since both NVMe and SSD subcats render at the parent.

Recommendation: Continue (already on roster). Shipped 2026-04-28 as part of M2 H-tier wave 2.

7. Ayoub Computers

URL ayoubcomputers.com
Languages EN-only. No switcher.
Categories carried CPU, GPU, RAM, storage, PSU, motherboard, case, cooler — full PC-components stack. Plus monitors, peripherals (keyboards/mice/docks), laptops, desktops, gaming consoles, networking, POS, surveillance, smart home. Broad.
Pricing model USD-only, all numeric, no Call-For-Price observed. Cleanest pricing semantics of the audited candidates. Sample: Kingston DataTraveler $5, Kingston NV3 SSD $137.
SKU scale Large 500+. "Computer Components" category reports 1,282 total (spot-check verified via Items 1 to 12 of 1282 total); RAM sub-category 103.
Page structure Server-rendered HTML. BigCommerce Stencil theme (CDN at cdn11.bigcommerce.com). Per-page count is configurable (8/12/16/20/40/100 options).
Pagination Numbered pages (1-6 visible on a sample category) + Next button. Default 12 per page, configurable up to 100.
Anti-bot signals None observed.
Affiliate program Unknown — no public program disclosed in About / Contact.
Notes Established 2008. Wholesale + retail; "One Stop Shop" claims 36K+ clients Lebanon-wide. Free delivery across Lebanon. WhatsApp support. No physical Beirut address surfaced in About; primary contact is digital + WhatsApp. Brand partners include Apple, Corsair, Logitech, TP-Link.
Scraper notes The faceted ?CategoryTree=<facet> URL surfaced in the audit requires JS — server-rendered HTML returns the unfiltered parent listing. ayoubcomputers.ts uses friendly subcategory paths instead: /cpu/, /video-graphics-cards/, /cpu-coolers/, /computer-components/<slug>/. Card root is ul.productGrid article.card; price comes from [data-product-price-without-tax]; OOS detection is text-based (Sold Out / Out of Stock token in card text). Images come from data-srcset (lazy) — the parser prefers the highest-resolution variant.

Recommendation: Continue (already on roster). Shipped 2026-04-28 as part of M2 H-tier wave 2.

3. Prioritized next (5)

Candidates audited fresh for this doc, ordered by recommendation strength (H first, then M, then L). Each is a distinct, currently-operating Lebanese retailer with a meaningful PC-parts presence.

8. CompuOne

URL compuonelb.com
Languages EN-only. No switcher.
Categories carried All 8 PC-parts categories (CPU, GPU, MB, RAM, storage, PSU, case, cooler) plus heavy peripherals (221 SKUs in that category alone), laptops, networking, POS, security, software. Per-category SKU breakdown visible on the shop landing.
Pricing model USD numeric primary. "Call for Price" on a subset of high-end SKUs (similar pattern to 961Souq but lower density).
SKU scale Large 500+. Site exposes a total of 670 products across 11 categories on the shop landing (spot-check confirmed exact). 34 pages × ~20 per page.
Page structure Server-rendered HTML. WooCommerce (WordPress backend; familiar product-grid markup; spot-check confirmed wp-content/uploads/, .product class containers).
Pagination Numbered pages with a "Load More" affordance. URL pattern /shop/page/N/. ~34 total pages.
Anti-bot signals Cloudflare JS challenge ("Just a moment…") on every page. A browser-style User-Agent is not enough — the page returns 403 with a CSP referencing challenges.cloudflare.com. Discovered while attempting the M2 H-tier wave 2 ingest on 2026-04-28; the v1 audit's "None observed" finding no longer holds.
Affiliate program Unknown. Footer mentions "Become a Reseller" (B2B) but no public affiliate scheme.
Notes Multi-line phone (4 numbers — +961 9 221062, 9 213510, 3 570049, 3 509730), email, Tayeh Center / Zouk Mosbeh location. Hours Mon-Fri 9am-5pm, Sat 9am-1pm. WhatsApp integration. "24-hour returns" policy. Component coverage is sparser than peripherals — this retailer leans peripherals/POS/networking more than enthusiast components.

Recommendation: Defer. WooCommerce shape means the parser would be near-zero cost, but core/http.ts (undici + custom UA) cannot pass the Cloudflare challenge. Apply the Multitech/Tech Titan playbook: residential-IP test, custom UA + session cookies, or direct retailer outreach for a feed/affiliate relationship. Track in a follow-up to #84.

9. Syscom

URL syscom.com.lb
Languages EN-only navigation. USD/LBP currency switcher in header — distinctive in the candidate set; only Syscom has a real, functional dual-currency display.
Categories carried (per nav) Laptops, desktops, Apple products, computer parts (processors, motherboards, RAM, storage, graphics — listed in navigation), networking, printers, peripherals, surveillance/POS systems.
Pricing model Dual USD/LBP with a working header switcher. Quantity discounts (Discount By QTY). Sample prices: $500.00, $1,340.00, $515.00. Spot-check confirmed switcher functions.
SKU scale Medium 100-500 (estimated). Spot-check on /64-laptop-desktop showed 72 products across 6 pages at 12/page; component categories not yet enumerated but parallel scale likely.
Page structure Server-rendered PrestaShop (URL structure /NN-category-slug — e.g. /64-laptop-desktop, /146-apple-products, /25-computer-parts; currency switcher, account login UI all consistent with PrestaShop).
Pagination Numbered pages — 6 pages visible on the sampled /64-laptop-desktop category, 12 items/page.
Anti-bot signals None on homepage or category pages.
Affiliate program Unknown.
Notes Dekweneh, Lebanon (physical store + B2C online). WhatsApp-prominent contact (+961 70 156 157). Carries Apple premium line. PrestaShop is a fourth platform shape for the roster (currently 0× in 961tech) — would be new scraper work but PrestaShop is well-documented. Moved out of Deferred after the spot-check identified the actual URL routing (the v1 audit had tried stale /en/<numeric-id> URLs that no longer route; the live pattern is /NN-slug).

Recommendation rationale. M — Medium priority for #20. Strategic value is the dual USD/LBP currency switcher — the only Lebanese retailer in this audit that exposes both currencies as a first-class user choice rather than a single-currency display. That makes Syscom the natural pilot for 961tech's currency-localization work (#37) and a useful test case for the two-state price normalization in the matcher. PrestaShop adds a new platform shape (5th in the audit; 4th in the prioritized-next bucket) — that's the cost, and it's why the recommendation is M rather than H despite the strategic value. Picks up after the H tier ships.

10. PCBuildingLeb

URL pcbuildingleb.com
Languages EN-only. No switcher.
Categories carried CPU, GPU, motherboard, RAM, storage, PSU, case, CPU cooler — all 8 PC-parts categories present as standalone components, not just bundled into custom builds. Plus peripherals (keyboards/keycaps, mice, headsets), racing-simulator gear, prebuilt laptops, accessories/cables, security cameras.
Pricing model USD-only numeric. Sample prices: $145 i5-14400F, $135 i5-13400F, $120 i5-12400F. No LBP alternative.
SKU scale Small <100 in core PC components (spot-check correction — original "Medium 100-500" estimate was too generous; CPU category exposed only 3 products at audit-time fetch). Curated catalog across components + peripherals + sim-racing; total site-wide catalog likely Medium but the PC-builder-relevant slice is thin.
Page structure Server-rendered HTML. Shopify with the Omni Themes template family (footer attribution Powered by Omni Themes).
Pagination Standard Shopify grid pagination.
Anti-bot signals None observed.
Affiliate program No — no public affiliate / partner page. Direct contact: info@pcbuildingleb.com, +961 76 752 225.
Notes "Build Your PC" advisory + custom-build assembly is part of their pitch but the catalog clearly stocks individual components when stock is available, not just bundles. Strong gaming/sim-racing tilt. Active on Instagram (@pcbuildinglebanon). Loyalty program + 24/7 support claims.

Recommendation rationale. L — Low priority for #20 (downgraded from M after spot-check). 3-CPU shelf is the corrective signal — match-rate impact on top-line CPU/GPU coverage would be near-zero for the cost of writing the scraper. Shopify Omni Themes does mean dev cost is low (reuses 961Souq/Macrotronics patterns), so if the gaming-peripherals breadth is a strategic priority, picking PCBuildingLeb is cheap; otherwise, the catalog thinness puts it below the M tier. Worth watching — if PCBuildingLeb's core-component shelf grows in the next 6-12 months, recommendation should be revisited.

11. PC Station LB

URL pcstationlb.com
Languages EN-only (region selector for Lebanon noted in navigation).
Categories carried Individual components: CPU, GPU, motherboard, RAM, storage, PSU, cooler. Plus laptops, monitors, prebuilts, peripherals, accessories. Confirmed parts retailer, not assembly-only.
Pricing model USD-only. USDT (crypto) also accepted — same payment-flexibility pattern as Mojitech.
SKU scale Small ~70 at audit time (spot-check correction — original "Large 500+" estimate was an unsupported agent extrapolation). 69 visible across 3 pages on /collections/all, and every product was marked Sold Out at the time of the spot-check. Possible inventory freeze, possible store-mode misconfiguration, possible genuinely-small catalog — observable data is thin.
Page structure Server-rendered HTML. Shopify (spot-check identified the previously-unknown platform: <meta name="generator"> reads Shopify; CDN URLs follow pcstationlb.com/cdn/shop/; /collections/all route works).
Pagination Numbered Shopify grid pagination — 3 pages visible at audit time, ~23 products/page.
Anti-bot signals None detected.
Affiliate program Unknown.
Notes Serves "gamers, professionals, tech enthusiasts." Delivers nationwide Lebanon. Dual business model: sells both individual PC components AND prebuilt systems. Carries branded peripherals (UGREEN partnerships noted). Operating as a legitimate parts retailer plus assembly service, not assembly-only. The all-Sold-Out state at audit time is a meaningful uncertainty for #20 sequencing — confirm live inventory before scraper development.

Recommendation rationale. L — Low priority for #20 (downgraded from M after spot-check). The Sold-Out-everywhere state combined with only 69 listed products makes the catalog impact unclear; if it's a transient inventory freeze, picking PC Station LB later is fine; if it's the steady state, the matcher payoff is small. Shopify means dev cost is low. The scraper would mostly produce inStock: false rows until the catalog refreshes — useful as a price-history signal but not as a price-comparison wedge.

12. Microcity

URL gomicrocity.com
Languages EN-only — no language switcher.
Categories carried Storage (~100+ SKUs), RAM (~40), laptops, desktops, peripherals (keyboards, mice, headphones, cameras, speakers), networking, printers, office supplies. CPU and motherboard categories exist in the navigation but are empty / unstocked (spot-check correction — original audit reported 404; categories actually return zero-products pages).
Pricing model USD-only — observed $27, $73, $79, $133, $203, $830. No LBP toggle, no Call-For-Price observed, no HT/VAT annotation.
SKU scale Medium 100-500 estimated across active categories. The 70+ category labels suggest larger taxonomy but the verified-active categories (storage, RAM, peripherals, laptops) bottom out around 300-500.
Page structure Server-rendered custom PHP (.php extensions in URLs: /allproducts.php, /buyandsell/index.php; non-standard category paths /category/[name]). Not WooCommerce, not Shopify, not BigCommerce.
Pagination Unknown — no pagination controls visible in fetched category pages; products may load all-at-once. URL pattern uses /category/[name] without page parameters.
Anti-bot signals None — accessible via WebFetch; no 403, Cloudflare, or CAPTCHA.
Affiliate program Unknown — homepage notes "Join for partner discounts" (B2B language) but no formal affiliate scheme. Wholesale model is mentioned ("buyers from 20+ countries").
Notes Hamra, Leon Street near LAU, Beirut. Phone +961 1 742223 / +961 1 746673 / +961 1 739941; WhatsApp +961 70 740469. Established 2002. B2B distributor with ~80% export to Middle East/Africa per agent. Buy/Sell marketplace section. MASTER-named retailer.

Recommendation rationale. L — Low priority for #20. MASTER-named so it stays in the audit, but the catalog shape doesn't fit a PC-builder comparison engine well: CPU/MOBO categories are empty (their nav exists but no products are stocked there), the strongest-stocked sections are storage/RAM/peripherals (which match 961tech's lower-priority categories), and the custom PHP platform is the highest dev cost in the candidate set after Mojitech (now-WooCommerce) is reclassified. B2B/export-led model is also a tell that B2C web-catalog is not their primary surface. Reasonable to pick only if 961tech wants storage/RAM coverage breadth specifically, or to validate that MASTER's mental model of Microcity matches the current site state.

4. Deferred / infeasible (2)

Retailers worth tracking but currently blocked by access issues — anti-bot, broken category routes, or site state requiring stabilization. Not Skip — these may become viable with manual verification or after retailer-side fixes.

13. Multitech

URL multitech-lb.com (.com.lb variant ECONNREFUSED)
Status Unreachable from automated probe — confirmed by spot-check pass. Both https://multitech-lb.com and https://www.multitech-lb.com return 403 Forbidden to default browser-UA WebFetch; https://multitech.com.lb refuses connection.
Likely cause Cloudflare WAF / IP-range blocking / geo-restriction. Distinct from PCAndParts' UA-gating (which a custom UA defeats) — the 403 here returned even with a real browser User-Agent.

Recommendation: Defer. Strategically uncertain, technically blocked. Per competitive-landscape.md §4.4, Multitech is described as "Apple + PC, retail/wholesale" — the Apple-heavy framing means the PC-components fraction of their catalog is unknown, and the value of investing in custom anti-bot bypass for an unverified component depth is questionable. Two paths forward: (1) manual visit (browser, residential IP, possibly VPN to a Lebanese exit) to confirm whether their PC-components catalog has scrapable depth before committing engineering time; (2) direct retailer outreach for a feed/API or affiliate relationship that bypasses the scraper-feasibility blocker. Track as a sub-question of #20; do not block #20 on it.

14. Tech Titan

URL techtitanlb.com — homepage accessible
Languages EN/AR (bilingual support inferred from homepage).
Categories carried (per homepage) CPU, GPU, RAM, storage, laptops, gaming peripherals, smart home, networking, multimedia, cameras, cosmetics.
Pricing model USD-only on homepage samples (e.g. ~\(8-\)2,650+ range observed; spot-check confirmed: ASUS ROG $690, Lenovo $599, AirPods $125).
SKU scale Unknown — the 728-product claim from public listings is unverifiable because every category page is blocked.
Page structure Server-rendered WordPress + WooCommerce (developer "Trithea" credited in footer; spot-check reconfirmed platform).
Pagination Unknown — /product-category/computer-parts/page/2/ pattern expected per WooCommerce defaults but not verifiable.
Status Category pages exhibit anti-bot/DDoS protection (spot-check confirmed: redirect loops + "verification in progress" hangs). The v1 audit's "demo mode" hypothesis is now refuted — the protection is active anti-bot, not site-side maintenance.
Affiliate program Unknown — no explicit affiliate link in footer.
Notes Bir El Abed, Beirut. Phone +961 76 653 008 (WhatsApp). Email info@techtitanlb.com. Claims same-day Beirut delivery. Public WebSearch snippets reference 728 products in computer-parts — if accurate, would put Tech Titan among the larger Lebanese PC-parts retailers.

Recommendation: Defer. Anti-bot is real (spot-check upgraded from "possibly demo mode" to confirmed active protection). WooCommerce platform shape is already mastered, so the dev cost of the scraper itself is near-zero — but any work is wasted if the protection blocks the runtime fetch. Apply the Multitech playbook: residential-IP verification or direct retailer outreach for a feed / affiliate relationship. If anti-bot can be bypassed (custom UA + session cookies, or explicit retailer cooperation), Tech Titan likely jumps to M in #20 — possibly H if the 728-SKU claim verifies.

5. Skip — out of scope (2)

Retailers that are reachable and operating, but whose PC-parts catalog is too narrow to justify a scraper slot. Documented for completeness so future revisits don't re-litigate.

15. PcMacLB

URL pcmaclb.com
Languages EN-only.
Categories carried CPU, GPU, motherboard, RAM, storage, PSU, case, cooler — all categories labeled, but most have very few SKUs. RAM category contains only 1 SKU (and that one SKU is mis-classified — actually a storage product). Plus broader catalog of cables, screens, office/POS, networking, laptop parts.
Pricing model USD-only (range \(2-\)115 observed).
SKU scale Site-wide ~312 SKUs across 26 pages (spot-check corrected — site has grown from the v1 estimate of 70-100), but Computer Parts segment is still ~60 SKUs with the RAM-misclassification issue unchanged. The PC-parts-relevant surface is unchanged from v1.
Page structure Server-rendered. WooCommerce indicators not fully confirmed in spot-check; ecommerce CMS suggested by shop pagination + categories but platform fingerprints are weak.
Pagination "Load more" + per-page dropdown (9/12/18/24); 5 pages in Computer Parts.
Anti-bot signals None.
Affiliate program Unknown.
Notes Beirut-based IT distributor (+961 3 814 142). Self-described as "RAM + components" specialist — but the RAM category has 1 active SKU. Site-wide growth is in non-component categories (cables, screens, accessories), not in core PC parts.

Recommendation: Skip — too narrow on the PC-parts axis. Site-wide catalog growth is real (4× from the v1 estimate) but lands in categories 961tech doesn't index as primary. Computer Parts segment still ~60 SKUs with broken RAM classification — same matcher payoff as before. Even with WooCommerce making integration cheap, the H/M tier candidates above all out-deliver this. Revisit in 12 months if the core PC-components surface grows specifically.

16. Gamma Computers

URL gammalb.com
Languages Unknown — no language switcher detected; appears EN/AR mixed.
Categories carried CPU (2 SKUs — Pentium-only), motherboard (mining-grade ESONIC only), RAM (~32 — Kingston DDR¾/5), storage (~38 — Seagate/WD/Kingston), monitor (~40), PSU/case/cooler unknown depth. Plus laptops (gaming + consumer; ~36 gaming laptops, full consumer line). Used/refurbished mentioned but /laptops-used/ returned 404.
Pricing model USD numeric with HT (hors taxe / pre-tax) annotation. Sample prices: $15.00 HT (laptop sleeve), $24.00 HT (keyboard + mouse combo), $750.00 HT (Acer Nitro 5 i7-11800H, was $800.00). Pre-tax display is unusual in Lebanese tech retail but the currency is USD, not LBP. No currency switcher.
SKU scale Medium 100-500 total, but PC-components segment is thin (153 PC components total per agent count). ~1,383 site-wide products counting laptops + general electronics.
Page structure Server-rendered with WooCommerce-style cart; likely WooCommerce or custom PHP.
Pagination Configurable per-page (9/12/18/24); category URLs like /product-category/pc-components/cpu/.
Anti-bot signals None.
Affiliate program Unknown.
Notes Jounieh, Lebanon (Dahr Sarba). +961 71 642 500, info@gammalb.com. Business model is laptops + general electronics primary; new PC parts secondary. CPU catalog is critically thin (2 Pentium models, no mainstream Ryzen/i5/i7). Motherboards exclusively mining-grade. Used-laptop section advertised on homepage but the URL is dead.

Recommendation: Skip — new-PC-parts catalog too thin. CPU shelf has 2 Pentium SKUs and no mainstream Intel/AMD desktop processors; motherboards are mining-grade outliers, not consumer-grade. While RAM/storage/monitors show passable depth, the core CPU/GPU/MOBO tiers are absent or skeletal — and those are the categories that anchor a PC-builder comparison engine. Heavy laptop inventory plus dead used-section signals that Gamma operates as a generalist consumer-electronics retailer rather than a PC-builder-focused parts shop. Used-market integration is explicitly out of scope per competitive-landscape.md §4.2. Add to the audit's negative signal: a Lebanese retailer's homepage saying "PC + used laptops" usually means the PC component depth is shallow.

6. Scraper roadmap

#20 targeted adding 3-5 retailers to bring the roster from 3 to 6-8. The 2026-04-28 H-tier wave 2 ingest shipped 4 of the 5 H-tier picks in a single PR — Expert-Zone, Mojitech, Sbeity, and Ayoub. CompuOne deferred (Cloudflare). Roster is now 7 retailers, inside the 6-8 target.

Shipped 2026-04-28 (in roster order):

  1. Expert-Zone (H) — WooCommerce/Woodmart. Walks 11 leaf URLs across 8 categories (CPU/GPU/RAM/STORAGE have sub-categories that must be merged).
  2. Mojitech (H) — WooCommerce/Flatsome. Largest catalog in the roster (12K+ SKUs site-wide, scraper scoped to /pc-parts/<slug>/).
  3. Sbeity Computer (H) — WooCommerce/Electro. Largest pure-PC-components depth (1,759 SKUs); most listings yield priceUsd: null because the grid renders an empty electro-price placeholder — matcher surfaces them as quote-style downstream.
  4. Ayoub Computers (H) — BigCommerce/Stencil. Only platform-novelty pick in the wave — uses friendly /cpu/, /video-graphics-cards/, /computer-components/<slug>/ URLs since the faceted ?CategoryTree= filter requires JS.

Deferred from wave 2:

  • CompuOne (H) — see §3 entry 8. WooCommerce parser would have been near-zero cost, but the site is behind a Cloudflare JS challenge; core/http.ts cannot pass it. Re-attempt requires bypass strategy (residential IP, session cookies, or retailer outreach). Tracked as a follow-up to #84.

Remaining roadmap (post-wave-2):

  1. Syscom (M) — PrestaShop platform (4th platform shape in the project; first appearance in the prioritized roster). The strategic asset is the working dual USD/LBP currency switcher — useful pilot for #37 i18n work. Estimate: one day for PrestaShop selector discovery + currency-switcher state handling.
  2. PCBuildingLeb (L) / PC Station LB (L)optional. Both Shopify, both small catalogs (3-CPU shelf and 69-product all-Sold-Out respectively). Pick only if M2 wants 8+ retailers and Shopify-pattern reuse is the wedge; otherwise defer to a Wave-3.
  3. Microcity (L)last in priority. Custom PHP, MASTER-named so worth tracking, but the catalog shape (empty CPU/MOBO categories, storage/RAM-led) doesn't fit the builder-engine. Estimate: 1-2 days (custom PHP discovery).

Strategically-relevant-but-infeasible (called out separately)

  • Multitech — Apple-PC retailer, anti-bot blocked on automated fetch (browser UA still 403's; spot-check reconfirmed). Manual / VPN'd verification needed before any scraper investment.
  • Tech Titan — homepage works, category pages have active anti-bot/DDoS protection (spot-check refuted the v1 "demo mode" hypothesis). WooCommerce shape means near-zero scraper-development cost if the protection can be bypassed (residential IP, custom UA + cookies, or direct retailer cooperation) — Tech Titan could jump to M or H in a Wave-2.

Why #20 closed in one PR

Each H/M pick had its platform identified (no "unknown" entries), pagination pattern observed, anti-bot signals checked, and an estimated dev cost. Four of the five H-tier picks reused the WooCommerce shared pattern — Expert-Zone went first and seeded the selector vocabulary, Mojitech and Sbeity picked it up at incremental selector-tweak cost, and Ayoub absorbed the BigCommerce/Stencil novelty without bloating the others. CompuOne is the lone H-tier pick that did not ship — its anti-bot status was wrong in the v1 audit (Cloudflare JS challenge, not "None observed"); discovering this on the day of the wave-2 attempt made the cost > 1 day, so we deferred. The 12K-scale matcher question for Mojitech remains open — surfaces as ingest-time signal once npm run scrape runs against production.

Two skipped retailers (PcMacLB, Gamma) document the audit's negative space — future re-audits can skip them unless their core-PC-component surface changes meaningfully.

7. Open questions

  1. Affiliate-program reality — every retailer in this audit returned Unknown on affiliate program. Lebanese tech-retail commerce is relationship-led; commercial deals are bilateral, not platform-listed. Surfacing this as a question for #41 monetisation: does 961tech start with postback-based attribution + CPS rev-share as the default offer, or with CPC that bypasses retailer cooperation? The audit can't answer; field outreach can.
  2. Multitech's actual catalog — anti-bot blocked first-pass and spot-check audit. Manual / VPN'd verification needed before #20 considers including it.
  3. Tech Titan anti-bot — spot-check upgraded the v1 "demo mode" hypothesis to confirmed active anti-bot/DDoS protection. Bypass options are residential-IP testing, custom UA + session cookies, or direct retailer outreach. High-value unblock given WooCommerce platform reuse + 728-SKU public claim — Tech Titan could jump to M or H in a Wave-2.
  4. Lebanese IG-only retailerscompetitive-landscape.md §5.4 #4 deferred this here. Field-survey of Lebanese PC-related Instagram accounts (PC Hub Lebanon @pchubleb is the canonical mention) belongs in a separate effort that pairs with #21 LLM-extraction onboarding rather than this audit's scraper-feasibility framing.
  5. Long-tail beyond this set — additional smaller retailers may exist in the Lebanese long tail (Beirut-suburb computer shops, regional electronics stores). Worth a SERP-led second-pass audit after the M2 6-8-retailer roster ships and we have data on whether the milestone target is met or wants a Wave-2.
  6. PC Hub Lebanon (@pchubleb)competitive-landscape.md §5.4 #5 flagged this for both #36 personas and the retailer roadmap; #36 shipped without identifying it as a retailer. Status (retailer? community?) still open.
  7. PCAndParts UA gating in CI — the existing scraper works because core/http.ts sets a custom UA. If CI ever runs from an IP range PCAndParts also blocks, this becomes a bigger problem. No evidence today; flagging for the #19 drift-alert infra roadmap.
  8. "Apple + PC" framing as a negative signal — Multitech (Apple + PC, anti-bot), Gamma (laptops + used + thin PC parts), and Syscom (Apple line + computer parts) all share a pattern: when a retailer's primary positioning is laptops/Apple/general electronics, the discrete PC-components catalog tends to be thin. The inverse signal — "PC parts + builds" framing (PCAndParts, Sbeity, CompuOne, PCBuildingLeb) — correlates with deeper component catalogs. Useful heuristic for any future retailer-discovery pass.
  9. Audit reliability — confusion between display annotations and actual currency. The v1 audit had to be corrected on at least four currency claims (Expert-Zone wrongly labeled LBP-only when prices carried a --ONLY-- suffix annotation; Gamma wrongly labeled LBP-only when it displays USD with HT (hors taxe) annotation; smaller margins on others). Future Lebanese-retailer audits should specifically check for: (a) HT/VAT annotations that look like currency codes but aren't, (b) suffix/prefix display flourishes like --ONLY-- or LBP equivalent text near the price, © currency switchers with non-default LBP state that hide USD on first load, (d) JS-rendered pricing that WebFetch may parse as empty until the page hydrates. The spot-check pass added: (e) platform identification confidence — "unknown / custom" claims should trigger a deeper response-source inspection (generator meta tag, theme paths, response headers) before being accepted; v1 missed that Mojitech and PC Station LB were on identifiable platforms (WooCommerce and Shopify respectively). When in doubt, run a parallel verification sweep with superpowers:dispatching-parallel-agents against the suspect fields.

See also