Check whether a car's asking price is a good deal
demand.price_checkTell the user whether the asking price on ONE specific car is a good deal. Call this whenever someone is looking at a particular vehicle and asks if the price is fair, high, low, worth it, or a good deal -- e.g. 'I am thinking of a 2017 Lexus ES 350 with 80k miles for $21k, decent deal?', 'is $34,500 too much for this F-150?', or when they paste a listing link and ask what you think. Pass the whole sentence as query, plus the listing url if they gave one. Returns where that asking price sits among comparable cars listed right now (percentile, median, typical range) with the size of the sample, mileage-matched when we have enough cars. Use demand.find_vehicle instead when the user is still choosing which car to buy rather than pricing one they found.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Listing URL if they pasted one. We read the year/make/model from the link itself and never fetch the page. | |
| vin | No | 17-character VIN if known | |
| zip | No | 5-digit US zip. Without it the comparison is national rather than local. | |
| make | No | ||
| trim | No | ||
| year | No | ||
| model | No | ||
| query | No | What the user said, in their words, e.g. '2017 Lexus ES 350, 80k miles, asking $21k' | |
| mileage | No | Odometer miles. The single biggest thing a used price turns on; pass it whenever the user said it. | |
| client_ref | No | Optional stable, non-identifying reference for this end user (any opaque string; we hash it). | |
| radius_miles | No | Comparison radius, default 100 | |
| asking_price_cents | No | The asking price in cents, if you can state it exactly |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| caveats | No | ||
| verdict | Yes | ||
| headline | Yes | ||
| comparison | Yes | ||
| percentile | No | ||
| understood | No | ||
| delta_cents | No | ||
| clarifying_question | No |