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.price — normalizePrice 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=component — 110 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):
- Expert-Zone (H) — WooCommerce/Woodmart. Walks 11 leaf URLs across 8 categories (CPU/GPU/RAM/STORAGE have sub-categories that must be merged).
- Mojitech (H) — WooCommerce/Flatsome. Largest catalog in the roster (12K+ SKUs site-wide, scraper scoped to
/pc-parts/<slug>/). - Sbeity Computer (H) — WooCommerce/Electro. Largest pure-PC-components depth (1,759 SKUs); most listings yield
priceUsd: nullbecause the grid renders an emptyelectro-priceplaceholder — matcher surfaces them as quote-style downstream. - 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.tscannot 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):
- 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.
- 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.
- 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¶
- Affiliate-program reality — every retailer in this audit returned
Unknownon 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. - Multitech's actual catalog — anti-bot blocked first-pass and spot-check audit. Manual / VPN'd verification needed before #20 considers including it.
- 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.
- Lebanese IG-only retailers —
competitive-landscape.md §5.4 #4deferred 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. - 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.
- PC Hub Lebanon (@pchubleb) —
competitive-landscape.md §5.4 #5flagged this for both #36 personas and the retailer roadmap; #36 shipped without identifying it as a retailer. Status (retailer? community?) still open. - PCAndParts UA gating in CI — the existing scraper works because
core/http.tssets 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. - "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.
- 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 withHT(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--orLBP equivalenttext 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 withsuperpowers:dispatching-parallel-agentsagainst the suspect fields.
See also¶
- Competitive landscape — global aggregator survey + cross-cutting Lebanese UX teardowns. The complement to this doc; this doc is per-retailer feasibility, that doc is genre-level positioning.
- Personas — Lebanese buyer behavior. Informs which retailer attributes matter (e.g. WhatsApp confirmation, COD, "Call For Price" handling).
- Guides → Writing a scraper for a new retailer — the how-to once a retailer is approved for #20. References the same per-retailer template fields under "Survey the site".
- Architecture → Ingest pipeline — the runtime each scraper plugs into.
- #20 — feat: add 3-5 more retailers — the issue this audit unblocks.