RockAuto API: Search parts for a vehicle
Finds RockAuto parts for a vehicle (year, make, model, optional engine) and part category, sorted by listed price. Prices are in USD and exclude shipping and taxes. When no engine is given, uses the first engine in the catalogue.
Unofficial. Not affiliated with or endorsed by RockAuto.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Make, required
make Vehicle maker, for example Honda.
Honda
- Part, required
part Part in words, for example brake pads.
caliper
- Year, required
year Vehicle model year, for example 2015.
2015
Whole number.
- Model, required
model Vehicle model, for example Civic.
Civic
- Engine optional
engine Engine, for example 1.8L L4. Defaults to the first listed engine.
1.8L L4
- Max Results optional
max_results Maximum parts to return, for example 30.
12
Whole number from 1 to 100. Default
30.
Input as JSON
{ "make": "Honda", "part": "caliper", "year": 2015, "model": "Civic", "engine": "1.8L L4", "max_results": 12}Output
{ "parts": [ { "brand": "CENTRIC", "notes": "Front Right; HF Model; 262mm Front Disc; Front Right; Manual trans.; DX Model or LX Model or SE Model; 262mm Front Disc", "price_usd": 18.61, "image_link": "https://www.rockauto.com/info/142/141.40119_Front__ra_m.jpg" , "description": "Reman.", "part_number": "14140119", "quality_tier": "Remanufactured", "core_charge_usd": null, "catalogue_page_link": "https://www.rockauto.com/en/catalog/honda,2015,civic,1.8l+l4,3310198,brake+&+wheel+hub,caliper,1704" }, { "brand": "CARDONE", "notes": "Front Left; EX Model or EX-L Model; w/ Metal Piston; Front Left; Automatic CVT trans.; LX Model or SE Model; w/ Metal Piston", "price_usd": 25.99, "image_link": "https://www.rockauto.com/info/1/192660-BAC__ra_m.jpg" , "description": "Remanufactured", "part_number": "192660", "quality_tier": "Remanufactured", "core_charge_usd": null, "catalogue_page_link": "https://www.rockauto.com/en/catalog/honda,2015,civic,1.8l+l4,3310198,brake+&+wheel+hub,caliper,1704" }, { "brand": "CARDONE", "notes": "Front Right; EX Model or EX-L Model; w/ Metal Piston; Front Right; Automatic CVT trans.; LX Model or SE Model; w/ Metal Piston", "price_usd": 29.79, "image_link": "https://www.rockauto.com/info/1/19B2661-ANG__ra_m.jpg" , "description": "Remanufactured; Includes Mounting Bracket", "part_number": "19B2661", "quality_tier": "Remanufactured", "core_charge_usd": 48.6, "catalogue_page_link": "https://www.rockauto.com/en/catalog/honda,2015,civic,1.8l+l4,3310198,brake+&+wheel+hub,caliper,1704" } ], "vehicle": { "make": "HONDA", "year": 2015, "model": "CIVIC", "engine": "1.8L L4" }, "part_category": "Caliper"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"rockauto.com/search_parts","input":{"make":"Honda","part":"caliper","year":2015,"model":"Civic","engine":"1.8L L4","max_results":12}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "rockauto.com/search_parts" , "input": { "make": "Honda", "part": "caliper", "year": 2015, "model": "Civic", "engine": "1.8L L4", "max_results": 12 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "rockauto.com/search_parts" , "input": { "make": "Honda", "part": "caliper", "year": 2015, "model": "Civic", "engine": "1.8L L4", "max_results": 12 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run rockauto.com/search_parts# with {"make":"Honda","part":"caliper","year":2015,"model":"Civic","engine":"1.8L L4","max_results":12}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "year", "make", "model", "part" ], "properties": { "make": { "type": "string", "description": "Vehicle maker, for example Honda." }, "part": { "type": "string", "description": "Part in words, for example brake pads." }, "year": { "type": "integer", "description": "Vehicle model year, for example 2015." }, "model": { "type": "string", "description": "Vehicle model, for example Civic." }, "engine": { "type": "string", "description": "Engine, for example 1.8L L4. Defaults to the first listed engine." }, "max_results": { "type": "integer", "default": 30, "maximum": 100, "minimum": 1, "description": "Maximum parts to return, for example 30." } }}Output schema
{ "type": "object", "required": [ "vehicle", "part_category", "parts" ], "properties": { "parts": { "type": "array", "items": { "type": "object", "required": [ "brand", "part_number", "price_usd", "catalogue_page_link" ], "properties": { "brand": { "type": "string" }, "notes": { "type": [ "string", "null" ] }, "price_usd": { "type": "number" }, "image_link": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] }, "part_number": { "type": "string" }, "quality_tier": { "type": [ "string", "null" ] }, "core_charge_usd": { "type": [ "number", "null" ] }, "catalogue_page_link": { "type": "string" } } } }, "vehicle": { "type": "object", "required": [ "year", "make", "model", "engine" ], "properties": { "make": { "type": "string" }, "year": { "type": "integer" }, "model": { "type": "string" }, "engine": { "type": "string" } } }, "part_category": { "type": "string" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
rockauto.com/search_parts- Returns
- vehicle, part category, parts with brand, part number, description, notes, price, core charge, quality tier, image and catalogue link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method rockauto.com/search_parts with the inputs above.
Ask your agent
- Find the cheapest front brake pads for a 2012 Toyota Camry 2.5L L4 on RockAuto
- What alternators are available for a 2008 Ford F-150 with the 5.4L V8? Show prices, core charges and brands.
- I need a new radiator for my 2016 Honda Accord. List the 10 lowest-priced options with part numbers.
- Compare oxygen sensor prices for a 2005 Chevrolet Silverado 1500 4.8L V8, cheapest first
- Pull up RockAuto's spark plug listings for a 2019 Subaru Outback 2.5L H4, up to 50 results with quality tiers and catalogue links
See more
Finds AutoZone parts listed for a vehicle (year, make, model, optional engine), with prices, warranties and fit notes. Listings are filtered by year, make and model; engine fit often needs further confirmation.
autozone.com/search_partsSearches Autotrader car listings near a US ZIP code by make and model, with condition, price, year and distance filters. Returns up to 100 listings in site order.
autotrader.com/search_carsSearches Carvana's used-car inventory by make and model, with optional price, year, mileage and ZIP filters, and returns each car's price, estimated monthly payment, mileage and delivery or pickup estimate for the ZIP.
carvana.com/search_carsSearches Cars.com car listings for a make and model around a US ZIP code within a radius, optionally by condition (new, used or certified pre-owned) and maximum price, in Cars.com search order.
cars.com/search_carsSearches CARFAX used-car listings for a make and model near a US ZIP code, in CARFAX order, with listing details and free vehicle-history highlights. Paid full history reports are not included.
carfax.com/search_carsSearches new and used cars for sale near a US ZIP code for a make and model, with prices, dealer details and CarGurus deal ratings. Used cars come first, then new cars, each in CarGurus order; market difference is positive below market and negative above.
cargurus.com/search_carsSearches CarMax used cars by make and model with optional ZIP, distance, year, price and mileage filters, keeping CarMax's order. Pages expose only the first 48 cars; distance is CarMax's distance from the selected local store, and larger limits or narrow distance filters may return fewer matches.
carmax.com/search_carsSearches mobile.de car listings by make and model, with optional registration year, price, mileage, fuel, condition and sorting. Returns up to 50 listings in marketplace order; fields not shown on a listing are null.
mobile.de/search_cars