Mazda APImazda.ca ↗
Retrieve current Mazda Canada vehicle deals, trim-level financing and lease rates, incentives, and payment quotes by province via 3 structured endpoints.
What is the Mazda API?
The Mazda Canada API provides access to current Canadian vehicle offers, financing rates, lease terms, and payment calculations across 3 endpoints. get_deals returns every active model with MSRP, APR options, residual values, cash incentives, and vehicle images. get_trims breaks those offers down to the trim level, and get_payment_quote calculates weekly, bi-weekly, and monthly payment figures for a specific vehicle configuration — all with province-specific pricing.
curl -X GET 'https://api.parse.bot/scraper/ceb42363-bc22-4bd6-bbb4-335caba2c4de/get_deals?language=en&province=ON' \ -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 mazda-ca-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.mazda_canada_vehicle_deals___offers_api import MazdaCanada, Province, ProductType, Language
mazda = MazdaCanada(api_key="YOUR_API_KEY")
# List all current deals in Ontario
for deal in mazda.deals.list(province=Province.ON, language=Language.EN):
print(deal.model_name, deal.model_year, deal.msrp)
print(deal.financing.default_term_months)
for rate in deal.financing.rates:
print(rate.term_months, rate.apr_rate)
# Get trims for a specific model/year
for trim in mazda.trims.list(year="2026", model="CX-5", province=Province.BC):
print(trim.trim_name, trim.msrp, trim.model_code)
print(trim.leasing.default_term_months)
# Calculate a payment quote from a deal
deal = mazda.deal(model_code="NXXL86")
quote = deal.payment_quotes.calculate(product_key=ProductType.LOAN, down_payment=5000)
print(quote.monthly_payment, quote.monthly_payment_with_taxes, quote.apr_rate)
Get all current vehicle deals and offers from Mazda Canada. Returns every available model/year with MSRP, financing rates (APR for all terms), lease rates, residual values, cash incentives/rebates, fees, vehicle images, and promotional text. Province determines region-specific pricing and fees.
| Param | Type | Description |
|---|---|---|
| language | string | Language code for response content. |
| province | string | Canadian province code for region-specific pricing and fees. |
{
"type": "object",
"fields": {
"deals": "array of Deal objects with model info, pricing, financing, leasing, fees, and incentives",
"language": "string language code used",
"province": "string province code used",
"total_deals": "integer count of deals returned"
},
"sample": {
"data": {
"deals": [
{
"fees": {
"A/C Tax": 100,
"Freight": 1455,
"Administration Fee": 795
},
"msrp": 36300,
"is_ev": false,
"title": "2026 CX-5",
"leasing": {
"rates": [
{
"lease_rate": 0.99,
"term_months": 24,
"residual_percent": 68
}
],
"default_term_months": 60
},
"financing": {
"rates": [
{
"apr_rate": 1.99,
"term_months": 24
}
],
"default_term_months": 84
},
"sales_tax": {
"GST": 0,
"HST": 13,
"PST": 0
},
"ev_rebates": [],
"incentives": {
"grad_award": 500,
"mazda_bonus": 0,
"retail_cash": 0,
"loyalty_cash": 500,
"military_bonus": 600,
"first_time_owner": 0,
"loyalty_rate_reduction": 1
},
"model_code": "NXXL86",
"model_name": "MAZDA CX-5",
"model_year": "2026",
"description": "Compact SUV",
"option_code": "AA00",
"vehicle_url": "https://www.mazda.ca/en/vehicles/cx-5/",
"vehicle_image": "https://www.mazda.ca/globalassets/mazda-canada/build-and-price/jellies/2026-CX-5-Nav.png",
"is_coming_soon": false,
"promotional_text": "LEASE FROM 2.99%",
"incentives_banner": "$500 BONUS",
"build_and_price_url": "https://www.mazda.ca/en/shopping-tools/build-and-price/"
}
],
"language": "en",
"province": "ON",
"total_deals": 20
},
"status": "success"
}
}About the Mazda API
What the API Covers
The API surfaces current Mazda Canada promotional offers for all available models and model years. The get_deals endpoint returns an array of deal objects that each include model_name, model_year, msrp, full financing and leasing structures (APR for all terms, residual values, and lease rates), incentives such as cash rebates, applicable fees, and a vehicle_image URL. Both language (en or fr) and province (e.g. ON, QC, BC) are optional filters that shift pricing and fee calculations to match the customer's region.
Trim-Level Detail
get_trims accepts a required year and model slug (e.g. CX-5, CX-70-MHEV) and returns an array of trims, each with trim_name, msrp, model_code, option_code, and full financing, leasing, and incentives objects. The model_code and option_code fields are what you pass downstream to get_payment_quote. If the year/model/province/language combination has no matching data, the response includes a stale_input field with kind: input_not_found instead of silently returning an empty array.
Payment Quote Calculation
get_payment_quote uses the model_code from either get_deals or get_trims as its required input. Supply optional parameters — province, loan_term or lease_term (in months), down_payment, and product_key (loan or lease) — to get back weekly_payment, biweekly_payment, monthly_payment, and monthly_payment_with_taxes alongside the apr_rate and msrp that were used in the calculation. This makes it straightforward to compare payment structures across terms or provinces for the same vehicle.
The Mazda API is a managed, monitored endpoint for mazda.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mazda.ca 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 mazda.ca 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?+
- Display current Mazda Canada financing APR and lease rates on a dealer or comparison website, filtered by province
- Build a payment estimator that uses model_code and loan_term to return weekly and monthly payments including taxes
- Aggregate all active cash incentives and rebates across Mazda Canada models for a deal-alert tool
- Compare trim-level MSRP differences and residual values for a specific model like the CX-5 or CX-30
- Generate French-language offer summaries by passing language=fr to get_deals for Quebec-facing content
- Track changes in APR rates or residual values over time by polling get_deals periodically per province
- Feed trim-level option_code and model_code into a configurator that outputs bi-weekly payment quotes
| 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.