MBUSA APImbusa.com ↗
Search new Mercedes-Benz vehicle inventory across US dealers by zip code. Filter by model class, fuel type, color, year, and more via a single API endpoint.
What is the MBUSA API?
The MBUSA Inventory API provides access to new Mercedes-Benz vehicle listings across US dealers through a single search_inventory endpoint that returns over 15 response fields per vehicle, including VIN, MSRP, inventory price, drivetrain, fuel type, and dealer proximity. Results are paginated and sorted by distance from a given zip code by default, with filters available for model class, body style, color, year, and radius.
curl -X GET 'https://api.parse.bot/scraper/8f2682b3-a4ea-4734-9f81-78b18bb9bf67/search_inventory?zip=10001&page=1&year=2025&class=GLC&color=BLK&count=5&sort_by=distance-asc&distance=10&fuel_type=G&body_style=SUV' \ -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 mbusa-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.
"""Search Mercedes-Benz new vehicle inventory by location with typed filters."""
from parse_apis.mercedes_benz_usa_vehicle_inventory_api import (
MercedesBenz, Sort, BodyStyle, FuelType, Distance, InvalidZipCode
)
client = MercedesBenz()
# Search for nearby vehicles sorted by price, capped at 5 results.
for vehicle in client.vehicles.search(zip="10001", sort_by=Sort.PRICE_ASC, limit=5):
print(vehicle.model_name, vehicle.year, vehicle.msrp, vehicle.exterior_color)
# Drill into one electric vehicle near Los Angeles.
ev = client.vehicles.search(
zip="90210", fuel_type=FuelType.ELECTRIC, distance=Distance.FIFTY_MILES, limit=1
).first()
if ev:
print(ev.vin, ev.model_name, ev.engine)
print(ev.dealer.name, ev.dealer.address.city, ev.dealer.location.distance_miles)
for payment in ev.monthly_payments:
print(payment.type, payment.monthly_payment, payment.term_months)
# Filter SUVs by color within 25 miles.
for suv in client.vehicles.search(
zip="60601", body_style=BodyStyle.SUV, distance=Distance.TWENTY_FIVE_MILES, limit=3
):
print(suv.model_name, suv.body_style, suv.dealer.name)
# Handle invalid input gracefully.
try:
client.vehicles.search(zip="", limit=1).first()
except InvalidZipCode as exc:
print(f"Bad zip: {exc}")
print("exercised: vehicles.search with Sort, FuelType, BodyStyle, Distance enums + InvalidZipCode")
Search new Mercedes-Benz vehicle inventory by US zip code. Returns paginated listings with full specs, pricing, dealer info, and available filter facets for refinement. Sorted by distance from zip by default. Each vehicle includes VIN, MSRP, engine, colors, features, dealer location with distance, and monthly payment estimates. The available_filters object enumerates every filterable dimension with counts, enabling progressive narrowing.
| Param | Type | Description |
|---|---|---|
| ziprequired | string | US zip code to search near (e.g. '10001', '90210', '60601') |
| page | integer | Page number (1-based) |
| year | string | Model year filter (e.g. '2025', '2026'). Use available_filters.year in response for current valid values. |
| class | string | Model class filter (e.g. 'GLE', 'GLC', 'C', 'S', 'E', 'CLA', 'GLA', 'SL', 'EQS', 'EQE', 'CLE'). Use available_filters.modelIdentifier in response for valid values. |
| color | string | Exterior color filter code |
| count | integer | Number of vehicles per page |
| sort_by | string | Sort order for results |
| distance | string | Distance radius in miles from zip code |
| fuel_type | string | Fuel type filter |
| body_style | string | Body style filter |
{
"type": "object",
"fields": {
"zip": "string - searched zip code",
"page": "integer - current page number",
"vehicles": "array of Vehicle objects with full specs, pricing, dealer info",
"page_size": "integer - requested page size",
"total_count": "integer - total matching vehicles",
"returned_count": "integer - actual vehicles returned on this page",
"available_filters": "object - filter facets with counts for progressive narrowing"
}
}About the MBUSA API
What the API Returns
The search_inventory endpoint accepts a required US zip code and returns a paginated list of in-stock new Mercedes-Benz vehicles sourced from dealers nationwide. Each vehicle object includes vin, year, class_name, model_name, body_style, msrp, inventory_price, engine, fuel_type, and drive_train. The response also includes total_count, returned_count, and page for pagination control.
Filtering and Sorting
You can narrow results using optional parameters: class (e.g. GLE, EQS, C), color using standardized codes like BLK, WHT, or BLU, fuel_type, year, and distance (10 to 500 miles, or ALL). The sort_by parameter accepts distance-asc, price-asc, or price-desc. The count parameter controls page size, and page handles pagination.
Available Filters in Response
Every response includes an available_filters object listing filter options with item counts across dimensions: bodyStyle, color, fuelType, modelIdentifier, year, distance, and price. This lets you build dynamic filter UIs or drill down progressively without making separate metadata calls.
Coverage and Scope
The API covers new vehicle inventory only, across US dealers, scoped to a zip code radius. Results reflect dealer stock as listed on mbusa.com. The inventory_price field may differ from msrp when dealer-level pricing adjustments are present.
The MBUSA API is a managed, monitored endpoint for mbusa.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mbusa.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 mbusa.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 zip-code-based car shopping tool that surfaces nearby Mercedes-Benz inventory sorted by price
- Monitor MSRP vs. inventory_price spreads across dealers for a specific model class like GLE or EQS
- Track new EV inventory (EQS, EQE) availability using the fuel_type filter across multiple metro areas
- Generate alerts when a specific color or class combination becomes available within a given radius
- Aggregate inventory counts by body style or model class using available_filters response data
- Compare dealer stock depth across zip codes for sales territory analysis
- Feed a vehicle comparison tool with real-time specs including engine, drivetrain, and pricing
| 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.