Live search supplier websites (Scoop, MiRO, Nology, Rectron, and any other) for hardware products using Firecrawl MCP tools. Extracts specs, pricing, datasheets, availability. Compares across suppliers. Saves research results for product design. Use when looking for CPE, routers, APs, UPS, servers, or any hardware product.
Live search SA hardware supplier websites using Firecrawl MCP tools — find products, extract specs and pricing, compare across suppliers, and save research for product design decisions.
This skill complements /product-browse: Browse queries the Supabase DB (synced catalogue). Search queries live supplier websites in real time.
Invoke when:
/product-searchKeywords: search suppliers, find hardware, supplier search, rectron, cross-supplier compare, firecrawl search, hardware research, product specs, datasheet, CPE search
/product-search {query} → Search all suppliers
/product-search --supplier rectron {query} → One supplier only
/product-search --compare {exact product name} → Cross-supplier price comparison
/product-search --map rectron → Discover site structure (first time)
/product-search --save {query} → Search + save research file
| File | Purpose |
|---|---|
supplier-registry.md | Supplier domains, search patterns, notes |
extraction-schemas.md | JSON schemas for firecrawl_extract |
templates/research-result.md | Output template for saved research |
products/research/hardware/ | Where research files are saved |
Always choose the cheapest tool that gets the job done:
| Scenario | Tool | Credits | When to Use |
|---|---|---|---|
| Find product pages on a site | firecrawl_search with site: | ~1 | First step for every search |
| Read a specific product page | firecrawl_scrape | ~1 | When you have a URL and markdown is enough |
| Get structured data from a page | firecrawl_extract + schema | ~15 | When scrape markdown is too messy to parse |
| Discover URL structure of a site | firecrawl_map | ~1 | First-time Rectron setup or unknown site |
| Navigate search forms or pagination | firecrawl_interact | ~2 | When site requires form submission or JS |
| Deep multi-source research | firecrawl_agent (async) | varies | Complex queries across many pages |
Golden rule: firecrawl_search → firecrawl_scrape (2 credits) before escalating to firecrawl_extract (15 credits). Only use extract when the scraped markdown is genuinely too unstructured to parse.
Before searching, determine:
| Question | Answer |
|---|---|
| What product/category are we looking for? | {search terms, model numbers, specs needed} |
| Which suppliers? | Default: all 4. Use --supplier flag to narrow |
| What mode? | discovery / comparison / enrichment / site mapping |
| Should results be saved? | Yes if --save flag or if user asks to save |
For each target supplier, execute a search using the patterns from supplier-registry.md:
1. Check DB first:
GET /api/admin/suppliers/products?supplier={code}&search={query}
or via Supabase:
SELECT * FROM supplier_products
WHERE supplier = '{code}' AND name ILIKE '%{query}%'
ORDER BY cost_price_zar ASC LIMIT 10;
2. If DB has results → show DB data (synced price + stock)
3. Then optionally enrich with live Firecrawl data (specs, datasheets)
4. If NOT in DB → proceed to Firecrawl live search
Important for Scoop: Never use Firecrawl for Scoop pricing — dealer cost prices require login. Use DB for all Scoop pricing data.
1. First time? Run firecrawl_map to discover site structure:
firecrawl_map: { url: "https://www.rectronzone.co.za", search: "{query}" }
→ Saves discovered URL patterns to supplier-registry.md
2. Then search:
firecrawl_search: { query: "site:rectronzone.co.za {query}" }
→ Returns product page URLs
firecrawl_search:
query: "site:{supplier_domain} {search_terms}"
limit: 5
scrapeOptions:
formats: ["markdown"]
onlyMainContent: true
Parse the returned markdown snippets to identify product URLs. If snippets contain enough pricing/spec data, you may not need to scrape individual pages.
For each product URL found, choose based on content quality:
If markdown snippet from search is sufficient:
If you need full page content:
firecrawl_scrape:
url: "{product_url}"
formats: ["markdown"]
onlyMainContent: true
Parse the markdown for: product name, SKU, price (excl/incl VAT), stock status, key specs, datasheet links.
If page is too complex for manual parsing (JavaScript-heavy, spec tables, nested tabs):
firecrawl_extract:
urls: ["{product_url}"]
prompt: "Extract product name, SKU, pricing (excl and incl VAT), stock status, all specifications, and any datasheet PDF links"
schema: <Hardware Product Schema from extraction-schemas.md>
For cross-supplier comparison of the same product:
firecrawl_extract:
urls: ["{scoop_url}", "{miro_url}", "{nology_url}", "{rectron_url}"]
prompt: "Extract pricing, stock status and warranty for this product from each supplier"
schema: <Cross-Supplier Comparison Schema from extraction-schemas.md>
Format all results into a clear comparison. Always show:
estimated_retail = supplier_cost × 1.35 (35% target margin)
estimated_margin = estimated_retail - supplier_cost
margin_pct = estimated_margin / estimated_retail × 100
Flag if estimated retail would be uncompetitive vs SA ISP market benchmarks from references/competitor-benchmarks.md.
products/research/hardware/datasheets/ is where PDFs should be saved for offline referencefirecrawl_scrape with parsers: ["pdf"] on the datasheet URLAlways store if:
--save flagStore to: products/research/hardware/{YYYY-MM-DD}-{slugified-query}.md
Use the template at templates/research-result.md. Fill in all sections:
/product-search MikroTik hAP ax3
/product-search PoE switch 24 port gigabit
/product-search "access point" outdoor 5GHz
Searches all 4 suppliers. Returns comparison table. Does not auto-save unless --save is added.
/product-search --supplier miro Reyee RG-RAP2260
/product-search --supplier rectron UPS 3000VA tower
/product-search --supplier nology "dell server" rack 1U
Targets one supplier only. Faster and cheaper (fewer Firecrawl calls).
/product-search --compare "MikroTik hAP ax3"
/product-search --compare "Ubiquiti UniFi AP U6 Pro"
Finds the exact product on all suppliers and extracts structured data from each for a side-by-side comparison. Uses firecrawl_extract with the Cross-Supplier Comparison Schema.
/product-search --map rectron
/product-search --map {new-supplier-domain}
Uses firecrawl_map to discover the site structure and URL patterns. After running, update supplier-registry.md with the discovered patterns so future searches are more precise.
/product-search --category "wireless access points" --supplier miro
/product-search --category routers --max-price 3000
Browses a category rather than searching for a specific product. Uses category URLs from the supplier registry.
/product-search --datasheet "Peraso PRS4000"
/product-search --datasheet "Tarana G1 Remote Node"
Specifically searches for product datasheets/spec sheets. Uses firecrawl_search targeting PDF documents: site:{domain} filetype:pdf {product_name} or searches product pages for linked PDFs.
User asks for product search
│
▼
Product in our DB (Scoop/MiRO/Nology synced)?
│ YES │ NO (or Rectron/other)
▼ ▼
Show DB results first Use Firecrawl live search
│ │
▼ ▼
User wants live pricing? Find on supplier site(s)
│ YES (not Scoop) │
▼ ▼
Firecrawl scrape for Extract structured data
live price check and present results
│
▼
User wants datasheet?
│ YES
▼
Search for PDF on product page
or use firecrawl_search with filetype:pdf
site:scoop.co.za {query} works wellsite:miro.co.za {query}firecrawl_extract with schema — VirtueMart pages can be messy as markdown--map rectron first to discover URL structureAfter finding a product candidate, pass the extracted data to /product-analyze for a full market-fit analysis including margin calculation, competitive positioning, and GO/NO-GO recommendation.
After /product-search finds a candidate:
"Run /product-analyze on the {product name} at R{cost_price}"
When designing a new product in /new-product Phase 2 (Architecture & Technology), use search results to fill in:
/product-browse queries the Supabase DB. /product-search queries live websites. Run browse first for known products; search for discovery or when DB data is stale.
products/research/hardware/
├── datasheets/ ← PDFs downloaded from supplier sites
│ └── {manufacturer}-{model}-datasheet.pdf
├── {YYYY-MM-DD}-{slug}.md ← Research result files
└── .gitkeep
File naming examples:
2026-04-03-mikrotik-hap-ax3-comparison.md2026-04-03-outdoor-access-point-5ghz.md2026-04-10-rectron-ups-3000va.mdWhen you discover new URL patterns, site behaviours, or pricing quirks during a search, update supplier-registry.md:
supplier-registry.mdThis is especially important for Rectron since it starts with no URL patterns.
Version: 1.0.0 Last Updated: 2026-04-03 Maintained By: CircleTel Product Strategy