HondaPartsNow APIhondapartsnow.com ↗
Access genuine Honda OEM parts data via 9 endpoints: browse by year/model/trim, look up parts by number or VIN, and retrieve pricing and fitment details.
What is the HondaPartsNow API?
The HondaPartsNow API provides structured access to genuine Honda OEM parts data across 9 endpoints, covering everything from vehicle configuration to part-level pricing. Starting with get_available_years, you can walk the full vehicle hierarchy — year, model, trim, transmission — then pull parts catalogs, subcategory diagrams, and individual part specifications including MSRP, sale price, and fitment compatibility across Honda model years.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/a70a9350-587a-4427-88e5-31beda9d0ff4/get_available_years' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace hondapartsnow-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Honda Parts Now SDK — browse vehicle configs, look up parts, decode VINs."""
from parse_apis.honda_parts_now_api import HondaPartsNow, Model, PartNotFound
client = HondaPartsNow()
# List all available model years.
for year in client.modelyears.list(limit=5):
print(f"Year: {year}")
# Drill into a model year to find trims and transmissions.
model_year = client.modelyears.get(year=2024)
print(f"2024 models: {model_year.models[:4]}")
for trim_name in model_year.trims(model=Model.CIVIC, limit=3):
print(f" Trim: {trim_name}")
# Browse parts categories for a vehicle configuration.
for cat in model_year.categories(model=Model.CIVIC, trim="4 Door Si", transmission="6MT", limit=2):
print(f"Category: {cat.category_slug}, subcategories: {len(cat.subcategories)}")
# Search for a part by number.
result = client.parts.search(query="04715-T0A-A90", limit=1).first()
if result:
print(f"Search hit: {result.name}, price={result.price}")
# Fetch full part details — typed error if it doesn't exist.
try:
part = client.parts.get(part_number="04715-T0A-A90")
print(f"Part: {part.name}, Price: {part.price}, MSRP: {part.msrp}")
for fit in part.fitment_compatibility[:2]:
print(f" Fits: {fit.year} — {fit.make_model}")
except PartNotFound as exc:
print(f"Part not found: {exc.part_number}")
# Decode a VIN to identify the exact vehicle.
vehicle = client.vehicles.get(vin="1HGCM82633A004352")
print(f"VIN decoded: {vehicle.vehicle_info} ({vehicle.required_info})")
print("Exercised: modelyears.list / .get / trims / categories / parts.search / parts.get / vehicles.get")
Returns every model year Honda Parts Now carries, from newest to oldest. The list spans decades and is the entry point for drilling into models, trims, transmissions, and ultimately parts catalogs.
No input parameters required.
{
"type": "object",
"fields": {
"years": "array of integers representing available model years"
}
}About the HondaPartsNow API
Vehicle Configuration Hierarchy
Browsing the parts catalog starts with vehicle selection. get_available_years returns an array of integers for all supported model years. Feed a year into get_models_by_year to get Honda model names, then pass year and model to get_trims_by_year_model to retrieve body and trim configurations. Finally, get_transmissions accepts trim, year, and model and returns available transmission strings (e.g. KA CVT, 6MT). These four endpoints together fully specify a vehicle before any parts lookup.
Parts Catalog and Detail
With a fully specified vehicle, get_vehicle_parts_categories returns top-level categories and their subcategories, each with a url_path for use in subsequent calls. Pass that path to get_parts_by_category along with the vehicle parameters to get a diagram image URL and a partList array where each entry includes name, image, url, and traffic fields. For individual parts, get_part_detail accepts an OEM part number (e.g. 04715-T0A-A90) and returns msrp, price, savings, a key-value attributes object for specifications, and a fitment_compatibility array listing every compatible vehicle by year, make/model, and body/trim.
Search and VIN Lookup
search_parts accepts a part number or keyword string. Part number queries return direct matches with url, name, price, msrp, and part_number fields, plus an exact_match boolean. Keyword searches return a message field and empty results, since keyword-based lookups require vehicle context that isn't available in a stateless query. lookup_by_vin decodes a 17-character VIN into currentYear, currentModel, currentMake, optionalInfo (body and trim), and requiredInfo, making it straightforward to resolve a VIN to a specific vehicle configuration before browsing parts.
The HondaPartsNow API is a managed, monitored endpoint for hondapartsnow.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hondapartsnow.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official hondapartsnow.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Honda OEM parts finder that resolves user VINs to exact vehicle configs via
lookup_by_vinbefore showing parts - Aggregate current OEM pricing across part numbers using
get_part_detailMSRP and sale price fields - Generate fitment compatibility reports by extracting the
fitment_compatibilityarray from multiple part detail lookups - Populate a parts diagram viewer by combining category subcategory paths with the diagram URLs returned by
get_parts_by_category - Cross-reference OEM part numbers against aftermarket catalogs using the
part_numberandattributesfields fromget_part_detail - Automate inventory monitoring by periodically polling
search_partswith known part numbers and tracking price changes - Build a vehicle-to-parts hierarchy for a Honda repair app using the year → model → trim → transmission chain
| 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 | 100 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 HondaPartsNow have an official developer API?+
What does `get_part_detail` return beyond the price?+
get_part_detail returns msrp, price, savings (amount and percentage), a name string, an attributes object of key-value specification pairs, the part_number, and a fitment_compatibility array. Each fitment entry includes year, make_model, and body_trim, so you can see every Honda vehicle the part fits. If the part number is not found, the response includes a stale_input field with kind input_not_found.Does keyword search return part results?+
search_parts return a message field and an empty results array, because keyword-based browsing on hondapartsnow.com requires a vehicle to be selected first. Part number queries do return full results. You can fork this API on Parse and revise it to add a vehicle-scoped keyword search endpoint if that behavior is needed.Does the API cover Acura or other Honda-affiliated brands?+
lookup_by_vin returns currentMake as Honda, and get_models_by_year lists Honda model names. You can fork this API on Parse and revise it to point at an Acura-specific parts source if you need Acura data.Is there any pagination for `get_parts_by_category` or `search_parts` results?+
partList array from get_parts_by_category and the results array from search_parts return what is available for the given query in a single response. You can fork this API on Parse and revise it to add offset or page parameters if the source supports them.