napaonline.com APInapaonline.com ↗
Search NAPA Online's parts catalog by keyword, part number, or vehicle fitment. Get product details, specs, reviews, and similar products via 9 endpoints.
curl -X GET 'https://api.parse.bot/scraper/88e43e4b-9413-435d-9461-c313260beda7/search_products?query=brake+pads' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for auto parts by keyword or part number. Returns a paginated list of products. Common keyword searches (e.g. 'brake pads') may be redirected to the matching category automatically.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-based) |
| limit | integer | Max results per page |
| queryrequired | string | Search keyword or part number (e.g. 'brake pads', 'oil filter', 'SG8507M') |
{
"type": "object",
"fields": {
"docs": "array of product objects with pid, title, brand, sale_price, url, description, part_number, etc.",
"start": "integer offset of first result",
"numFound": "integer total number of matching products"
},
"sample": {
"data": {
"docs": [
{
"pid": "SRBSR1164",
"url": "https://www.napaonline.com/en/p/SRBSR1164",
"brand": "NAPA",
"title": "NAPA StopRite Disc Brake Pads",
"sale_price": 22.57,
"part_number": "SR1164",
"product_line": "StopRite",
"line_abbreviation": "SR"
}
],
"start": 0,
"numFound": 66,
"categoryInfo": null
},
"status": "success"
}
}About the napaonline.com API
The NAPA Online API provides access to the napaonline.com parts catalog across 9 endpoints, covering keyword and part-number search, vehicle-fitment filtering, product specifications, customer reviews, and related products. The search_by_vehicle endpoint lets you filter compatible parts by year, make, and model, while get_product_details returns structured fitment guides, specifications, and pricing for individual SKUs.
Catalog Search and Product Data
The search_products endpoint accepts a keyword or part number (e.g. 'brake pads' or 'SG8507M') and returns a paginated list of matching products. Each result includes pid, title, brand, sale_price, part_number, and a url to the product page. The numFound field tells you the total result count across all pages. Note that common keyword searches may be redirected automatically to a matching category, which can affect numFound.
get_product_details takes a product_id — which can be a pid, part number, or SKU — and returns a fuller record including a fitment_guide array of compatible vehicles (each entry has make, model, startYear, and endYear), a specifications key-value object, and a features_benefits array. Fitment guide entries are useful when you need to verify which exact vehicle years a part covers.
Vehicle Fitment Selector
Three endpoints support a cascading year/make/model selector. get_vehicle_years returns every supported model year (strings, ranging from '1884' through '2026'). Pass a year to get_vehicle_makes to get the valid makes for that year, then pass year and make to get_vehicle_models to get the model list. Once you have a full vehicle specification, search_by_vehicle filters the catalog to compatible parts and supports an optional query string to narrow by keyword within those results. Each result in the docs array includes a buyers_guide field alongside the standard product fields.
Reviews and Related Products
get_product_reviews returns customer reviews sourced from Bazaarvoice. The response wraps results in a BatchedResults.q0.Results array with a TotalResults count. get_similar_products returns co-viewed items for a given product_id, with results in response.docs and a response.numFound count plus metadata describing the recommendation widget context.
- Build a parts lookup tool that filters compatible parts for a user's vehicle using
search_by_vehiclewith year, make, and model. - Aggregate pricing data across part numbers by querying
search_productswith specific part numbers and extractingsale_price. - Populate a product detail page with specs and fitment data by calling
get_product_detailsand reading thespecificationsobject andfitment_guidearray. - Display customer sentiment for a part by retrieving
BatchedResults.q0.Resultsfromget_product_reviews. - Implement a cascading vehicle selector UI using
get_vehicle_years,get_vehicle_makes, andget_vehicle_modelsin sequence. - Surface related purchase suggestions by feeding a
pidintoget_similar_productsand rendering the returneddocs. - Monitor catalog coverage for a category by calling
get_categorieswith aparent_idand trackingnumFoundover time.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does NAPA Online have an official developer API?+
What does the `fitment_guide` field in `get_product_details` contain, and how is it structured?+
fitment_guide is an array of objects, each containing make, model, startYear, and endYear. It describes the range of vehicles a part is compatible with according to the product listing. A single part can have multiple fitment entries covering different makes and model-year ranges.Does `search_by_vehicle` return all compatible parts in the catalog, or only a subset?+
search_by_vehicle filters the catalog using buyers guide fitment data and returns results in the docs array with a numFound total. You can add an optional query string and a limit to narrow and size the result set. Without a query, the endpoint returns all fitment-matched parts for the vehicle.Does the API expose store inventory, in-store availability, or store locator data?+
Can I retrieve product images through these endpoints?+
url field points to the product page. You can fork the API on Parse and revise get_product_details to extract and return image fields if the product page exposes them.