This article is published in English only

One day on a registration certificate can decide whether a Chinese used-car exporter needs a document from the manufacturer. In our 6 November 2026 snapshot of China listings with a catalog year of 2025 or later, 195 of the 1,397 listings with a reported registration date fell within 180 days of that date.
The catch: 1,091 of those 1,397 dates fall on the first of a month, so many may lack day-level precision. Here’s how we would use the feed to screen listings and the certificate to check a filing.
What China’s 180-day used-car export rule says
On 11 November 2025, China’s Ministry of Commerce, Ministry of Industry and Information Technology, Ministry of Public Security, and General Administration of Customs issued Notice No. 648. The Ministry of Commerce posted it on 14 November. For applications filed from 1 January 2026, the requirement applies through day 180 after registration, and section I(1) explicitly includes day 180 (含180天). Under the ministry’s filing guidance, the count ends on the date of the export licence application. Notice No. 648, section I(1) · Ministry filing guidance reproduced by the auto dealers’ chamber
The required document is the Confirmation of After-Sales Repair Service (售后维修服务确认书, our translation). It comes from the vehicle manufacturer under its official seal and, per the filing guidance, names the destination country, the VIN and overseas service outlets. A sales subsidiary or an authorised dealer cannot issue it on the manufacturer’s behalf. Without the required confirmation, the commerce authority withholds the export licence. Notice No. 648, section I(1) · Ministry filing guidance, section I(2)
The notice targets new vehicles exported under the used-vehicle category. The licence annex has separate fields for the vehicle registration date and the date of transfer registration for pending export. Both must match the motor vehicle registration certificate. Days count from the vehicle registration date. The transfer entry decides the transitional provision: vehicles with that entry completed before 1 January 2026 can still apply without the confirmation. An export contract signed before that date does not qualify on its own. Notice No. 648, sections I(1)–(2) · Ministry filing guidance, section I(3)
China exported roughly 436,000 used passenger and commercial vehicles in 2024. In June 2025, Reuters reported industry consultant Wang Meng’s estimate that 90% of them were “zero-mileage” vehicles. Our snapshot counts catalog listings and cannot show how that share changed. Reuters reporting, republished by Malay Mail · Xinhua interview corroborating the 2024 export total

What we found in 1,500 listings
The table counts calendar days from the registration date in the feed. Sampling details are in “How we measured”.

| Group by catalog date | Count | Share |
|---|---|---|
| Listings with a parseable catalog date | 1,397 of 1,500 | 93.1% |
| Under 180 days since registration | 194 of 1,397 | 13.9% |
| Exactly 180 days by catalog date | 1 of 1,397 | — |
| Within the inclusive window, days 0–180 | 195 of 1,397 | 14.0% |
| Reported mileage of 1,000 km or less, within days 0–180 | 90 of 195 | 46.2% |
Data from the apiauto.space catalog, China market (Che168 listings), observed 6 November 2026 China time. The diagram illustrates the nested groups. The table gives their counts.
The dates cluster on the first of the month: 1,091 of 1,397 parseable dates fell on the first. Some Che168 pages display first registration as a month and year. One shows September 2025 in its summary and 2025-09-01 in its specification table. That alone cannot tell us which of our dates were rounded and which registrations really happened on the first. Che168 registration fields in a public listing specification
On 6 November, a registration known only as May could be anywhere from 159 to 189 days old, because the cutoff fell on 10 May. The feed dated 36 listings to 1 May, the only first-of-month date whose month spans the cutoff. If any of those cars was actually registered on or after 10 May, it would move into the inclusive group. Holding every other date fixed, the count could rise from 195 to at most 231. We have no certificates to resolve those cases and no actual filing dates to count applications that needed the confirmation.
Every listing in the inclusive group had a mileage value, but the 1,000 km threshold only describes the stock we observed. The licence check depends on the registration and filing dates, not mileage.
Put the filing date into the function
The filing check takes two China calendar dates: the registration date from the certificate and the actual or proposed application date. If the certificate is pending, leave verified_registration empty even when raw.first_registration looks complete. The function only reports whether the age falls within the window. A reviewer checks the transitional provision before turning that result into a document requirement.
from datetime import date
def calendar_date(value: str | None) -> date | None:
if not isinstance(value, str):
return None
try:
parsed = date.fromisoformat(value)
except ValueError:
return None
return parsed if parsed.isoformat() == value else None
def registration_age_status(verified_registration: str | None, application_date: str | None) -> str:
filed = calendar_date(application_date)
if filed is None:
return "application_date_unknown"
if filed < date(2026, 1, 1):
return "before_effective_date"
registered = calendar_date(verified_registration)
if registered is None or registered > filed:
return "registration_unknown"
elapsed_days = (filed - registered).days
if elapsed_days <= 180:
return "within_180_day_window"
return "outside_180_day_window"
The example needs Python 3.10 or later. Both inputs use YYYY-MM-DD, so the code counts calendar days without timestamps or time-zone conversion. Partial or impossible dates, and a registration after the filing, return an _unknown status. A date can pass every format check and still come from a month-only listing, so the caller still verifies its source.

One listing in the snapshot reported 2026-10-01 and 300 km. We did not see its certificate, so suppose it confirmed 1 October. Under the rule as checked for this article, 30 March 2027 would be day 180 and 31 March would be day 181. The example dates are hypothetical.
assumed_certificate_date = "2026-10-01"
assert registration_age_status(assumed_certificate_date, "2027-03-30") == "within_180_day_window"
assert registration_age_status(assumed_certificate_date, "2027-03-31") == "outside_180_day_window"
assert registration_age_status(None, "2027-03-30") == "registration_unknown"
With a confirmed registration day, the age calculation changes between the two proposed filing dates.
A JavaScript version of the same check is in the appendix.
What to show on the listing card
A listing card can show the reported registration month and prompt a manager to request the certificate. Exact age and cutoff appear only after the registration day is verified. With the proposed filing on 31 March 2027, a car registered on 1 October would be at day 181, while one registered later in October would still be inside the window.

| Listing card field | Example shown to the manager |
|---|---|
| Reported first registration | October 2026 · exact day unverified |
| Verified registration date | Awaiting registration certificate |
| Proposed licence filing | 31 March 2027 · age check pending |
| First filing date outside the age window | Shown after the registration day is verified |
| Manufacturer confirmation | Unverified · request a copy for the intended destination |
Example of a listing card while the registration certificate is pending.
Store the age result and the document review separately, with the reported value next to the verified date, so a manager can see why a screening flag changed after the certificate arrived. Once the day is verified, registered + timedelta(days=181) gives the first day outside the age window in Python. If the proposed filing date changes, rerun the check and keep the date used for any earlier quote.
Four questions for the supplier
- Which date is on the motor vehicle registration certificate? Ask for the official registration date and confirm it belongs to the vehicle being offered. If the seller gives a transfer date, record that separately.
- When will the licence application actually be filed? Record the proposed filing date before quoting a delivery schedule. If the plan changes, check the boundary again.
- Can the vehicle manufacturer issue the confirmation for this destination? Ask who will issue it, which service outlets it lists, and whether the manufacturer’s official seal and the VIN can be verified. Check that the destination matches the intended shipment. Ministry filing guidance, section I(2)
- Has the vehicle already gone through transfer registration for pending export? If the seller says it was recorded before 1 January 2026, ask for the date in the registration records and have the filing team check the transitional provision.
For a batch, record the answer per VIN. If a licence covers cars from several manufacturers, the filing guidance calls for a separate confirmation from each. If a supplier sends one document for several cars, check its VINs and destinations against the batch: it can cover several vehicles and still miss one on your shortlist. Ministry filing guidance, section I(2)
How we measured
We took the first 15 pages of active China-market listings with catalog year 2025 or later, 100 records per page, ordered by when the catalog first saw each listing, newest first. Each request reused the filters and passed the previous page’s next_cursor as cursor. The year_min filter selects the catalog cohort.
GET /v1/cars?market=cn&year_min=2025&sort=-first_seen&limit=100
Days were counted to 6 November 2026, China time, from raw.first_registration, and mileage from mileage_km. All 1,500 listing IDs were distinct, though one physical vehicle may have more than one listing. Of those records, 103 (6.9%) had no registration date. Sorting by recency makes this a sample of fresh listings, which can include cars registered long ago.
What remains after the age check
The reviewer still matches any required confirmation to the VIN and destination and verifies the issuer and seal. Under China’s baseline used-car export framework, licence issuance and customs clearance are separate steps, and customs verifies the licence at clearance. Exporters also need to check the rest of the Chinese filing and the import requirements for the destination. Notice No. 648, sections I(1)–(2) · China’s used-car export announcement No. 6 of 2024, section IV
For teams buying used cars in China, where has the 180-day rule changed your work most? Does it come up when you shortlist cars or when you confirm the filing date and paperwork?
Appendix: the same check in JavaScript
This version uses UTC midnight to represent an already selected calendar date and never derives the filing date from the browser’s clock. The round trip through ISO format rejects impossible dates that JavaScript would otherwise normalize.
function calendarDay(value) {
if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}$/.test(value)) return NaN;
if (value.startsWith("0000-")) return NaN;
const timestamp = Date.parse(value + "T00:00:00Z");
if (!Number.isFinite(timestamp)) return NaN;
if (new Date(timestamp).toISOString().slice(0, 10) !== value) return NaN;
return timestamp;
}
function registrationAgeStatus(verifiedRegistration, applicationDate) {
const filed = calendarDay(applicationDate);
if (!Number.isFinite(filed)) return "application_date_unknown";
if (filed < calendarDay("2026-01-01")) return "before_effective_date";
const registered = calendarDay(verifiedRegistration);
if (!Number.isFinite(registered) || registered > filed) return "registration_unknown";
const elapsedDays = (filed - registered) / 86_400_000;
return elapsedDays <= 180 ? "within_180_day_window" : "outside_180_day_window";
}