browse-categories▌
citymall.com.mm/citymall-myanmar-au419j · updated May 21, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Walk the full citymall.com.mm category taxonomy (groceries, fresh produce, beverages, electronics, fashion, beauty, pet supplies, home appliances and more), set a delivery township so inventory is correctly scoped to Yangon or Mandalay, and extract structured product cards.
| name | browse-categories |
| title | City Mall Myanmar — Browse Categories Across Yangon & Mandalay |
| description | >- Walk the full citymall.com.mm category taxonomy (groceries, fresh produce, beverages, electronics, fashion, beauty, pet supplies, home appliances and more), set a delivery township so inventory is correctly scoped to Yangon or Mandalay, and extract structured product cards. |
| website | citymall.com.mm |
| category | ecommerce-marketplace |
| tags | - myanmar - grocery - retail - marketplace - ecommerce - yangon - mandalay |
| source | 'browserbase: agent-runtime 2026-05-19' |
| updated | '2026-05-19' |
| recommended_method | browser |
| alternative_methods | - method: api rationale: >- No public REST/JSON API. SAP Hybris OCC endpoints (/rest/v2/citymall/..., /occ/v2/citymall/...) redirect to //v2/... and return the HTML SPA fallback, not JSON, for anonymous clients. Don't waste time probing them. - method: url-param rationale: >- Township scope is set via the citymall-township cookie (T{N}), not a URL parameter. The cookie is the closest thing to a deep-link — set it before any category fetch. |
| verified | true |
| proxies | true |
City Mall Myanmar — Browse Categories Across Yangon & Mandalay
Purpose
Browse and extract the product catalog of citymall.com.mm — Myanmar's online department store covering groceries, fresh produce, beverages, electronics, fashion, beauty, pet supplies, home appliances and more. The skill walks the category taxonomy, sets a delivery township (Yangon or Mandalay or anywhere else in Myanmar) so the inventory is correctly scoped, and pulls structured product cards (name, price in MMK Kyat, image URL, seller, product detail URL). Read-only — no cart, no checkout, no account.
When to Use
- A user wants to enumerate everyday-retail categories available for delivery in Yangon or Mandalay.
- A user wants product listings, prices, or brand assortment for a leaf category (Rice, Mobile Phones, Pet Feeding, Beauty/Cosmetics, etc.) scoped to a specific township.
- A user wants to compare which products / sellers are deliverable to Yangon vs Mandalay vs other regions (the catalog narrows per township).
- A user wants to confirm whether a long-tail product category (electronics, fashion, automotive, books) is sold on citymall.com.mm.
Workflow
-
Force English — navigate to
https://www.citymall.com.mm/citymall/en/. The barehttps://www.citymall.com.mm/302-redirects to/citymall/my/(Burmese). Always use the explicit/en/path; theENtoggle in the header does not always switch the storefront if you arrived from/my/. -
Set delivery township BEFORE listing products — without this, the catalog falls back to a partial nationwide view and products are silently filtered out at the basket. Two equivalent paths:
a. UI flow — click "Enter Township" in the top header. A modal dialog opens with two dependent dropdowns:
CITY*(15 Myanmar states/regions, includingYangonandMandalay) andTOWNSHIP*(populated after the city is picked). Pick city → pick township → click ADD (first time) or CHANGE (when re-editing). The page reloads with the new scope.b. Cookie shortcut — set
citymall-township=T{N}directly. Each township has a numericT#ID assigned by the server after selection. Examples observed:T2= Yangon - BahanT77= Mandalay - Chanmyathazi- The state itself uses letter codes (
YGNR= Yangon,MDY= Mandalay) in theCITY*select element but is not separately cookied; the township code alone is sufficient for scoping.
To enumerate all
T#codes, walk the city → township combinations via the modal (the township<select>options havevalue="T{N}"attributes; capture them on the fly). There is no public endpoint that returns the full city→township→T-code mapping. -
Top-level category taxonomy — the homepage mega-menu (button labelled
Categories) renders 18 top-level cards. The site uses two parallel URL schemes that resolve to the same category:- Modern (id-prefix):
https://www.citymall.com.mm/citymall/en/c/id{HHHHHH}where each 3-digit group is one level of hierarchy. E.g.id01001001= Grocery (id01) → Basic Grocery (id01001) → Rice (id01001001). - Legacy (slugged):
https://www.citymall.com.mm/citymall/en/Categories/{Top-Slug}/{Sub-Slug}/{Leaf-Slug}/c/id{HHHHHH}— auto-generated fromc/id...redirect, includes URL-encoded%26for&.
Confirmed top-level categories and their
idcodes (you can hit any of these directly):Name idcodeNotes Basic Grocery id01001Rice, Oil, Cream & Milk, Sugar, Soup, Noodle, Condiments, Baking Needs… Beverage id01002Tea, Coffee, Milk, Ready Drink, Fruit Juice, Cordial, Water Dairy, Bakery & Frozen id02Fresh Milk, Yogurt, Cheese, Eggs, Bakery, Frozen Product Fresh id03Vegetable & Flowers, Fruit, Poultry, Meat, Seafood, Frozen Meat Home & Living Lifestyle id05Parent of Tech & Electronics, Pet Essentials, Cleaning, Automotive subtrees Pet Essentials id05010Pet Feeding, Apparel, Furniture, Health & Grooming, Toys, Litter Box Tech & Electronics id05011Living-Room/Laundry/Air/Kitchen Appliances, Mobile Phones, Computer, Camera, Wearable Cleaning id05012Tissue, Household Cleaner, Laundry, Air Freshener, Pest Control Automotive id07001Automotive Parts & Accessories Fashion id08Men, Women, Unisex, Children Fashion (1,018+ SKUs as of capture) Sports & Activities id08005Football, Basketball, Swimming, Hiking, Cycling, Martial Arts Beauty & Personal Care id10Facial, Cosmetics, Oral, Body, Hair, Nail Care Breakfast & Snacks id01004Jam, Cereals, Snacks, Chocolate, Biscuit Health & Wellness id11001OTC Medicine, Prescription, Vitamins, Traditional, Lifestyle Mom, Baby & Toys id12Baby Nutrition, Diapers, Bath, Pregnancy Nutrition, Toys Media, Books & Stationery id13Music, Movies, Books, Musical Instruments, Stationery Religious id14Religious items, Donation Accessories Seasonal id14001Holiday/festival campaigns The legacy sitemap at
https://www.citymall.com.mm/citymall/my/sitemap.xmllists older 4-digit numeric category codes (e.g.c/1101for Rice). Those still resolve via 301 to the newid-prefix codes but are no longer canonical — prefer theidform. - Modern (id-prefix):
-
List products in a leaf category — navigate to the leaf URL (e.g.
https://www.citymall.com.mm/citymall/en/c/id01001001for Rice). The DOM is server-rendered (SAP Hybris) sobrowse get markdown bodyreturns the full product grid synchronously afterbrowse wait load. Each product card is a sequence in the markdown: [{name}](/citymall/en/Categories/.../p/{sku}) {weight} {price} Ks Sold by {seller_short_code}The simplest extraction regex (Node):
const re = /!\[([^\]]+)\]\(([^)]+)\)\s*\n*\s*\[ ([^\]]+)\]\(([^)]+\/p\/[^)]+)\)[\s\S]{0,200}?([0-9,]+ Ks)[\s\S]{0,200}?Sold by ([A-Z][^\n]+)/g;Headers near the top contain
{N} Results Found(the total count for this category × township). Filter facets visible in the sidebar: Brands, Merchant, Sub-Merchant (City Baby Club,City Mart,Market Place,Neighborhood,Ocean), Delivery (Express,Same Day,Standard), Price Range, COD available checkbox. -
Open a product detail page — append the
/p/{sku}path. The SKU format iscmhl_{10-digit}_{1}for first-party (CMHL) items; third-party items use the seller's own SKU. SKU is URL-encoded in markdown ascmhl%5F1000000000076%5F1. -
Compare Yangon vs Mandalay — set township to a Yangon township, hit a category, capture
Results Foundand product list. Then update township to a Mandalay township, refresh same URL. Observed differences:- Result counts shrink in Mandalay (Rice: 28 in Yangon-Bahan → 24 in Mandalay-Chanmyathazi).
- Prices are identical for the same SKU.
- Top sellers narrow: CMHL is universal; third-party sellers like
Yangon Development Company Limand manyMarket Placesub-merchants appear only for Yangon townships.
Browser fallback
There is no public REST/JSON API. The endpoint paths /rest/v2/citymall/... and /occ/v2/citymall/... exist (SAP Hybris OCC) but all redirect to //v2/... (note double slash) and return HTML SPA fallbacks; direct JSON requests are not exposed to anonymous clients. The browser flow above IS the canonical path.
Site-Specific Gotchas
-
Default language is Burmese.
https://www.citymall.com.mm/302-redirects to/citymall/my/. Always navigate explicitly to/citymall/en/to get English; clicking theENheader toggle from a/my/page sometimes does not switch storefronts (it can land on/citymall/my/again with English-mixed text). The cookie_citymallLanguageCookie=enpins the choice once set. -
Township is required for an accurate catalog. Without
citymall-townshipset, results show a nationwide superset; many items will appear available but get rejected at checkout because the seller does not ship to the unspecified location. Always set the township first. -
The
T#township codes are opaque server-issued IDs, not derived from name or position.T2happens to be Bahan andT77happens to be Chanmyathazi, but there is no documented mapping — enumerate on the fly by walking the modal's CITY→TOWNSHIP<select>options and reading thevalue=attribute. -
robots.txtis restrictive:Crawl-delay: 10,Request-rate: 1/10,Visit-time: 04:00-08:45 UTC(i.e. ~10:30 AM – 3:15 PM Myanmar time, which is the off-peak window). It also explicitly blocks/cart,/checkout,/my-account. Honour the delay between category fetches if you are walking the full taxonomy — 10 seconds between successivebrowse open/browse get markdowncalls. Stealth + residential proxy were used in the verified run and the site served all pages without challenge; reducing rate further is unnecessary. -
Two URL schemes coexist: legacy
/citymall/en/Categories/.../c/{4-or-6-digit-numeric}(fromsitemap.xml) and modern/citymall/en/c/id{HHHHHH}(from the live mega-menu). They 301-redirect into each other but the modernidform is the only one the SPA emits; prefer it. -
Tech & Electronicshas no top-level standalone URL — in the mega-menu the parent link is#(JS-only expand). Its children (id05011001= Mobile Phones,id05011002= Computer, etc.) are reachable, and the synthetic parent URLhttps://www.citymall.com.mm/citymall/en/c/id05011DOES resolve and shows a 337-item rollup (under the legacy slugCategories/Home-%26-Living-Lifestyle/Electronics). -
Citymall is a multi-seller marketplace, not just a self-fulfilling grocer.
Sold by CMHL= City Mart Holdings (first-party). Third-party sellers visible in extraction includeYangon Development Company Lim,Belkin, and dozens of "Market Place" sub-merchants. Sellers may have township restrictions independent of the catalog (i.e. a product card may render butADD TO CARTis disabled for some townships). -
Prices are listed in MMK Kyat with format
{X,XXX} Ks(comma-thousands, lowercase trailingKswith a single space). Always parse with\d{1,3}(?:,\d{3})* Ks— no currency symbol prefix. Some bulk grocery items show weight on a separate line (5.0 Kilo,400.0 Gram) above the price. -
Image URLs are CDN-hosted on Azure Blob Storage under
https://cmhlprodblobstorage1.blob.core.windows.net/sys-master-cmhlprodblobstorage1/.... The thumbnail variant ends with_Default-WorkingFormat_110Wx110H; strip that suffix to get the full-resolution master image. -
Customer-service hours are 7:00 AM – 8:30 PM Myanmar time (per footer). Site availability outside those hours is identical, but if a user wants to call the listed numbers (09-765424332 / 09-765439378 / 09-765439379) they should respect the window.
-
No public JSON API — confirmed. The Hybris OCC endpoints (
/rest/v2/...,/occ/v2/...) all redirect to//v2/...and return HTML, not JSON, for anonymous clients. Don't waste time probing them; use the markdown extraction offbrowse get markdown bodyinstead. -
The product URL contains a URL-encoded SKU (
/p/cmhl%5F1000000000076%5F1where%5F=_). When reconstructing product URLs, encode the SKU's underscores.
Expected Output
{
"domain": "citymall.com.mm",
"scope": {
"city": "Yangon",
"township": "Bahan",
"township_id": "T2",
"language": "en"
},
"top_level_categories": [
{ "name": "Basic Grocery", "id_code": "id01001", "url": "https://www.citymall.com.mm/citymall/en/c/id01001" },
{ "name": "Beverage", "id_code": "id01002", "url": "https://www.citymall.com.mm/citymall/en/c/id01002" },
{ "name": "Dairy, Bakery & Frozen", "id_code": "id02", "url": "https://www.citymall.com.mm/citymall/en/c/id02" },
{ "name": "Fresh", "id_code": "id03", "url": "https://www.citymall.com.mm/citymall/en/c/id03" },
{ "name": "Home & Living Lifestyle", "id_code": "id05", "url": "https://www.citymall.com.mm/citymall/en/c/id05" },
{ "name": "Pet Essentials", "id_code": "id05010", "url": "https://www.citymall.com.mm/citymall/en/c/id05010" },
{ "name": "Tech & Electronics", "id_code": "id05011", "url": "https://www.citymall.com.mm/citymall/en/c/id05011" },
{ "name": "Cleaning", "id_code": "id05012", "url": "https://www.citymall.com.mm/citymall/en/c/id05012" },
{ "name": "Automotive", "id_code": "id07001", "url": "https://www.citymall.com.mm/citymall/en/c/id07001" },
{ "name": "Fashion", "id_code": "id08", "url": "https://www.citymall.com.mm/citymall/en/c/id08" },
{ "name": "Sports & Activities", "id_code": "id08005", "url": "https://www.citymall.com.mm/citymall/en/c/id08005" },
{ "name": "Beauty & Personal Care", "id_code": "id10", "url": "https://www.citymall.com.mm/citymall/en/c/id10" },
{ "name": "Breakfast & Snacks", "id_code": "id01004", "url": "https://www.citymall.com.mm/citymall/en/c/id01004" },
{ "name": "Health & Wellness", "id_code": "id11001", "url": "https://www.citymall.com.mm/citymall/en/c/id11001" },
{ "name": "Mom, Baby & Toys", "id_code": "id12", "url": "https://www.citymall.com.mm/citymall/en/c/id12" },
{ "name": "Media, Books & Stationery", "id_code": "id13", "url": "https://www.citymall.com.mm/citymall/en/c/id13" },
{ "name": "Religious", "id_code": "id14", "url": "https://www.citymall.com.mm/citymall/en/c/id14" },
{ "name": "Seasonal", "id_code": "id14001", "url": "https://www.citymall.com.mm/citymall/en/c/id14001" }
],
"leaf_category_example": {
"name": "Rice",
"id_code": "id01001001",
"url": "https://www.citymall.com.mm/citymall/en/c/id01001001",
"results_found": 28,
"filters_available": ["Brands", "Merchant", "Sub-Merchant", "Delivery", "Price Range", "COD available"]
},
"sample_products": [
{
"name": "Nursery Paw San Hmwe Rice 5KG",
"weight": "5.0 Kilo",
"price_mmk": 18000,
"price_text": "18,000 Ks",
"sold_by": "CMHL",
"thumb_image_url": "https://cmhlprodblobstorage1.blob.core.windows.net/sys-master-cmhlprodblobstorage1/h1d/hda/8979317653534/cmhl_1000000000076_1_hero.jpg_Default-WorkingFormat_110Wx110H",
"product_url": "https://www.citymall.com.mm/citymall/en/Categories/Grocery/Basic-Grocery/Rice/Paw-San-Hmwe-Rice/Nursery-Paw-San-Hmwe-Rice-5KG/p/cmhl%5F1000000000076%5F1",
"sku": "cmhl_1000000000076_1"
},
{
"name": "Belkin HDMI Cable Silver Plate 2M Black F3Y020bt2M",
"category": "Tech & Electronics",
"price_mmk": 45000,
"price_text": "45,000 Ks",
"sold_by": "Belkin",
"product_url": "https://www.citymall.com.mm/citymall/en/Categories/Home-%26-Living-Lifestyle/Electronics/.../p/..."
},
{
"name": "Chacca's Pet Haven Chicken Bone Meal Powder",
"category": "Pet Essentials",
"price_mmk": 15000,
"sold_by": "Market Place sub-merchant"
}
],
"yangon_vs_mandalay_comparison": {
"category_tested": "Rice (id01001001)",
"yangon_bahan": { "township_id": "T2", "results_found": 28 },
"mandalay_chanmyathazi": { "township_id": "T77", "results_found": 24 },
"price_delta": "none — identical prices for shared SKUs",
"catalog_overlap": "Mandalay is a strict subset of the Yangon catalog for Rice; Yangon-only sellers (Market Place, Neighborhood, Ocean sub-merchants) drop out"
},
"coverage_confirmation": {
"fresh_produce": "present — Fresh (id03) covers Vegetable & Flowers, Fruit, Poultry, Meat, Seafood, Frozen",
"beverages": "present — Beverage (id01002): Tea, Coffee, Ready Drink, Fruit Juice, Water",
"electronics": "present — Tech & Electronics (id05011), 337 items in Mandalay-Chanmyathazi, includes Mobile Phones, Tablets, Computer Components, Camera, Wearable",
"fashion": "present — Fashion (id08), 1,018+ items covering Men/Women/Unisex/Children",
"beauty": "present — Beauty & Personal Care (id10): Facial, Cosmetics, Oral, Body, Hair, Nail",
"pet_supplies": "present — Pet Essentials (id05010), 180 items: Pet Feeding, Apparel, Furniture, Toys, Litter",
"home_appliances": "present — under Tech & Electronics → Living Room / Laundry / Air & Cooling / Kitchen Appliances",
"books_media": "present — Media, Books & Stationery (id13)"
},
"session_cookies_relevant": {
"citymall-township": "T{N} — set after township modal submit; SCOPES INVENTORY",
"_citymallLanguageCookie": "en | my — pins storefront language"
}
}
For a category where all sub-merchants withdraw delivery to the chosen township the page renders successfully but Results Found reads 0 Results Found and the product grid is empty — emit { "results_found": 0, "sample_products": [] } rather than treating it as an error.
How to use browse-categories on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add browse-categories
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches browse-categories from GitHub repository citymall.com.mm/citymall-myanmar-au419j and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate browse-categories. Access the skill through slash commands (e.g., /browse-categories) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
Task Automation & Efficiency
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Knowledge Enhancement
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Quality Improvement
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client with skill support
- ›Clear understanding of task or problem to solve
- ›Willingness to iterate and refine outputs
Time Estimate
15-45 minutes depending on use case complexity
Installation Steps
- 1.Install skill using provided installation command
- 2.Test with simple use case relevant to your work
- 3.Evaluate output quality and relevance
- 4.Iterate on prompts to improve results
- 5.Integrate into regular workflow if valuable
Common Pitfalls
- ⚠Expecting perfect results without iteration
- ⚠Not providing enough context in prompts
- ⚠Using skill for tasks outside its intended scope
- ⚠Accepting outputs without review and validation
Best Practices▌
✓ Do
- +Start with clear, specific prompts
- +Provide relevant context and constraints
- +Review and refine all outputs before using
- +Iterate to improve output quality
- +Document successful prompt patterns
✗ Don't
- −Don't use without understanding skill limitations
- −Don't skip validation of outputs
- −Don't share sensitive information in prompts
- −Don't expect skill to replace human judgment
💡 Pro Tips
- ★Be specific about desired format and style
- ★Ask for multiple options to choose from
- ★Request explanations to understand reasoning
- ★Combine AI efficiency with human expertise
When to Use This▌
✓ Use When
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid When
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
Learning Path▌
- 1Familiarize yourself with skill capabilities and limitations
- 2Start with low-risk, non-critical tasks
- 3Progress to more complex and valuable use cases
- 4Build expertise through regular use and experimentation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.6★★★★★40 reviews- ★★★★★Shikha Mishra· Dec 20, 2024
We added browse-categories from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Nia Verma· Dec 8, 2024
Useful defaults in browse-categories — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Nia Johnson· Dec 8, 2024
Solid pick for teams standardizing on skills: browse-categories is focused, and the summary matches what you get after install.
- ★★★★★Henry Kim· Dec 4, 2024
I recommend browse-categories for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Ishan Shah· Nov 27, 2024
We added browse-categories from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★James Nasser· Nov 27, 2024
browse-categories has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Rahul Santra· Nov 11, 2024
Useful defaults in browse-categories — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Luis Jain· Oct 18, 2024
browse-categories reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Aisha Gill· Oct 18, 2024
browse-categories fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Pratham Ware· Oct 2, 2024
Registry listing for browse-categories matched our evaluation — installs cleanly and behaves as described in the markdown.
showing 1-10 of 40