Mudah.my Scraper | Fast & Reliable | $2 / 1k
Pricing
from $1.79 / 1,000 results
Mudah.my Scraper | Fast & Reliable | $2 / 1k
Extract structured Mudah.my listings with prices, locations, seller data, media from millions of listing across cars, properties, electronics, and more. Built for enterprise-grade marketplace intelligence, pricing analysis, lead generation, and automated data pipelines.
Pricing
from $1.79 / 1,000 results
Rating
0.0
(0)
Developer
Fatih Tahta
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Mudah Malaysia Scraper
Slug: fatihtahta/mudah-malaysia-scraper
Overview
Mudah Malaysia Scraper collects structured listing data from https://www.mudah.my, including listing titles, prices, locations, media, seller details, classification metadata, and category-specific attributes for records such as properties, cars, and phones. Mudah.my is one of Malaysia's major online classifieds marketplaces, which makes it a useful source for marketplace intelligence, pricing analysis, catalog enrichment, and monitoring. The actor turns URLs, searches, and filters into consistent JSON records that are easier to analyze and reuse across systems. It helps teams avoid repetitive manual collection and reduces the time required to keep marketplace datasets current. The result is a more reliable and repeatable workflow for reporting, enrichment, and downstream automation.
Why Use This Actor
- Market researchers and analysts: Track listing volume, pricing, seller activity, and category movement across property, vehicle, electronics, and other marketplace segments.
- Product and content teams: Identify supply trends, validate category demand, and spot content opportunities from real marketplace listings and metadata.
- Developers and data engineers: Feed structured records into ETL jobs, internal databases, dashboards, and APIs without building and maintaining custom collection workflows.
- Lead generation and enrichment teams: Find relevant listings, seller profiles, and contact-related fields that support enrichment, qualification, and outreach review processes.
- Monitoring and competitive tracking teams: Watch changes in pricing, availability, urgent listings, and category activity over time for recurring reporting and alerts.
Input Parameters
Provide any combination of URLs, queries, and filters to control what the actor collects.
| Parameter | Type | Description | Default |
|---|---|---|---|
startUrls | string[] | One or more Mudah.my URLs to collect directly. You can mix search result pages, category pages, and individual listing pages in one run. | ["https://www.mudah.my/malaysia/cars-for-sale/bmw/740le"] |
queries | string[] | One or more free-text search terms to look up on Mudah.my. Use this when you want to search by keyword instead of pasting URLs. | - |
location | string | Optional location applied to every query. Allowed values: kuala-lumpur, johor, kedah, kelantan, labuan, melaka, negeri-sembilan, pahang, penang, perak, perlis, putrajaya, selangor, sabah, sarawak, terengganu. | - |
category | string | Optional category filter for query-based runs. Allowed values: Vehicles - vehicles, cars, number-plates, motorcycles, cars-accessories-and-parts, motorcycle-accessories-and-parts, other-accessories-and-parts, other-vehicles; Properties - properties, apartment-condominium, houses, commercial-properties, land, rooms; Electronics - electronics, mobile-phones-and-gadgets, accessories-for-phones-and-gadgets, tv-audio-video, computers-and-accessories, cameras-and-photography, games-and-consoles; Home and Personal Items - home-and-personal-items, bed-and-bath, home-appliances-and-kitchen, furniture-and-decoration, garden-items, moms-and-kids; Women's Collection - women-collection, women-bags-and-wallets, women-shoes, women-watches-and-fashion-accessories, women-clothes, women-health-and-beauty, women-wedding; Men's Collection - men-collection, men-bags-and-wallets, men-shoes, men-watches-and-fashion-accessories, men-clothes, men-health-and-beauty, men-wedding; Unisex Collection - unisex-collection, unisex-bags-and-wallets, unisex-shoes, unisex-watches-and-fashion-accessories, unisex-clothes, unisex-health-and-beauty, unisex-wedding; Leisure, Hobbies, Sports - leisure-hobbies-sports, textbooks, sports-outdoors, hobby-collectibles, music-movies-books-magazines, tickets-vouchers, music-instruments; Business - business-to-business, professional-business-equipment, business; Jobs and Services - jobs-and-services, jobs, services; Pets - all-pets, pets; Travel - travel, accommodation, tours-and-holidays; Other - everything-else, food, others, items-for-swap. | - |
arrangement_type | string | Arrangement filter for query-based runs. Allowed values: all, for-sale, for-rent. | for-sale |
only_urgent | boolean | When enabled, limits query-based collection to listings marked as urgent. | false |
limit | integer | Maximum number of listings to save per seed. This limit applies separately to each query seed and each start URL seed. Minimum: 10. | 50000 |
proxyConfiguration | object | Optional Apify proxy settings for reliability and stability during collection. | Apify proxy with RESIDENTIAL group |
Example Input
{"startUrls": ["https://www.mudah.my/malaysia/cars-for-sale/bmw/740le"],"queries": ["iphone 15 pro","apartment klcc"],"location": "kuala-lumpur","category": "mobile-phones-and-gadgets","arrangement_type": "for-sale","only_urgent": false,"limit": 500}
Output
6.1 Output destination
The actor writes results to an Apify dataset as JSON records. And the dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.
6.2 Record envelope (all items)
Every dataset item includes a stable top-level record envelope:
- type (string, required): Record category. In the provided examples, the record types are
property,car, andphone. - id (number, required): Stable numeric identifier for the listing.
- url (string, required): Canonical listing URL.
Recommended idempotency key: type + ":" + id
If the same listing is discovered through multiple seeds, use type + ":" + id for deduplication and upserts so downstream systems retain one canonical record per listing.
6.3 Examples
Example: property (type = "property")
{"type": "property","id": 110737618,"url": "https://www.mudah.my/klcc-free-10-year-instalment-grr-8-15-cashback-up-to-rm-300k-110737618.htm","record": {"listing_id": "110737618","title": "KLCC {FREE 10 Year Instalment} {GRR 8-15%} Cashback up to RM 300K !!","record_type": "featured-ads","source_identifiers": {"ad_id": 130315655,"uid": 14133209},"extraction": {"strategy": "embedded_json","page_index": 1},"timestamps": {"created_at": "2026-01-27 12:08:24","updated_at": "2026-03-10 13:06:35","updated_ts": 1773119195,"expires_at": "2026-03-30 12:08:24","raw": {"list_ts": 1773119195}},"flags": {"company_ad": true,"seller_type_id": 6,"branding_adview": false,"branding_listing": false,"highlighted": false,"urgent": false}},"source": {"listing_url": "https://www.mudah.my/klcc-free-10-year-instalment-grr-8-15-cashback-up-to-rm-300k-110737618.htm","discovery_url": "https://www.mudah.my/kuala-lumpur/apartment-condominium-for-sale?sortby=price_desc","seed": {"id": "56511a7e12b1","type": "url","value": "https://www.mudah.my/kuala-lumpur/apartment-condominium-for-sale?sortby=price_desc"},"scraped_time": null,"alternate_urls": []},"classification": {"domain": "property","category": {"id": "2020","name": "Apartment / Condominium"},"listing_type": {"id": "w","name": "newprop"},"title_type": {"id": "2","name": "Leasehold"}},"seller": {"account_type": "proniaga","user": {"id": 15476585,"display_name": "Fennon Yap","private_created_time": {"Time": "0001-01-01T00:00:00Z","Valid": false}},"store": {"id": 1257980,"name": "Fennon Yap","category_id": 2020,"type": "company","verification_status": "unverified","started_at": "2022-06-17 15:26:02","url_path": "fennon-yap-gt-nelson-sdnbhd","company_name": "GT NELSON SDN.BHD"},"agent": {"badge_label": "Property agent","badge_icon": {"url": "https://mcdn.mudah.my/static-assets/images/property/icons/profile/business.svg","name": "BusinessIcon","links": [{"url": "https://mudah.zendesk.com/hc/en-us/articles/32995362853529-Seller-Verification-Company-ID-Checked-and-Agent-ID-Checked"}]},"firm_type": "e","agent_identity": "ren","agent_number": "17172","estate_agent_number": "11307","firm_summary": "Firm: E - 11307, REN 17172"},"contact": {"primary_phone": "0177727577","phone_hidden": false,"chat_enabled": false,"whatsapp": {"user_enabled": true,"store_enabled": true,"primary_phone": "0199786733"}},"contact_ui": {"section_id": "multiplatform_listing_contact_popup","section_type": "multiplatform_listing_contact_popup","title": {"text": "Contact Agent"},"heading": {"text": "Fennon Yap","badge": {"label": "Property agent","icon": {"url": "https://mcdn.mudah.my/static-assets/images/property/icons/profile/business.svg","name": "BusinessIcon","links": [{"url": "https://mudah.zendesk.com/hc/en-us/articles/32995362853529-Seller-Verification-Company-ID-Checked-and-Agent-ID-Checked"}]}}},"subheading": "GT NELSON SDN.BHD","content": "Firm: E - 11307, REN 17172","links": [{"label": "All ads from this advertiser","url": "https://www.mudah.my/fennon-yap-gt-nelson-sdnbhd","deeplink": "mudah://public_profile?url_path=fennon-yap-gt-nelson-sdnbhd"}],"images": [{"id": "profile-image","sources": [{"type": "image","media_field_ref": "media.avatar_url"}]},{"id": "profile-image-contact-block","sources": [{"type": "image","media_field_ref": "media.avatar_url"}]},{"id": "profile-image-sticky-header","sources": [{"type": "image","media_field_ref": "media.avatar_url"}]}],"buttons": [{"type": "wa","text": "WHATSAPP","url": "https://wa.me/60199786733/?text=Hi%2C+I+saw+your+ad+on+Mudah.my+and+I+am+interested+in+the+KLCC+%7BFREE+10+Year+Instalment%7D+++%7BGRR+8-15%25%7D+Cashback+up+to+RM+300K+%21%21.+https%3A%2F%2Fwww.mudah.my%2Fvi%2F110737618.htm","class": {"primary": true},"metadata": {"phones": [{"label": "019****733","url": "https://wa.me/60199786733/?text=Hi%2C+I+saw+your+ad+on+Mudah.my+and+I+am+interested+in+the+KLCC+%7BFREE+10+Year+Instalment%7D+++%7BGRR+8-15%25%7D+Cashback+up+to+RM+300K+%21%21.+https%3A%2F%2Fwww.mudah.my%2Fvi%2F110737618.htm"}]}},{"type": "call","text": "CALL","class": {"primary": false}}],"metadata": {"verified": true,"total_ads": "(4 For Sale)","online": false}}},"pricing": {"amount": 699000,"display_amount": "RM 699,000","previous_amount": 496870,"markdown": {"is_markdown": false}},"location": {"region": {"id": "9","name": "Kuala Lumpur"},"subarea": {"id": "379","name": "KLCC"},"display_label": "KLCC, Kuala Lumpur"},"media": {"primary_image_url": "https://www.mudah.my/29/2925824289999790127.jpg","gallery_image_urls": ["https://www.mudah.my/29/2925824340582112084.jpg","https://www.mudah.my/29/2925824345196108628.jpg","https://www.mudah.my/29/2925824342210879535.jpg","https://www.mudah.my/29/2925824350331445295.jpg","https://www.mudah.my/29/2925824343920909140.jpg","https://www.mudah.my/29/2925824344558508884.jpg","https://www.mudah.my/29/2925824343720894511.jpg","https://www.mudah.my/29/2925824345348349999.jpg","https://www.mudah.my/29/2925824345783376724.jpg"],"avatar_url": "https://cdn.rnudah.com/image_logo/plain/711a0a15a88b329b3c1122ee1fe76fa2-2777405660923010518.jpg","counts": {"image_count": 10,"media_count": 10},"gallery": {"is_present": true,"is_promoted": true,"raw_value": "1","expires_at": "2026-03-26 10:27:36"},"image_blocks": [{"id": "profile-image","source_types": ["image"]},{"id": "profile-image-contact-block","source_types": ["image"]},{"id": "profile-image-sticky-header","source_types": ["image"]}]},"details": {"property": {"building_id": "manual_entry","property_type": {"id": "7","name": "New Duplex"},"rooms": "3","bathrooms": "2","size": {"value": "1150","unit_suffix": "sq.ft."},"specifications": [{"label": "sq.ft","value": "1,150","icon": {"url": "https://mcdn.mudah.my/static-assets/images/property/icons/headers/acres.svg","name": "size"}},{"label": "Bed","value": "3","icon": {"url": "https://mcdn.mudah.my/static-assets/images/property/icons/headers/bed.svg","name": "bed"}},{"label": "Bath","value": "2","icon": {"url": "https://mcdn.mudah.my/static-assets/images/property/icons/headers/bath_v3.svg","name": "bath"}},{"label": "Leasehold","icon": {"url": "https://mcdn.mudah.my/static-assets/images/property/icons/headers/free-hold.svg","name": "leasehold"}}],"mobile_specifications": {"right_list": [{"value": "1.2K sq.ft","icon": {"url": "https://mcdn.mudah.my/static-assets/images/property/icons/headers/acres-v4_1.svg","name": "size"}}],"left_list": [{"value": "3","icon": {"url": "https://mcdn.mudah.my/static-assets/images/property/icons/headers/bed-v4_1.svg","name": "bed"}},{"value": "2","icon": {"url": "https://mcdn.mudah.my/static-assets/images/property/icons/headers/bath-v4_1.svg","name": "bath"}}]}},"raw": {"listId": 110737618,"modifiedAt": "2026-03-10 13:06:35","origListTime": "2026-01-27 12:08:24"}}}
Example: car (type = "car")
{"type": "car","id": 112178834,"url": "https://www.mudah.my/2022-bmw-740le-xdrive-3-0-m-sport-g12-facelift-2-0-112178834.htm","record": {"listing_id": "112178834","title": "2022 Bmw 740Le XDrive 3.0 M-Sport G12 Facelift 2.0","description": "HI I'M JEFF HAR FROM EVERCAR VL AUTOMOTIVE ATTENTION : BMW 740LE X-Drive G12 Fully Convert New Facelift Local Petrol Hybrid 3.0 M Sport , FullServiceRecord-34k , One Very Careful Owner ONLY RON97, INTERIOR LIKE NEW CAR. THIS CAR VERY LOW MILEAGE , LIKE NEW CAR ORIGINAL CONDITION , 100% GUARANTEE LIKE NEW CAR , WORTH TO BUY !! TIPS : THIS CAR IS TIP TOP CONDITION ORIGINAL PAINT UNTIL NOW AND 100% GENUINE LOW MILEAGE !! FIRST COME FIRST SERVE ๐งก๐งกCustomer Satisfaction is our top Priority๐๐ *AFTER SALES SERVICE IS OUR PRIORITY BECAUSE IT IS IMPORTANT TO YOU* ** TRUST ME WORTH TO BUY ** ** FRIST COME FIRST SERVICE ** ** CAR KING !!! CAR KING !!! ** *** OUR PLEASURE TO SERVE YOU BETTER !!! *** *** KINDLY CONTACT US FOR BEST DEAL !!! *** *** THANKS FOR YOUR SUPPORT !!! *** ***DO NOT HESITATE PLS CONTACT OUR SALES TEAM*** โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 ***CAR IN TODAY NEW ARRIVED*** ***BIG CARNIVAL SALE PROMOTION*** ***STOCK CLEANRANCE*** ******FREE TINTED****** (Term and Condition Apply ******FREE PETROL****** (Term and Condition Apply) ******FREE GIFT****** (Term and Condition Apply) ** FASTER GRAB THE CHANCE TO BUY YOUR DREAM CAR !!! ######################################### ------ ATTRACTION ------- -- M-Sport Line Package -- M-Sport Brake Caliper -- Full M-Performance Bodykit -- Interior Ambient Light -- Intelligent Driving Assistant System including Lane Departure Warning -- City Collision Warning & Pedestrian Collision Warning -- Park Distance Control (PDC) -- Electric Adjustable Sport Seats for Driver -- Reverse Camera With Sensors and Parking Assistant -- Digital Sport Meter -- Sport Display -- Sport Mode / Comfort Mode / Eco Pro Mode -- Optional Dynamic Chassis Control (DCC) -- Wireless Apple Car Play & Android Auto (Additional Added By Previos Owner) -- Front Dual-zone Automatic Climate Control System -- Rear Single-zone Automatic Climate Control System -- BMW Navigation System Professional with 10.25\" Touchscreen -- iDrive Touch Controller and 10-speaker 205W BMW HiFi Sound System -- Keyless Entry -- Push Start (Diamond Button) -- Paddle Shift -- Automatic Headlight Activation | Adaptive Headlights | Dynamic Cornering Lights | - -- Crash Safety Ratings EuroNCAP (Tested with AEB) 5 Star โญโญโญโญโญ -- Headlamps LED Projectors -- Taillamps LED Combination -- Front Suspension - Double Wishbones -- M Sport Suspension - 10mm Lower -- 4 Disc Brake (Ventilated Disc) -- 19'' Sport Rim -- M-Sport Brake Kit --Parktronic Parking Sensor --Electric Power Steering, --Electronic stabilization program (ESP). --Electronic differential lock (EDL), Traction control system (TCS). --Excellent Showroom Condition, --100% Accident Free, --100% Tip Top Original Condition --Arrangement High Loan Available --Monthly Instalment Up To 9 Years Low interest rate Non Smoker Driver, Pets Free Car, No Repair Needed, As Good As New, 1 Careful Owner, Cd,Mp3,Bluetooth Player, Low Mileage, Lowest Price, Easy To Get Loan Approval Because We Are Platinum Dealer In All Bank ########################################### SPECIFICATION ------------- B58 3.0 V6 16-valve DOHC direct injection with twin-scroll turbocharger, variable valve timing 8 Speed Automatic with Steptronic 282 hp at 5,000 rpm 450 Nm at 1,550 rpm 0-100 Kmh - 5.1 Seconds Hybrid Motor : 113 hp Top Speed 250km/h 0-100 km/h : 5.1 seconds 18-inch Alloys with 225/40 Tyres 9-speaker Audio 20 System with a 14.7 Cm TFT Colour Display & Reverse Camera Collision Prevention Assist and Adaptive Brake Assist As well as Attention Assist ########################################### ๐ฒ๐ฒ๐ฒHIGH TRADE IN VALUE๐ฒ๐ฒ๐ฒ **NEGO UNTIL LET IT GO๐ ## WE POST ARE BANK VALUE ## ########################################### COMPANY DESCRIPTION ------------------- We All Are Sincerely At Your Service We Check , We Services , We Test , Before We Sell Your Trusted Car Dealer In Town. We Also Provide Jpj Runner, Renew Insurance & RoadTax Address : LOT 10 & 12โโLOT 12 & 10โโLOT 10 & 12โโ Jalan 6/125D, Taman Desa Petaling 57100 Whatsapp Now Location : Taman Desa Petaling (Kg Malaysia Tambahan) Landmark : Near TBS (Terminal Bas Station) Near Pusat Sukan Desa Petaling Near Plaza Salak Park U Can WAZE & GOOGLE MAP ''EVERCAR AUTOMOTIVE'' Used Car Dealer : 0 16 - 9 6 7 8 8 5 9 ########################################### BUSINESS HOUR : 9.00 AM - 7.00 PM (MONDAY TO SATURDAY) 10.30 AM - 6.00 PM (SUNDAY & PUBLIC HOLIDAY) ########################################### LOAN DOCUMENT ------------- Private 1. My Card & Driving License 2. Latest 3months Payslip 3. EPF(KWSP) 4. Bank Book Or Bank Statement 5. Income Tax With LHDN Company 1. Director Ic & License 2. Form24, 49, Borang 9, M&A 3. 6 Months Bank Statement ########################################### P/S : THIS CAR IS SUPER LOW MILEAGE AND TIP TOP CONDITION ( CAR KING ) PLS VIEW TO BELIEVE !!! FIRST COME FIRST SERVE !!! ########################################### P/S : THIS CAR IS \"CAR KING\", REALLY WORTH TO BUY, MOST POPULAR IN MARKET, SELLING FAST !! VIEW TO BELIEVE IT !! JUST BUY IT AND USE !!! FIRST COME FIRST SERVE !!! HURRAY UP !!! Please Make Your Smarter Choice Please Call Our Sales Team (PLEASE GIVE US A CHANCE) โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 โ JEFF HAR : 016-9678859 *** Car Colour : 100% ORIGINAL FACTORY GLOSSY BLACK *** We Check , We Services , We Test , Before We Sell, We're Sincerely At Your Service..Thanks","record_type": "ad","source_identifiers": {"ad_id": 131916474,"bundle_id": "43"},"extraction": {"strategy": "embedded_json","page_index": 1,"indexed_at": "2026-03-22T00:34:20+08:00"},"timestamps": {"created_at": "2026-02-14 11:06:01","updated_at": "2026-03-16 16:07:04","updated_ts": 1773648424,"expires_at": "2026-04-17 11:06:01","raw": {"list_ts": 1773648424}},"flags": {"company_ad": true,"seller_type_id": 5,"image_count_emphasized": true}},"source": {"listing_url": "https://www.mudah.my/2022-bmw-740le-xdrive-3-0-m-sport-g12-facelift-2-0-112178834.htm","discovery_url": "https://www.mudah.my/malaysia/cars-for-sale/bmw/740le","seed": {"id": "2852e3182fdd","type": "url","value": "https://www.mudah.my/malaysia/cars-for-sale/bmw/740le"},"scraped_time": null,"alternate_urls": []},"classification": {"domain": "vehicle","category": {"id": "1020","name": "Cars"},"transaction_type": {"id": "s","name": "sell"},"condition": {"id": "1","name": "Used"}},"seller": {"user": {"id": 15785586},"store": {"id": 1306299,"verification_status": "verified"}},"pricing": {"amount": 169800,"display_amount": "RM 169,800","previous_amount": 223800,"previous_display_amount": "RM 223,800","markdown": {"is_markdown": true,"percentage": 24,"percentage_label": "24%"},"financing": {"eligible": true,"tenure_years": 8},"monthly_payment": {"amount": 1974,"display_amount": "RM 1,974/Month","payment_type": "monthly","down_payment_percentage": 10,"interest_rate": 3,"tenure_years": 8,"tenure_label": "(8 years loan)"}},"location": {"region": {"id": "9","name": "Kuala Lumpur"},"subarea": {"id": "368","name": "Desa Petaling"},"display_label": "Kuala Lumpur - Desa Petaling","raw_location": "Kuala Lumpur - Desa Petaling"},"media": {"primary_image_url": "https://www.mudah.my/29/2973663557339231040.jpg","gallery_image_urls": ["https://www.mudah.my/29/2973663558927326764.jpg","https://www.mudah.my/29/2973663556936499717.jpg","https://www.mudah.my/29/2973663558211711808.jpg","https://www.mudah.my/29/2973663557403317099.jpg","https://www.mudah.my/29/2973663558309352299.jpg","https://www.mudah.my/29/2943808050989350398.jpg","https://www.mudah.my/29/2943808001986772336.jpg","https://www.mudah.my/29/2943808008992399228.jpg","https://www.mudah.my/29/2943808090875346288.jpg","https://www.mudah.my/29/2943807978413866352.jpg","https://www.mudah.my/29/2943807997641276784.jpg","https://www.mudah.my/29/2943808000241876336.jpg","https://www.mudah.my/29/2943808002023366120.jpg","https://www.mudah.my/29/2943808090049513676.jpg","https://www.mudah.my/29/2943807980841385470.jpg","https://www.mudah.my/29/2943808128927448432.jpg","https://www.mudah.my/29/2943807985354522110.jpg","https://www.mudah.my/29/2943808040889335294.jpg","https://www.mudah.my/29/2943808044563611134.jpg","https://www.mudah.my/29/2943807995106461900.jpg"],"counts": {"image_count": 21,"media_count": 21}},"details": {"vehicle": {"make": {"id": "3","name": "BMW"},"model": {"id": "5225","name": "740Le"},"body_style": {"id": "7","name": "Sedan"},"manufactured_year": "2022","year_verification": {"verified": true,"highlight_color": "#DDEFFD"},"transmission": "Auto","engine_capacity_cc": "2998","fuel_type": "petrol","mileage_range": {"gte": "30000","lte": "34999"},"highlights": [{"icon": "https://mcdn.mudah.my/static-assets/images/automotive/icons/icon-listing-cars-manufactured-year-v1.svg","label": "2022"},{"icon": "https://mcdn.mudah.my/static-assets/images/automotive/icons/icon-listing-cars-transmission-v1.svg","label": "Auto"},{"icon": "https://mcdn.mudah.my/static-assets/images/automotive/icons/icon-listing-cars-mileage-v1.svg","label": "30k-35k"},{"icon": "https://mcdn.mudah.my/static-assets/images/automotive/icons/icon-listing-cars-condition-v1.svg","label": "Used"}],"badges": {"seller": [{"text": "Verified Dealer","text_colour": "#1976D2","icon": "https://mcdn.mudah.my/static-assets/images/automotive/icons/icon-listing-cars-verified-dealer-v1.svg","background_colour": "#DDEFFD"}],"ad": [{"text": "Mfg Year Verified","text_colour": "#FFFFFF","background_colour": "#2196F3"}]}},"raw": {"listId": 112178834,"origListTime": "2026-02-14 11:06:01","modifiedAt": "2026-03-16 16:07:04"}}}
Example: phone (type = "phone")
{"type": "phone","id": 114292556,"url": "https://www.mudah.my/samsung-galaxy-watch-8-classic-46mm-gps-silver-114292556.htm","record": {"listing_id": "114292556","title": "Samsung Galaxy Watch 8 Classic 46mm GPS Silver","description": "Product Code - (C0111) Model: Samsung Galaxy Watch 8 Classic Size: 46mm Connectivity: GPS Strap Type: Black Hybrid Strap Colour: Silver Condition: 9.9/10 Set: Malaysia Warranty: 9th July 2026 Price: RM899 What You'll Get 1x Watch 1x Original Box 1x Original Watch Charger ๐ฒ Trade-in available (All Type of Mobile Gadgets) ๐ฌ Meet up in store SWJ Cellular, Klang (By Appointment) ๐ COD Klang Valley, Lalamove/GrabExpress, Postage ๐ธ Accept Cash, Online Transfer, Debit/Credit Card, E-Wallet (TNG, AliPay, Boost, ShopBack) ๐ณ BNPL (Up to 24 Months): SPayLater, GrabPayLater, Atome, BoostPayFlex, RYT PayLater ๐ต IPP (Up to 24 Months): AmBank, Affin Bank, Alliance Bank, HSBC, RHB, UOB, OCBC, CIMB, Maybank, Public Bank Why buy from us? โ 36-Point Quality Check โ Every device is thoroughly inspected for top performance. โ Warranty Included โ Buy with confidence, knowing you're covered. โ Easy Installment Plans โ Affordable monthly payments available. โ Best Value for Money โ Get premium devices at unbeatable prices. โ Genuine & Trusted Seller โ 100% original device, no hidden issues. โ After-Sales Support โ We're here to help even after your purchase. ๐๐Join the SWJ Loyalty+ Membership๐๐ Get loyalty points with every purchase that can be redeemed for the next purchase as discount, free delivery, free gifts etc and enjoy other privileges! For more info, visit our social media page or pm us!","record_type": "ad","source_identifiers": {"ad_id": 134259954},"extraction": {"strategy": "embedded_json","page_index": 1,"indexed_at": "2026-03-22T21:00:24+08:00"},"timestamps": {"created_at": "2026-03-22 20:50:01","updated_at": "2026-03-22 20:50:01","updated_ts": 1774183801,"expires_at": "2026-05-23 20:46:44","raw": {"list_ts": 1774183801}},"flags": {"company_ad": true,"seller_type_id": 5}},"source": {"listing_url": "https://www.mudah.my/samsung-galaxy-watch-8-classic-46mm-gps-silver-114292556.htm","discovery_url": "https://www.mudah.my/malaysia/mobile-phones-and-gadgets-for-sale","seed": {"id": "df14fc969bd9","type": "url","value": "https://www.mudah.my/malaysia/mobile-phones-and-gadgets-for-sale"},"scraped_time": null,"alternate_urls": []},"classification": {"domain": "phone","category": {"id": "3020","name": "Mobile Phones & Gadgets"},"transaction_type": {"id": "s","name": "sell"},"condition": {"id": "1","name": "Second-hand (Used)"}},"seller": {"user": {"id": 2992059},"store": {"id": 530866,"verification_status": "unverified"}},"pricing": {"amount": 899,"display_amount": "RM 899"},"location": {"region": {"id": "8","name": "Selangor"},"subarea": {"id": "602","name": "Bandar Bukit Tinggi"}},"media": {"primary_image_url": "https://www.mudah.my/29/2976585070046420261.jpg","gallery_image_urls": ["https://www.mudah.my/29/2976585070843355950.jpg","https://www.mudah.my/29/2976585070361546158.jpg","https://www.mudah.my/29/2976585071284358574.jpg","https://www.mudah.my/29/2976585070784683301.jpg","https://www.mudah.my/29/2976585071690718501.jpg"],"counts": {"image_count": 6,"media_count": 6}},"details": {"phone": {"brand": {"id": "2","name": "Samsung"},"warranty": {"id": "3","name": "6 Months"},"category_level_one": {"id": "10","name": "Wearables"}},"raw": {"phoneWarrantyProviderId": "2","modifiedAt": "2026-03-22 20:50:01","listId": 114292556,"phoneWarrantyProviderName": "Manufacturer"}}}
Field reference
Common fields (all record types)
- type (string, required): Record category.
- id (number, required): Stable listing identifier.
- url (string, required): Canonical listing URL.
- record.listing_id (string, required): Listing identifier as provided in the source record.
- record.title (string, required): Listing title.
- record.description (string, optional): Listing description text.
- record.record_type (string, optional): Source listing classification such as ad or featured ad.
- record.source_identifiers.ad_id (number, optional): Source advertisement identifier.
- record.source_identifiers.uid (number, optional): Additional source identifier when available.
- record.source_identifiers.bundle_id (string, optional): Bundle identifier when available.
- record.extraction.strategy (string, optional): Extraction strategy label.
- record.extraction.page_index (number, optional): Source page index where the listing was found.
- record.extraction.indexed_at (string, optional): Timestamp for indexed records when available.
- record.timestamps.created_at (string, optional): Listing creation timestamp.
- record.timestamps.updated_at (string, optional): Listing update timestamp.
- record.timestamps.updated_ts (number, optional): Unix update timestamp.
- record.timestamps.expires_at (string, optional): Listing expiration timestamp.
- record.flags.company_ad (boolean, optional): Indicates whether the listing was posted as a company ad.
- record.flags.seller_type_id (number, optional): Seller type identifier when available.
- record.flags.highlighted (boolean, optional): Indicates whether the listing is highlighted.
- record.flags.urgent (boolean, optional): Indicates whether the listing is marked urgent.
- source.listing_url (string, required): Listing page URL.
- source.discovery_url (string, optional): URL where the listing was discovered.
- source.seed.id (string, optional): Internal seed identifier for the input source.
- source.seed.type (string, optional): Seed type, such as
url. - source.seed.value (string, optional): Original seed value.
- source.scraped_time (string, optional): Recorded scrape time when available.
- source.alternate_urls (array[string], optional): Additional URLs associated with the listing.
- classification.domain (string, optional): Marketplace domain such as property, vehicle, or phone.
- classification.category.id (string, optional): Category identifier.
- classification.category.name (string, optional): Category name.
- classification.transaction_type.id (string, optional): Transaction type identifier.
- classification.transaction_type.name (string, optional): Transaction type label.
- classification.condition.id (string, optional): Condition identifier.
- classification.condition.name (string, optional): Condition label.
- classification.listing_type.id (string, optional): Listing subtype identifier.
- classification.listing_type.name (string, optional): Listing subtype label.
- classification.title_type.id (string, optional): Title type identifier when available.
- classification.title_type.name (string, optional): Title type label when available.
- seller.user.id (number, optional): Seller user identifier.
- seller.user.display_name (string, optional): Seller display name.
- seller.store.id (number, optional): Store identifier.
- seller.store.name (string, optional): Store name.
- seller.store.type (string, optional): Store or account type.
- seller.store.verification_status (string, optional): Verification status.
- seller.store.company_name (string, optional): Company name for business sellers.
- seller.contact.primary_phone (string, optional): Primary phone number when available.
- seller.contact.phone_hidden (boolean, optional): Indicates whether the phone number is hidden.
- seller.contact.chat_enabled (boolean, optional): Indicates whether chat is available.
- seller.contact.whatsapp.primary_phone (string, optional): WhatsApp phone number when available.
- pricing.amount (number, optional): Current numeric price.
- pricing.display_amount (string, optional): Display-formatted price.
- pricing.previous_amount (number, optional): Previous numeric price when a markdown exists.
- pricing.previous_display_amount (string, optional): Previous display-formatted price.
- pricing.markdown.is_markdown (boolean, optional): Indicates whether the listing is marked down.
- pricing.markdown.percentage (number, optional): Markdown percentage.
- pricing.markdown.percentage_label (string, optional): Display label for markdown percentage.
- pricing.financing.eligible (boolean, optional): Indicates whether financing data is available.
- pricing.financing.tenure_years (number, optional): Financing tenure in years.
- pricing.monthly_payment.amount (number, optional): Monthly payment amount.
- pricing.monthly_payment.display_amount (string, optional): Display-formatted monthly payment.
- pricing.monthly_payment.payment_type (string, optional): Payment frequency label.
- pricing.monthly_payment.down_payment_percentage (number, optional): Down payment percentage.
- pricing.monthly_payment.interest_rate (number, optional): Interest rate value.
- pricing.monthly_payment.tenure_years (number, optional): Monthly payment tenure in years.
- pricing.monthly_payment.tenure_label (string, optional): Display label for payment tenure.
- location.region.id (string, optional): Region identifier.
- location.region.name (string, optional): Region name.
- location.subarea.id (string, optional): Subarea identifier.
- location.subarea.name (string, optional): Subarea name.
- location.display_label (string, optional): Display-formatted location.
- location.raw_location (string, optional): Original location text when available.
- media.primary_image_url (string, optional): Primary image URL.
- media.gallery_image_urls (array[string], optional): Gallery image URLs.
- media.avatar_url (string, optional): Seller or store avatar image URL.
- media.counts.image_count (number, optional): Number of images.
- media.counts.media_count (number, optional): Total media count.
Property fields (type = "property")
- seller.account_type (string, optional): Seller account classification.
- seller.agent.badge_label (string, optional): Agent badge label.
- seller.agent.firm_type (string, optional): Firm type code.
- seller.agent.agent_identity (string, optional): Agent identity type.
- seller.agent.agent_number (string, optional): Agent registration number.
- seller.agent.estate_agent_number (string, optional): Estate agent firm number.
- seller.agent.firm_summary (string, optional): Agent and firm summary text.
- seller.contact_ui.section_id (string, optional): Contact section identifier.
- seller.contact_ui.section_type (string, optional): Contact section type.
- seller.contact_ui.title.text (string, optional): Contact panel title.
- seller.contact_ui.heading.text (string, optional): Contact panel heading.
- seller.contact_ui.subheading (string, optional): Contact panel subheading.
- seller.contact_ui.content (string, optional): Contact panel summary text.
- seller.contact_ui.metadata.verified (boolean, optional): Verified seller indicator in contact UI data.
- seller.contact_ui.metadata.total_ads (string, optional): Total ads label in contact UI data.
- details.property.building_id (string, optional): Building identifier or label.
- details.property.property_type.id (string, optional): Property type identifier.
- details.property.property_type.name (string, optional): Property type name.
- details.property.rooms (string, optional): Room count.
- details.property.bathrooms (string, optional): Bathroom count.
- details.property.size.value (string, optional): Property size value.
- details.property.size.unit_suffix (string, optional): Size unit label.
- details.property.specifications (array[object], optional): Property specification items.
- details.property.mobile_specifications.left_list (array[object], optional): Left-side mobile specification list.
- details.property.mobile_specifications.right_list (array[object], optional): Right-side mobile specification list.
- details.raw.listId (number, optional): Raw listing identifier.
- details.raw.modifiedAt (string, optional): Raw modified timestamp.
- details.raw.origListTime (string, optional): Raw original listing timestamp.
Car fields (type = "car")
- details.vehicle.make.id (string, optional): Vehicle make identifier.
- details.vehicle.make.name (string, optional): Vehicle make name.
- details.vehicle.model.id (string, optional): Vehicle model identifier.
- details.vehicle.model.name (string, optional): Vehicle model name.
- details.vehicle.body_style.id (string, optional): Body style identifier.
- details.vehicle.body_style.name (string, optional): Body style name.
- details.vehicle.manufactured_year (string, optional): Manufactured year.
- details.vehicle.year_verification.verified (boolean, optional): Indicates whether the year is verified.
- details.vehicle.year_verification.highlight_color (string, optional): Display color for the year verification badge.
- details.vehicle.transmission (string, optional): Transmission type.
- details.vehicle.engine_capacity_cc (string, optional): Engine capacity in cubic centimeters.
- details.vehicle.fuel_type (string, optional): Fuel type.
- details.vehicle.mileage_range.gte (string, optional): Lower bound of mileage range.
- details.vehicle.mileage_range.lte (string, optional): Upper bound of mileage range.
- details.vehicle.highlights (array[object], optional): Vehicle highlight items.
- details.vehicle.badges.seller (array[object], optional): Seller badge objects.
- details.vehicle.badges.ad (array[object], optional): Listing badge objects.
- details.raw.listId (number, optional): Raw listing identifier.
- details.raw.origListTime (string, optional): Raw original listing timestamp.
- details.raw.modifiedAt (string, optional): Raw modified timestamp.
Phone fields (type = "phone")
- details.phone.brand.id (string, optional): Brand identifier.
- details.phone.brand.name (string, optional): Brand name.
- details.phone.warranty.id (string, optional): Warranty identifier.
- details.phone.warranty.name (string, optional): Warranty label.
- details.phone.category_level_one.id (string, optional): Top-level phone category identifier.
- details.phone.category_level_one.name (string, optional): Top-level phone category name.
- details.raw.phoneWarrantyProviderId (string, optional): Warranty provider identifier.
- details.raw.phoneWarrantyProviderName (string, optional): Warranty provider name.
- details.raw.listId (number, optional): Raw listing identifier.
- details.raw.modifiedAt (string, optional): Raw modified timestamp.
Data guarantees & handling
- Best-effort extraction: fields may vary by region, session, availability, and UI experiments.
- Optional fields: null-check in downstream code.
- Deduplication: recommend
type + ":" + id.
How to Run on Apify
- Open the Actor in Apify Console.
- Configure your search parameters, such as start URLs, keywords, category, and location.
- Set the maximum number of outputs to collect.
- Click Start and wait for the run to finish.
- Download results in JSON, CSV, Excel, or other supported formats.
Scheduling & Automation
Scheduling
Automated Data Collection
You can schedule recurring runs to keep your dataset fresh without starting each run manually. This is useful for regular monitoring, reporting, and downstream sync jobs.
- Navigate to Schedules in Apify Console
- Create a new schedule (daily, weekly, or custom cron)
- Configure input parameters
- Enable notifications for run completion
- Optional: add webhooks for automated processing
Integration Options
- Webhooks: Trigger downstream actions when a run completes
- Zapier: Connect to 5,000+ apps without coding
- Make (Integromat): Build multi-step automation workflows
- Google Sheets: Export results to a spreadsheet
- Slack/Discord: Receive notifications and summaries
- Email: Send automated reports via email
Performance
Estimated run times:
- Small runs (< 1,000 outputs): ~2-3 minutes
- Medium runs (1,000-5,000 outputs): ~5-15 minutes
- Large runs (5,000+ outputs): ~15-30 minutes
Execution time varies based on filters, result volume, and how much information is returned per record.
Compliance & Ethics
Responsible Data Collection
This actor collects publicly available classified listing and seller information from https://www.mudah.my for legitimate business purposes. Common use cases include marketplace research, pricing analysis, catalog enrichment, lead qualification, and competitive monitoring across categories such as property, vehicles, and consumer electronics. Users are responsible for ensuring their collection and use of data complies with applicable laws, regulations, and site terms. This section is informational and not legal advice.
- Marketplace and classifieds research and market analysis
- Catalog enrichment and pricing intelligence
- Lead qualification and competitive monitoring
Best Practices
- Use collected data in accordance with applicable laws, regulations, and the target site's terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable, including GDPR and CCPA
Support
For help, use the Issues tab or the actor page in Apify Console. Include the redacted input you used, the run ID, a short note on expected versus actual behavior, and, if helpful, a small sample of the output that shows the issue.