Carsome API

Get Carsome's certified used cars in Malaysia, Indonesia and Thailand with one API

The Carsome API returns the certified used-car stock that Carsome sells in Malaysia (carsome.my, prices in MYR), Indonesia (carsome.id, IDR) and Thailand (carsome.co.th, THB) as clean JSON in four actions.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Carsome endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
C
/carsome/v1

4 active endpoints, on 1 and 2 credit tiers.

  • POST/carsome/v1/search
  • POST/carsome/v1/detail
  • POST/carsome/v1/makes
  • POST/carsome/v1/filters

What Carsome endpoints does ReefAPI ship?

4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

4 endpoints

search

2 cr

Search Carsome's certified used-car stock in one country (my, id, th) by keyword, make, model…

required
country
optional
query, make_id, model_id, body_type, location, transmission, color, price_min, price_max, monthly_min, monthly_max, mileage_min, mileage_max, year_min, year_max, sort, page, page_size

detail

2 cr

The full record of one car by its car_no (or its listing URL).

required
car_no
optional
country, url

makes

1 cr

Every make Carsome has in stock in one country right now, with its models and the numeric ids…

required
country
optional
—

filters

1 cr

The country's live filter vocabulary.

required
country
optional
—

Every parameter, every allowed value →

Carsome API

4 of 4 endpoints, ready to run

View docs ↗

Filter Carsome's stock in one country and get up to 50 rows a page with VIN, plate, mileage, model year, showroom and every price by name - cash, credit, campaign, monthly and ex-VAT - plus Carsome's own total and facet counts.

2 credits1 required · 15 optional
POST/carsome/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Carsome API works

Carsome is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 438 engines.

02
Call
POST /carsome/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 or 2 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Compare what a used Perodua SUV costs to buy outright and on finance in Malaysia

Carsome prints a campaign price, a regular price and a monthly instalment for almost every Malaysian car. This recipe pulls all three for one segment so you can see the real discount and the financing cost side by side.

01makes with country my
POSTmakes with country my

Get the make and model ids. Perodua is 157.

02search with country my, make_id [157], body_type suv, sort price_asc, page_size 50
POSTsearch with country my, make_id [157], body_type suv, sort price_asc, page_size 50

Returns Perodua's SUVs cheapest first - 268 cars when measured - with price_cash, price_before_campaign, campaign_discount and monthly_installment on every row.

03search the next pages until has_more is false
POSTsearch the next pages until has_more is false

Carsome's total is exact and a page past the last comes back empty, so the walk always ends.

04detail on the cars you want to quote
POSTdetail on the cars you want to quote

Adds the inspection report, registration date, road-tax expiry and the showroom's address and phone.

A complete price ladder for one segment with the regular price, the campaign discount and the monthly instalment Carsome quotes on each car, plus the inspection findings for the shortlist.

request
curl -X POST https://api.reefapi.com/carsome/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"country":"my","make_id":[157],"body_type":"suv","sort":"price_asc","page_size":20}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "carsome",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

What Carsome had in stock on 2026-10-07, and which price each site prints

Totals are Carsome's own count for an unfiltered query in each country. The price column is the trap the API exists to remove: the same field name means a different number on each site.

CountryCars in stockCurrencyHeadline price on the listing page
Malaysia (carsome.my)3,647MYRCampaign price; the regular price sits in price_before_campaign (198 of 200 cars had a campaign)
Indonesia (carsome.id)229IDRCash price and a lower credit price, both printed (200 of 200 cars had two prices)
Thailand (carsome.co.th)559THBPrice without 7% VAT; price_cash is VAT-inclusive, price_cash_excl_vat is the printed one

Every row returns currency, price_cash, price_credit, price_before_campaign, campaign_discount, credit_discount, monthly_installment, vat_amount and price_cash_excl_vat, so code never has to know which country it is reading. price_basis is the number Carsome's own price filter and price sort use.

What was measured on 2026-10-07

Two live runs on the same code, each with 70 calls across the three countries, and every price and odometer figure compared with the listing page Carsome itself prints.

Markets

Malaysia (MYR), Indonesia (IDR), Thailand (THB)

Cars in stock

3,647 in Malaysia, 229 in Indonesia, 559 in Thailand

Rows per page

1 to 50, default 20; Carsome's total is exact and paging reaches every car

Prices checked against the listing page

18 cars across 10 makes in three countries: cash, credit, ex-VAT, monthly and odometer figures all matched what Carsome prints

Search to detail

18 of 18 cars matched their search row on make, model, year, mileage, VIN, plate and every price

VIN and plate

600 of 600 rows - the first 200 cars in each country

Inspection report

175 to 191 checkpoints per car; Thai reports list the checkpoints without a per-point result

Filters

Each checked against an unfiltered search in the same run; seat count and dealer type are accepted by Carsome but do not filter, so they are not offered

Not published by the source

Engine power, number of previous owners, service records; body type only on the detail record

What people build with Carsome

The jobs this data is most often used for.

4

endpoints

1/2

credits per call

01

Used-car dealers and traders in Malaysia, Indonesia and Thailand call search per make and model to benchmark their own asking prices against Carsome's certified stock.

02

Lenders and insurers read price_cash, price_credit, monthly_installment and the loan terms to compare Carsome's financing offer with their own products.

03

Residual-value and remarketing analysts pull year, mileage and price for a model across all three countries to build depreciation curves from live stock.

04

Vehicle-history and fraud tools match the VIN and number plate on each row against their own records.

What Carsome data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 438 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/carsome/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"country":"my","make_id":[157],"body_type":"suv","sort":"price_asc","page_size":20}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/carsome/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
  "country": "my",
  "make_id": [
    157
  ],
  "body_type": "suv",
  "sort": "price_asc",
  "page_size": 20
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Carsome.

Get a free key →
Which countries does the Carsome API cover?▾

Malaysia, Indonesia and Thailand - the three markets where Carsome sells its own certified stock on carsome.my, carsome.id and carsome.co.th. Pass country my, id or th on every call. On 2026-10-07 the three held 3,647, 229 and 559 cars.

Why are there several prices on each car?▾

Because Carsome publishes several, and the same word means different things per site. In Indonesia the listing page prints a cash price and a credit price that is lower when you finance through Carsome (Rp 226,000,000 cash and Rp 220,000,000 credit on one Honda BR-V). In Malaysia almost every car carries a campaign price below its regular price. In Thailand the page prints the price without VAT. The API returns price_cash, price_credit, price_before_campaign, campaign_discount, credit_discount, monthly_installment and the ex-VAT figures separately, and on 18 cars checked against their listing pages every one of those numbers matched what Carsome printed.

Does it return the VIN and the number plate?▾

Yes. Carsome publishes both for its stock, and they were present on every row measured: 600 of 600, the first 200 cars of each country.

What is in the inspection report?▾

Every checkpoint Carsome inspected, grouped into sections such as road test, exterior, interior and undercarriage - 191 points on the Malaysian cars measured and 175 on the Indonesian and Thai ones. Each point has a status (passed, issue, na or not_reported), the finding tags Carsome attached (for example Scratched, Dented, Repaint) and the inspector's remark. Thai reports carry the checkpoint list but no per-point result, so those points come back as not_reported rather than being read as failures.

How many results can one search return?▾

Up to 50 rows per page, and you can page through the whole result: Carsome reports an exact total, a page past the last one comes back empty instead of repeating, and every response returns total_results, last_page and has_more. The largest market, Malaysia, is 73 pages of 50.

Do the filters really filter?▾

Each one was checked against an unfiltered search in the same run. In Malaysia, out of 3,647 cars: make Perodua 1,475, model Myvi 495, SUV 984, Selangor 1,205, RM 30,000-50,000 1,320, mileage up to 50,000 km 687, model years 2022-2024 1,263, manual gearbox 5, black 282, keyword myvi 495. Filters Carsome accepts but does not apply - seat count and dealer type - are not offered.

How do I get one car's full record?▾

Take the car_no from a search row (for example C7KZ700) and call detail with it and the country, or pass the listing URL instead. A car that has been sold or withdrawn returns NOT_FOUND. On 18 cars the detail record matched its search row on make, model, year, mileage, VIN, plate and every price.

What does Carsome not publish?▾

Engine power, the number of previous owners and a service-record history are not on these pages, so they are not in the response. Body type is on the detail record only - search rows do not carry it, although the body_type filter works. The monthly sort is Carsome's own and is approximate: on 50 rows sorted by lowest instalment, 4 neighbours were out of order on the published figure.

What is the Carsome API?▾

Carsome API is a ReefAPI endpoint group for certified used cars in malaysia, indonesia and thailand: vin, plate, cash, credit and monthly prices, showroom and the full inspection report. It returns live JSON through POST requests under /carsome/v1.

Is the Carsome API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Carsome calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Carsome login or account?▾

No login to Carsome is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Carsome data?▾

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Carsome API use?▾

Carsome actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Carsome from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call carsome actions with the same key, credit pool and JSON envelope used by normal REST requests.

99 Classifieds & Second-hand APIs on the same key

One key, one credit pool, one response envelope. If you are pulling Carsome, you are one call away from the rest of the category — no second contract, no second integration.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 437 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-07.