Skip to main content
June 9, 2026
DocsNon-breaking
Added data model and glossary guides

Added

  • Added How the Data Works, covering listings, VINs, dealers, inventory modes, deduplication, sold inventory, advertised pricing semantics, null handling, and recommended workflows.
  • Added Glossary, defining public fields, filters, response concepts, usage terms, and vehicle-market vocabulary.
  • Clarified that sold inventory requires at least three days missing from the dealer inventory feed, discount_from_msrp uses combined MSRP, and price is the dealer’s main advertised listing price.

Compatibility

Non-breaking; no request changes required.
June 9, 2026
DocsNon-breaking
Expanded Public API onboarding guides and examples

Added

  • Added dedicated guides for authentication and scopes, filter and facet discovery, API errors and retries, and common copyable workflows.
  • Added embedded request and successful response examples to each generated Public API reference operation.
  • Reorganized the Guides navigation into Start, Core concepts, Workflows, and Updates sections.

Compatibility

Non-breaking; no request changes required.
June 9, 2026
APIMCPDocsNon-breaking
Clearer facet guidance and stricter closed-vocabulary filters

Changed

  • MCP search results and public docs now call out the facet response envelope: categorical buckets are under data.facets.<name>, numeric buckets under data.range_facets.<name>, and stats under data.stats.<name>.
  • inventory_type, exclude_inventory_type, keywords, exclude_keywords, and listing dealer_type filters now validate their supported tokens. inventory_type=cpo is accepted as an alias for certified.
  • Listing and facet filters now support powertrain_type, exclude_inventory_type, exclude_body_type, exclude_transmission, and exclude_drivetrain.
  • Invalid VIN characters and malformed dealer IDs now return targeted validation_error responses instead of being conflated with missing resources or transient data errors.

Compatibility

Non-breaking for valid requests. Requests that previously relied on unsupported closed-vocabulary values returning empty result sets should remove the typo or discover open categorical values with /v1/facets before filtering.
June 8, 2026
APIDeprecatedNon-breaking
Dealer visibility, profile batching, and listings search compatibility

Added

  • /v1/dealers?dealer_id=id1,id2 now returns matching dealer profiles for up to 100 comma-separated dealer IDs.

Changed

  • Public dealer, listing, facet, VIN, and listing-detail responses now consistently omit dealer sources that are not eligible for Public API exposure.
  • MCP operation search now surfaces the dealer ID lookup filter for dealer profile batches.
  • Deprecated /v1/listings/search compatibility requests continue to execute and return migration headers. per_page maps to limit, and one-based page maps to offset.

Compatibility

Non-breaking; no request changes required for dealer visibility filtering or dealer ID lookup. New code should use /v1/listings?limit=...&offset=...; existing /v1/listings/search callers should migrate before the sunset date in the response headers.
June 6, 2026
MCPAPINon-breaking
MCP usage summary and listing response guidance

Changed

  • MCP visor.usage.summary() now accepts an omitted query object.
  • Listing fields validation errors now clarify that fields controls response projection and list the supported listing fields.
  • MCP listing guidance now calls out response.data for rows and response.pagination.total for collection totals.

Compatibility

Non-breaking; existing requests continue to work.
June 5, 2026
MCPDocsNon-breaking
MCP detail lookups and listing field guidance

Changed

  • MCP visor.vins.get(vin) and visor.listings.get(listingId) now accept omitted options objects.
  • MCP search results and generated listing field docs now more clearly distinguish response fields from filters such as availability_status, options_packages, and features.

Compatibility

Non-breaking; existing requests continue to work.
June 3, 2026
APIBillingNon-breaking
Starter API Credit now follows subscription plan

Changed

  • New self-serve Public API accounts receive one-time starter API Credit based on subscription plan: Free $1, Plus weekly $5, Plus monthly $10, Plus annual $50, and Plus lifetime $100.

Compatibility

Non-breaking. Starter credit is promotional and does not count as Eligible Paid Credit for automatic Usage Tier promotion.
June 3, 2026
MCPDocsNon-breaking
Expanded MCP agent setup guide

Changed

  • The MCP setup guide has clearer app-specific connection steps, OAuth and bearer-token guidance, and examples for chat apps, coding agents, generic MCP clients, and API-based MCP usage.

Compatibility

Non-breaking; no request changes required.
June 1, 2026
APIDocsNon-breaking
Price history entries include mileage

Added

  • include=price_history responses now include miles on each price change event when odometer data is available.

Compatibility

Non-breaking; no request changes required. Existing clients can ignore the new nullable response field.
May 31, 2026
APIMCPDocsNon-breaking
MCP search guidance and listing dealer type field

Changed

  • /v1/listings and dealer listing collections now allow fields=dealer_type to return the listing dealer type.
  • MCP search results now include parameter descriptions and response notes, including where collection totals are returned.

Compatibility

Non-breaking; no request changes required.
May 29, 2026
APIBillingNon-breaking
Self-serve API accounts start with starter credit

Added

  • New self-serve Public API accounts receive $1.00 in promotional API Credit.

Compatibility

Non-breaking. Starter credit is promotional and does not count as Eligible Paid Credit for automatic Usage Tier promotion.
May 25, 2026
APIFiltersNon-breaking
Dealer make filters use compatible slug matching

Changed

  • /v1/dealers?make=... now matches represented Dealer Makes with the same display-name and slug handling used by Listing filters.

Compatibility

Non-breaking; no request changes required.
May 24, 2026
APIFiltersNon-breaking
Model filters handle punctuation consistently

Changed

  • Make/model filters now match vehicle names with punctuation, symbols, or accents more consistently across public inventory queries.

Compatibility

Non-breaking; no request changes required.
May 23, 2026
MCPDocsNon-breaking
MCP facet metric types include discount from MSRP

Changed

  • MCP facet metric types and generated OpenAPI descriptions now include discount_from_msrp, matching the existing /v1/facets contract.

Compatibility

Non-breaking. Existing /v1/facets HTTP clients do not need to change.
May 22, 2026
MCPRate limitsNon-breaking
MCP execute workflows pace and retry rate-limited API calls

Changed

  • Increased the MCP execute workflow ceiling from 10 to 50 underlying public API requests.
  • Added MCP-side pacing, bounded 429 retries, and retry_after_seconds guidance when the client needs to wait.

Compatibility

Non-breaking. Underlying public API calls still count against normal rate limits, metering, and monthly spend controls.
May 21, 2026
APIDocsBreaking
Availability status replaces public in-transit filtering

Changed

  • /v1/listings and /v1/facets now use availability_status values: stock, transit, and build.
  • Removed public in_transit filtering. Use availability_status=stock instead of in_transit=false, and availability_status=transit,build instead of in_transit=true.

Compatibility

Breaking. Update clients that send in_transit.
May 20, 2026
MCPAPIDocsNon-breaking
Hosted MCP server for agent access to the Visor Public API

Added

  • Released the hosted MCP server at https://mcp.visor.vin/mcp with OAuth and bearer-token authentication.
  • Added search and execute tools for agent access to the Visor Public API.

Compatibility

Non-breaking. MCP calls map to the existing public /v1 API contract and record normal public API Usage Events.