Auto parts data API
Base URL
All endpoints are grouped under the parts plugin path, resolved by tenant.
https://api.autopf.com/api/plugins/app/p11365281228129286Required header
The tenant header selects the data set. Missing it returns HTTP 400.
X-Tenant-Id: partsResponse envelope
Every response wraps payload in a code / message / data envelope; paginated results use the same shape.
{ Code, Msg, Data }Endpoints
Public endpoints are open anonymously for reading. Data is always filtered to enabled, non-deleted records.
| Method | Path | Description |
|---|---|---|
| GET | /PartsData/stats | Coverage counters for the tenant |
| GET | /PartsData/years | Model years that have vehicle records |
| GET | /PartsData/car-brands | Enabled vehicle brands |
| GET | /PartsData/car-models?carBrandId=&keyword=&pageIndex=&pageSize= | Vehicle models, filterable by brand and keyword |
| GET | /PartsData/parts?keyword=&categoryId=&carBrandId=&standardNameId=&brandId=&pageIndex=&pageSize= | Parts catalogue search |
| GET | /PartsData/parts/{partsId} | Single part with fitment and OE codes |
| GET | /PartsData/parts-by-car-model?carModelId=&pageIndex=&pageSize= | Parts that fit a given vehicle model |
| GET | /PartsData/general-codes?code=&carBrandId=&brandId=&pageIndex=&pageSize= | OE / interchange code search, returns matching parts |
| GET | /PartsData/quick-search?keyword=&count= | Parts and OE codes for one keyword |
| GET | /PartsData/categories?type= | Parts category tree, filterable by type |
| GET | /PartsData/standard-names?keyword=&categoryId=&pageIndex=&pageSize= | Standard names with category filter |
| GET | /PartsData/product-brands | Enabled parts brands |
| GET | /CarCascade/cascade/brands?year= | Vehicle brands available for a model year |
| GET | /CarCascade/cascade/names?carBrandId= | Model names for a vehicle brand |
| GET | /CarCascade/cascade/versions?carBrandId=&carModelName= | Door count / vehicle type / body form combinations |
| GET | /CarCascade/cascade/engines?carBrandId=&carModelName=&doorCount=&vehicleType=&bodyForm= | Engine descriptions for a version |
Call it from anywhere
Plain HTTP and JSON — no SDK required.
cURL
# Parts search curl "https://api.autopf.com/api/plugins/app/p11365281228129286/PartsData/parts?keyword=compressor&pageSize=5" \ -H "X-Tenant-Id: parts"
JavaScript
const BASE = 'https://api.autopf.com/api/plugins/app/p11365281228129286'
const headers = { 'X-Tenant-Id': 'parts' }
// 1) Parts catalogue search
const parts = await fetch(`${BASE}/PartsData/parts?pageIndex=1&pageSize=12`, { headers })
.then((r) => r.json())
// 2) OE / interchange code search, returns matching parts
const oe = await fetch(`${BASE}/PartsData/general-codes?code=AC7805`, { headers })
.then((r) => r.json())
// 响应信封: { Code, Msg, Data }
console.log(parts.Data.Items, oe.Data.Items)Response envelope
{
"Code": 200,
"Msg": "success",
"Data": {
"Items": [ { "PartsId": "…", "PartsName": "空调压缩机", "PartsNo": "234324321", "GeneralCodes": ["AC7805"] } ],
"Total": 4,
"PageIndex": 1,
"PageSize": 12
}
}Before you integrate
Pagination
Send pageIndex (1-based) and pageSize. The response returns Items, Total, PageIndex and PageSize.
Filtering
Most list endpoints accept a keyword plus domain filters such as categoryId, carBrandId or standardNameId.
Caching
Master data changes slowly. Cache responses for minutes to hours on your side to keep integrations light.
Fair use
Public endpoints are intended for interactive use. For bulk or scheduled pulls, ask us about exports and managed feeds.
Need higher limits or a private feed?
Tell us your expected volume and we will propose a practical integration.