Toyota APItoyota.com ↗
Access Toyota's full vehicle lineup, trim specs, ZIP-based promotional offers, and dealer locations via 4 structured API endpoints.
What is the Toyota API?
The Toyota.com API exposes 4 endpoints covering Toyota's current vehicle lineup, trim-level specifications, regional promotional offers, and dealer locations across the US. The get_all_vehicles endpoint returns the complete model catalog with MSRP, MPG ratings, seating capacity, and category for every current Toyota model — no parameters required. Other endpoints drill into specific trims, active financing deals, and nearby authorized dealerships.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/6ca64068-f04b-418c-bf08-4c8582994fe3/get_all_vehicles' \ -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 toyota-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.
from parse_apis.toyota.com_api import Toyota, Vehicle, Grade, Trim, Dealer
client = Toyota()
# List all Toyota vehicles
for vehicle in client.vehicles.list():
print(vehicle.series, vehicle.display_name, vehicle.base_msrp, vehicle.top_label)
# Get trims for a specific vehicle by constructing it from its series key
camry = client.vehicle(series="camry")
for grade in camry.trims.list(year="2025"):
print(grade.model_grade_code, grade.model_grade_name)
for trim in grade.vehicle_trims:
print(trim.trim_name, trim.msrp, trim.horsepower, trim.fuel_type)
for color in grade.applicable_colors:
print(color.color_name, color.hex_source)
# Get offers for a vehicle in a specific ZIP code
for region in camry.offers.list(year="2025", zipcode="10001"):
print(region.code, region.tda_name, region.total_offers)
for offer in region.offer_bundle.offers:
print(offer.title, offer.offer_type, offer.start_date, offer.end_date)
# Search for nearby dealers
for dealer in client.dealers.search(zipcode="10001"):
print(dealer.name, dealer.address1, dealer.city, dealer.state, dealer.distance)
Returns all current Toyota vehicle models with basic specifications. Each vehicle includes series slug, display name, model year, category, base MSRP, fuel economy (city/highway/combined MPG), seating capacity, and a top label indicating powertrain type. No parameters required. The list covers the full Toyota lineup across all categories.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer total count of vehicles returned",
"vehicles": "array of vehicle objects with series, display_name, year, category, base_msrp, city_mpg, hwy_mpg, combined_mpg, seating, top_label, and image"
},
"sample": {
"data": {
"total": 38,
"vehicles": [
{
"year": "2026",
"image": "https://tmna.aemassets.toyota.com/is/image/toyota/toyota/jellies/relative/2026/4runner/base.png",
"series": "4runner",
"hwy_mpg": "26",
"seating": "7",
"category": "suvs,Crossovers & SUVs",
"city_mpg": "20",
"base_msrp": "42070",
"top_label": "Hybrid EV Available",
"combined_mpg": "22",
"display_name": "4Runner"
}
]
},
"status": "success"
}
}About the Toyota API
Vehicle Catalog and Trim Data
The get_all_vehicles endpoint returns every current Toyota model in a single call, including base_msrp, city_mpg, hwy_mpg, combined_mpg, seating, and category. No input parameters are required. To get trim-level detail, get_vehicle_trims accepts a year and series slug (e.g. 'camry', '4runner', 'rav4') and returns a VehicleTrims array with individual trimId, trimName, msrp, Engine, Transmission, horsepower, fuelType, and city/highway/combined MPG per grade. Each grade also includes an ApplicableColors array with colorId, colorName, and hexSource for paint visualization.
Regional Offers and Financing Deals
get_vehicle_offers takes a year, series, and an optional 5-digit zipcode to return location-specific promotional deals. The response includes an offerBundle with individual offer objects carrying offerType (lease, APR, cash back, military, college rebate), title, description, startDate, endDate, and deal-specific terms. The tdaName and code fields identify which Toyota Dealer Association region the offers apply to, so the same model can return different deals depending on ZIP code.
Dealer Locator
get_dealer_locator requires a 5-digit zipcode and returns a dealers array sorted by proximity. Each dealer object includes name, address1, city, state, zip, phone, distance, url, lat, long, plus separate sales and service hours. The numDealer and totalDealer fields indicate how many results are in the current response versus the total matched.
The Toyota API is a managed, monitored endpoint for toyota.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when toyota.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 toyota.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 side-by-side model comparison tool using
base_msrp, MPG, and seating fromget_all_vehicles - Display available exterior colors per trim using
ApplicableColorsfromget_vehicle_trims - Show region-specific lease and APR deals by passing a user's ZIP code to
get_vehicle_offers - Surface military or college rebate offers by filtering
offerTypein theofferBundleresponse - Embed a dealer finder widget using distance, hours, and phone from
get_dealer_locator - Track MSRP changes across trim grades by polling
get_vehicle_trimsfor a given model year - Alert users when new promotional offers go live by monitoring
startDateandendDatefields
| 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 Toyota have an official public developer API?+
What does `get_vehicle_offers` return, and does the ZIP code actually change the results?+
tdaName and code identifying the Toyota Dealer Association region tied to the ZIP code. The offerBundle array can contain different lease terms, APR rates, cash-back amounts, and special rebates (military, college) depending on which region the ZIP maps to. Omitting the zipcode parameter returns a default regional result.Does `get_vehicle_trims` return inventory or stock availability at dealerships?+
get_vehicle_trims covers model-level trim specifications: MSRP, engine, transmission, horsepower, fuel type, MPG, and available colors per grade. It does not return live dealer inventory or VIN-level stock. You can fork this API on Parse and revise it to add an inventory endpoint if that data is needed.Are used or certified pre-owned vehicles included in `get_all_vehicles`?+
Is there a pagination mechanism for `get_dealer_locator` when many dealers match a ZIP code?+
numDealer (dealers in the current response) and totalDealer (total matched). The current endpoint returns results sorted by proximity but does not expose offset or page parameters for paginated traversal of the full result set.