JDM VIN Decoder - Japanese Chassis Number to Production Date avatar

JDM VIN Decoder - Japanese Chassis Number to Production Date

Pricing

from $20.00 / 1,000 per chassis decodeds

Go to Apify Store
JDM VIN Decoder - Japanese Chassis Number to Production Date

JDM VIN Decoder - Japanese Chassis Number to Production Date

Decode Japanese chassis numbers (JDM VINs) that ordinary VIN decoders reject: production month and year, model, colour, trim, engine and grade codes - plus the exact dates each car clears the US 25-year and Canadian 15-year import rules. Searches all 9 makers itself.

Pricing

from $20.00 / 1,000 per chassis decodeds

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

JDM VIN Decoder — Japanese Chassis Number to Production Date

Japanese domestic vehicles do not have ISO VINs. A JDM chassis number looks like BNR34-001234 — a model code, a dash, a serial — and every ordinary 17-character VIN decoder rejects it outright.

This Actor decodes them: factory production month and year, the full build specification, and the exact dates the car clears the US 25-year and Canadian 15-year import exemptions.


What one row looks like

{
"chassisNo": "BNR34-001234",
"inputModelCode": "BNR34",
"serial": "001234",
"status": "HIT",
"resolvedMaker": "NISSAN",
"makerHint": "NISSAN",
"makersTried": ["NISSAN"],
"matchIndex": 1,
"matchCount": 1,
"productionYear": "1999",
"productionMonth": "1",
"productionDate": "1999-01",
"usEligibleDate": "2024-01",
"caEligibleDate": "2014-01",
"usEligibleNow": true,
"caEligibleNow": true,
"monthsUntilUsEligible": -32,
"modelName": "SKYLINE",
"catalogModelCode": "GGJPRVYR34ZDAAAJCD",
"frameCode": "R34",
"colorCode": "QM1",
"trimCode": "G",
"optionCodes": ["2K", "RB26DETT [ RB26DETT型エンジン ]", "HI.4WD", "GTR", "MT.F6"],
"optionCodeSplit": "single"
}
fieldwhat it is
productionDateThe answer most buyers came for — factory build month, YYYY-MM
usEligibleDate · caEligibleDateMonth the car clears the US 25-year / Canadian 15-year rule
usEligibleNow · caEligibleNowWhether it is admissible today
monthsUntilUsEligibleMonths remaining; negative if it already cleared
resolvedMaker · makersTriedWhich maker's catalogue held the car, and which were searched
matchIndex · matchCountSee When one chassis returns two cars below
modelName · catalogModelCode · frameCodeModel identity. inputModelCode is what you typed (BNR34); catalogModelCode is the catalogue's own long code
colorCode · trimCodeFactory paint and interior codes — what you need to order matching parts or verify originality
engineNo · gradeCode · transCode · bodyCode · doorStyleBuild specification, where the maker publishes it
optionCodesFactory option codes, verbatim in the catalogue's own mixed Japanese
rawThe untouched upstream payload, once per chassis

Input

inputdefaultwhat it does
chassisNumbersthree worked examplesOne per line, <model code>-<serial>. You do not supply the maker
maxChassis0 (all)Hard cap on how many are looked up, delivered and charged
proxyConfigurationApify Proxy (datacenter)Datacenter is fine here — 530 of 530 lookups measured clean

You do not need to know the maker

The site publishes a maker-lookup endpoint, and it is only 65% accurate — measured 13 of 20, with confidently wrong answers rather than blanks: S15 → MINI, DC2 → JAGUAR, FD2 → HINO, K11 → TOYOTA, BP5 → MAZDA. Those are the Silvia, Integra Type R, Civic Type R, March and Legacy — squarely the cars this trade moves.

A wrong maker returns exactly the same "information not found" a genuine miss returns. So this Actor treats that lookup as a hint that only orders the search, then searches all nine makers (Toyota, Nissan, Honda, Mazda, Mitsubishi, Subaru, Suzuki, Daihatsu, Isuzu). A chassis is only reported NOT_FOUND once all nine have missed, and makersTried shows you exactly which were searched so the coverage claim is auditable rather than asserted.

The three statuses, and why they are separate

statusmeaningcharged
HITDecodedchassis-decoded
NOT_FOUNDAll nine makers searched, none held itchassis-not-found
ERRORCould not be looked up — the source errorednever charged

ERROR exists because conflating it with NOT_FOUND would be a lie with consequences: it would tell you your car is not in the catalogue when the truth is nobody ever asked. Those rows carry httpStatus, attempts and reason.

The source occasionally returns server errors. When that happens the Actor retries on a widening backoff, and if it keeps failing it stops the run rather than marching through your remaining chassis numbers reporting them all as "not found".

One subtlety worth stating, because it bit us in testing: when the source is degraded it returns the same "no such chassis" response it returns for a genuine miss. We measured a chassis return that response three times during a wobble and then decode perfectly hours later. So once a run has seen any server error, that response is treated as indeterminate, not as a miss.

When one chassis returns two cars

Some chassis numbers match two catalogue records, and the source merges them field-wise rather than returning a list. K11-012345 comes back with year: ["1992","1992"] and an option list whose two halves disagree — so these are genuinely two vehicles, not a display duplicate.

This Actor emits one row per record, stamped matchIndex / matchCount, and splits the option codes between them. Both rows cost one decode. If the option list cannot be divided cleanly across the records, optionCodes is null, the untouched list is kept in optionCodesRaw, and optionCodeSplit says ambiguous — it will never invent an allocation.

Coverage — measured, not promised

The catalogue does not hold every Japanese chassis number. Across randomly constructed but plausible chassis numbers the hit rate measured 53–65%; against real chassis numbers off actual vehicles it is considerably better, because those cars exist. This Actor does not promise 100% coverage and you should not buy it expecting that. A NOT_FOUND means nine catalogues were searched and none held the car — that is a real, auditable answer, and it is priced at a twentieth of a decode.

Pricing

eventpricewhen
chassis-decoded$0.02Once per chassis decoded — the same whether it took one lookup or nine, and the same if it returns two catalogue records
chassis-not-found$0.001Once per chassis searched across all nine makers and not found
freeA chassis that could not be looked up (ERROR)

Verified on the platform: a five-chassis run with four decodes (one of them a two-record match) and one genuine miss billed exactly 4 × chassis-decoded + 1 × chassis-not-found.

Every run also writes a RUN_SUMMARY to the key-value store: submitted, malformed, looked up, decoded, missing, not-looked-up, the hit rate, total HTTP requests, and whether the source was erroring during the run.

Source and provenance

Data comes from the public chassis lookup at jpauc.com/vin, which serves it to anonymous clients with no key, no login and no session. robots.txt is literally User-agent: * with no restrictions.

The site presents this as third-party catalogue data and states it is not responsible for its accuracy — so treat a decode as strong evidence, not as a legal certification. For an actual import, verify the production date against the vehicle's own export certificate or de-registration paperwork before you commit money or book shipping. The 25- and 15-year dates this Actor computes are straightforward arithmetic on the production month; they are not legal advice, and they do not account for any other admissibility question (modifications, recalls, state-level rules).