Discover/Mudah API
live

Mudah APImudah.my

Search and retrieve used car and motorcycle listings from Mudah.my. Filter by make, price range, and region. Returns price, mileage, specs, seller info, and images.

Endpoint health
verified 5d ago
search_cars
get_listing_details
search_motorcycles
3/3 passing latest checkself-healing
Endpoints
3
Updated
21d ago

What is the Mudah API?

The Mudah.my API provides access to used vehicle listings from Malaysia's largest online marketplace across 3 endpoints. Use search_cars to filter by brand and price range, search_motorcycles to browse two-wheeler listings, and get_listing_details to retrieve full listing data including seller contact, all attributes, and image URLs for any specific ad.

Try it
Page number for pagination.
Brand ID to filter by (e.g., '10' for Honda, '25' for Perodua, '3' for BMW, '28' for Toyota).
Price range filter in MYR, formatted as 'min-max' (e.g., '20000-50000') or 'min-' for open-ended (e.g., '50000-').
api.parse.bot/scraper/9512b984-45da-4cff-b5d1-bc813aff6aa7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/9512b984-45da-4cff-b5d1-bc813aff6aa7/search_cars?page=1&make_id=10&price_range=20000-80000' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace mudah-my-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Mudah.my Vehicle API — search cars, motorcycles, and drill into details."""
from parse_apis.mudah_my_vehicle_scraper_api import Mudah, ListingNotFound

client = Mudah()

# Search for Honda cars (make_id='10') with a budget cap, print top results.
for car in client.carlistings.search(make_id="10", price_range="20000-80000", limit=5):
    print(car.title, car.price, car.condition, car.region)

# Drill into the first car listing's full details via sub-resource.
car = client.carlistings.search(make_id="3", limit=1).first()
if car:
    detail = car.details.get()
    print(detail.title, detail.price, detail.seller.name, len(detail.images))

# Search motorcycles above RM 25,000.
for moto in client.motorcyclelistings.search(price_min=25000, limit=3):
    print(moto.title, moto.price, moto.year, moto.region)

# Typed error handling: catch a removed listing gracefully.
try:
    removed_car = client.carlistings.search(limit=1).first()
    if removed_car:
        removed_car.details.get()
except ListingNotFound as exc:
    print(f"Listing gone: {exc.url}")

print("exercised: carlistings.search / car.details.get / motorcyclelistings.search")
All endpoints · 3 totalmissing one? ·

Search car listings on Mudah.my with optional brand and price filters. Returns up to 24 listings per page sorted by most recent. Pagination via integer page number. Each listing includes make, model, year, mileage range, condition, transmission, and a direct URL suitable for get_listing_details.

Input
ParamTypeDescription
pageintegerPage number for pagination.
make_idstringBrand ID to filter by (e.g., '10' for Honda, '25' for Perodua, '3' for BMW, '28' for Toyota).
price_rangestringPrice range filter in MYR, formatted as 'min-max' (e.g., '20000-50000') or 'min-' for open-ended (e.g., '50000-').
Response
{
  "type": "object",
  "fields": {
    "meta": "object with total-results count, total-showing per page, and took (search time in ms)",
    "listings": "array of car listing objects with id, title, price, make, model, year, mileage, condition, engine_capacity, transmission, fuel_type, region, location, date, url, image"
  },
  "sample": {
    "data": {
      "meta": {
        "took": 19,
        "total-results": 85548,
        "total-showing": 24
      },
      "listings": [
        {
          "id": 114933347,
          "url": "https://www.mudah.my/2023-bmw-530e-2-0-m-sport-lci-a-reg-july-2023-114933347.htm",
          "date": "2026-06-11 15:58:39",
          "make": "BMW",
          "year": "2023",
          "ad_id": 134980171,
          "image": "https://img.rnudah.com/images/29/2987431052962502365.jpg",
          "model": "530e",
          "price": 192800,
          "title": "2023 Bmw 530e 2.0 M SPORT LCI (A) -  REG JULY 2023",
          "region": "Kedah",
          "list_id": 114933347,
          "mileage": "35000-39999",
          "location": "Kedah - Alor Setar",
          "condition": "Used",
          "fuel_type": "petrol",
          "price_label": "RM 192,800",
          "transmission": "Auto",
          "engine_capacity": "1998"
        }
      ]
    },
    "status": "success"
  }
}

About the Mudah API

Searching Cars and Motorcycles

search_cars returns up to 24 listings per page sorted by most recent, with optional filters for make_id (e.g. '10' for Honda, '25' for Perodua, '28' for Toyota) and price_range formatted as 'min-max' in MYR (e.g. '20000-50000') or open-ended with '50000-'. Each result includes structured fields: make, model, year, mileage, condition, engine_capacity, transmission, fuel_type, price, and a direct listing url. The meta object returns total-results, total-showing, and search latency in milliseconds. search_motorcycles follows the same pagination pattern with an optional price_min integer filter, though motorcycle listings carry fewer structured attributes — make and model are often null — with most detail available in the free-text title.

Listing Detail Retrieval

get_listing_details takes a full listing URL from either search endpoint and returns the complete record for that ad. Response fields include id, title, price, description (HTML stripped), images (array of URLs), region, subarea, seller (name and phone), and an attributes object containing all raw key-value pairs from the listing page. This is the only endpoint that exposes seller contact details and the full ad description text.

Pagination and Coverage

All three endpoints paginate via an integer page parameter. Results are ordered by recency. The API covers listings across Malaysian regions and subareas as exposed on Mudah.my, restricted to the vehicles category — cars and motorcycles only.

Reliability & maintenanceVerified

The Mudah API is a managed, monitored endpoint for mudah.my — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mudah.my changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official mudah.my API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track price trends for specific car makes using make_id and price_range filters across paginated search results.
  • Build a used car aggregator for the Malaysian market using search_cars structured fields like transmission, fuel_type, and engine_capacity.
  • Alert users when new motorcycle listings appear below a target price using the price_min filter on search_motorcycles.
  • Extract seller phone numbers from get_listing_details to build lead lists for vehicle inspection or financing services.
  • Compare mileage and condition across listings for a given model by combining search_cars filters with get_listing_details attribute data.
  • Display regional inventory distribution by parsing the region and subarea fields returned by get_listing_details.
  • Monitor listing freshness and availability by storing id values from search results and detecting when URLs return changed data.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Mudah.my have an official developer API?+
Mudah.my does not publish a public developer API or documentation for third-party access to its listing data.
What does `get_listing_details` return that the search endpoints don't?+
get_listing_details returns the full ad description text, all raw attributes key-value pairs from the listing page, an images array, subarea, and the seller object containing name and phone number. Search results include core structured fields like make, model, year, mileage, and price, but omit seller contact details and the complete attribute set.
Are there limitations on how motorcycle listings are structured?+
Yes. Motorcycle listings on Mudah.my have fewer standardized fields than car listings. The make and model fields are frequently null in search_motorcycles results. The most reliable structured fields for motorcycles are title, price, year, condition, region, and url. Full attribute detail is available via get_listing_details.
Can I filter car searches by model, transmission type, or fuel type?+
Currently the search_cars endpoint filters by make_id and price_range only. Transmission, fuel type, engine capacity, and model are returned as response fields but cannot be used as query filters. You can fork this API on Parse and revise it to add those filter parameters.
Does the API cover non-vehicle categories on Mudah.my, such as property or electronics listings?+
Not currently. The API covers cars via search_cars and motorcycles via search_motorcycles only. Mudah.my lists many other categories including property, electronics, and jobs, but those are not exposed by the current endpoints. You can fork this API on Parse and revise it to add endpoints for other listing categories.
Page content last updated . Spec covers 3 endpoints from mudah.my.
Related APIs in AutomotiveSee all →
carousell.com.my API
Search for used car listings on Carousell Malaysia and retrieve detailed information including pricing, mileage, vehicle specifications, condition, and seller details. Browse available inventory or look up comprehensive information on specific listings.
sgcarmart.com API
Search and compare used cars on Singapore's market with detailed pricing, specifications, and deregistration values. Get comprehensive information on vehicle models, features, and market statistics to make informed buying decisions.
carsales.com API
Search for cars on Carsales and retrieve detailed listings with technical specifications, makes, and models. Filter and browse available vehicles by make to find exactly what you're looking for.
cars.com API
Search for vehicles on Cars.com using filters like price, make, and model, then get detailed specifications and dealer inventory information for any listing you're interested in. Access comprehensive vehicle details including pricing, features, and dealer contact information all in one place.
riyasewana.com API
Browse vehicle listings from Sri Lanka's largest marketplace, search by category and filters, and access detailed information about specific cars, bikes, and other vehicles. Get comprehensive vehicle data including listings organized by category to find exactly what you're looking for.
autos.mercadolibre.com.ar API
Search for used and new cars on MercadoLibre Argentina and instantly retrieve detailed listings with brand, model, year, mileage, price, location, seller information, and photos. Build car comparison tools, price tracking apps, or market analysis dashboards with comprehensive vehicle data from Argentina's largest online marketplace.
autotrader.co.za API
Search and access comprehensive vehicle listings from South Africa's AutoTrader with pricing, specifications, location details, and seller information. Get everything you need to compare cars and make informed purchasing decisions, though direct seller phone numbers aren't available due to security protections.
carsforsale.com API
Search vehicle listings and browse detailed car inventory by make, model, and trim to find the perfect vehicle on CarsForSale.com. Access comprehensive listing details including pricing, specifications, and availability all in one place.