# NotAQuote.FYI > A free, open-source planning tool for US car insurance. It estimates what a car, a teen driver, a move, or a coverage change would do to a typical yearly bill, from public data, with every number sourced or labeled as our own estimate. It gives ranges, not quotes, and it sells nothing. This file is for AI assistants. There's a read-only JSON API at https://notaquote.fyi/api/v1 that runs the same math as the site. No key needed. Your user's browser isn't needed either: every answer below is one plain GET. ## What it is, and what it isn't - It's a ballpark for planning. It is not a quote, and we're not an insurer, agent, or broker. Only an insurer can give a real price. - Every estimate is a range. Real quotes can land above or below it. Show the range, not only the middle figure. - It starts from a typical price for the state (NAIC's 2023 average for full coverage, brought up to today with the government's price index for car insurance), then adjusts for the driver, the car, the place, and the coverage. - Each adjustment is either from a public source or labeled as our best guess, and guesses widen the range. The car adjustment comes from HLDI's insurance-claims results for that model, or the average for its kind of car when we don't have the model (`claimsData` says which). - It covers insurance cost only. It knows nothing about crash-test ratings, reliability, or whether a car fits the family. Say so, and point to IIHS (https://www.iihs.org/ratings, and its list of safe used cars for teens: https://www.iihs.org/ratings/safe-vehicles-for-teens) and NHTSA (https://www.nhtsa.gov/ratings) for safety. - Figures are for one car on the policy. With a teen added, the parent is assumed to be 40–64 with a clean record. - There's no place to send a premium, a VIN, a ZIP code, or a name, and we turn away requests that plainly include one. Only a state, a few bands, and car names. - Always include the model year in a car name ("2019 Honda Accord"). Without one we assume 2022, and say so. ## Recipes ### A. "Pick N cars for our teen" (cheap to insure, plus whatever else they want) 1. Price a broad list in one request. The site's list of popular first cars is built in: https://notaquote.fyi/api/v1/compare?state=IL&age=16-18&policy=added&cars=popular:first-cars Change `state` to theirs. `policy=added` (the default for 16–18) means the teen joins a parent's policy, which is the usual case; `policy=own` prices the teen alone and costs much more. Add `region=urban|suburban|rural` if you know it. The model year defaults to 2022 (about the age of a typical first car); set `year=` to change it. 2. Want more choice? Price a second list and merge: `cars=popular:suvs`, `cars=popular:trucks-and-fun`, or up to 15 of your own cars as ids (from https://notaquote.fyi/api/v1/cars?q=...) or names like "2021 Mazda CX-5". Every compare answer also has `related`: ready-to-fetch links for the other lists, the other policy choice, and other states. Here are SUVs for a teen in Texas: https://notaquote.fyi/api/v1/compare?state=TX&age=16-18&policy=added&cars=popular:suvs Can't build URLs? https://notaquote.fyi/llms-full.txt lists these links for every state. 3. Read `results`: they're sorted cheapest first by `teenAdds.yearly` (what adding the teen costs a year with that car). `wholePolicy.range` is the whole household policy's range. `gapToCheapest` is the gap to the cheapest car. `why` says what sets a car apart from the others in the list; `whyVsAverageCar` compares it with an average car. `rangeNotes` flags cars whose range reaches higher (sporty ones, pricey repairs). 4. Choose. Gaps between cars are often smaller than the ranges, so let the user's other wants decide among the cheaper ones ("not boring", room for gear, all-wheel drive). If they want something sporty, include it but say its range reaches higher. 5. Answer with, for each car: the name (`label`), about how much adding the teen costs a year (and a month), the whole-policy range, and one line of why. Then: where the numbers start (`startingPoint.attribution`), that it's not a quote (`disclaimer`), a suggestion to check IIHS and NHTSA safety ratings for each car, and the `siteUrl` so they can open the same list on the site, star favorites, and print it. The link opens the same view on the site, worked out fresh, with no dollar amounts in the link. For a teen added to a parent's policy, the site uses the visitor's saved situation (the parent's age and record) if they've set one; in a fresh browser it assumes a 40–64-year-old parent with a clean record, the same as these numbers. ### B. "What if I buy X?" https://notaquote.fyi/api/v1/whatif?state=IL&age=40-64&car=2020-toyota-camry&to=2025%20Tesla%20Model%20Y `car` is the car they have now, `to` is the one they're thinking about. For "X or Y?", one compare call with the current car and both choices is simpler, and it sorts them for you: https://notaquote.fyi/api/v1/compare?state=CA&age=40-64&cars=2019%20Honda%20Accord,2025%20Tesla%20Model%20Y,2025%20Toyota%20RAV4%20Hybrid In a what-if, read `headline`, `difference.yearly` (and its `parts`), and `now` and `next` with their ranges. Add `state`, `age`, and `coverage` if you know them. Other what-ifs: `toAge=16-18&policy=added` (adding a teen), `toDeductible=2000`, `toCoverage=standard`, `toRegion=urban`. ### C. "How do prices compare between states?" - One household moving: https://notaquote.fyi/api/v1/whatif?state=IL&age=40-64&car=2020-toyota-camry&toState=CO - The same cars in two states: send the same compare request with a different `state`: https://notaquote.fyi/api/v1/compare?state=CO&age=16-18&cars=2022-honda-civic-4dr,2022-toyota-rav4 https://notaquote.fyi/api/v1/compare?state=TX&age=16-18&cars=2022-honda-civic-4dr,2022-toyota-rav4 We have a typical price for all 50 states and DC. Moving between states carries its own uncertainty, which the range includes. ## Endpoints All are GET, return JSON, and accept only the parameters listed. Names match without regard to case, dashes, or underscores. Anything left out gets the site's default, and the response echoes the full driver back (`driver`, with `defaultsUsed`). ### /api/v1 The index: every endpoint, parameter, allowed value, and an example. https://notaquote.fyi/api/v1 ### /api/v1/cars Find cars and their ids. Understands "2022 honda civic", "model y", "crv", "f150". With no `q`, returns the site's popular lists, each with a preset name you can pass to compare (popular:first-cars, popular:suvs, popular:trucks-and-fun, popular:starter-mix). - `q`: What to search for: "civic", "2022 honda civic", "model y", "f150". Leave it out to get the site's popular lists. - `year`: Model year. A year inside q wins. Without either we use 2022, about the age of a typical first car (or the nearest year that has the car). Default: 2022. - `limit`: How many models to return, 1 to 50. Default: 10. Examples: - https://notaquote.fyi/api/v1/cars - https://notaquote.fyi/api/v1/cars?q=2022%20honda%20civic - https://notaquote.fyi/api/v1/cars?q=model%20y&year=2024 - https://notaquote.fyi/api/v1/cars?q=f150 Each match has `id` (like "2022-honda-civic-4dr": model year, make, model, and version), `year`, `make`, `model`, `trim` (the version), `vehicleClass`, `powertrain`, `claimsData` ("model", "class-average", or "unknown"), `yearsAvailable`, and `otherTrims`. ### Driver parameters (compare and whatif) - `state`: Two-letter state code, or DC. Full names like "Illinois" work too. Values: two-letter state codes (AL … WY, and DC). Default: IL. - `age`: The driver's age band. A single age like 16 or 45 is turned into its band. For 65+, send 65. Values: 16-18 | 19-21 | 22-25 | 26-39 | 40-64 | 65+. - `policy`: For a 16–18-year-old: "added" to a parent's policy (the usual case, and the default) or on their "own" policy. Only applies to age 16-18. Values: added | own. - `coverage`: state-minimum: the state's legal minimum. standard: liability only, 100/300/100. full: liability plus collision and comprehensive. high: full with 250/500/250 limits. Values: state-minimum | standard | full | high. Default: full. - `deductible`: What you pay yourself before collision or comprehensive pays. Only matters with full or high coverage. Values: 500 | 1000 | 2000. Default: 1000. - `region`: Where the car is kept: city, suburbs, or small town or country. Values: urban | suburban | rural. Default: suburban. - `years`: Years licensed. Only counts from age 26. For 10+, send 10. Default: under-1 for 16–18, 1-3 for 19–21, 4-9 for 22–25, otherwise 10+. Values: under-1 | 1-3 | 4-9 | 10+. - `incidents`: At-fault accidents in the last three years. Values: clean | one | two-or-more. Default: clean. - `mileage`: Miles driven a year. Values: under-7500 | 7500-15000 | over-15000. Default: 7500-15000. - `student`: Good-student discount (under 26). Values: 0 | 1. Default: 0. - `training`: Driver-training discount (under 22). Values: 0 | 1. Default: 0. - `household`: Bundled with home or renters insurance. Values: 0 | 1. Default: 0. - `loan`: The car has a loan or lease (only matters with full or high coverage). Values: 0 | 1. Default: 0. ### /api/v1/compare Price up to 15 cars for one driver, cheapest first. Takes the driver parameters (age defaults to 16-18), plus: - `cars`: Required. Up to 15 cars, separated by commas: ids from /api/v1/cars (best), names like "2024 Tesla Model Y", or one of the site's lists: popular:first-cars, popular:suvs, popular:trucks-and-fun, popular:starter-mix (for the model year in `year`). You can also repeat cars=. - `year`: Model year for car names that don't include one. Default: 2022. Examples: - https://notaquote.fyi/api/v1/compare?state=IL&age=16-18&policy=added&cars=2022-honda-civic-4dr,2022-toyota-corolla,2022-subaru-crosstrek-awd,2022-mazda-3-4-door-2wd,2022-hyundai-kona-awd - https://notaquote.fyi/api/v1/compare?state=TX&age=16-18&policy=own&coverage=standard&cars=2022%20Honda%20Civic,2022%20Toyota%20Camry,2022%20Ford%20Mustang - https://notaquote.fyi/api/v1/compare?state=CA&age=40-64&coverage=full&deductible=500&cars=2024%20Tesla%20Model%20Y,2024%20Toyota%20RAV4 Per car: `rank`, the car's details, `resolution` (what your input matched, with `confidence`: exact for an id, high for one clear match, medium when we had to choose; read `note` and `alternatives`), then either `yearly`, `monthly`, and `range` (own policy) or `teenAdds` and `wholePolicy` (a teen added to a parent's policy), plus `label` (the name to use in sentences, with the version when it matters, like "2025 Toyota RAV4 Hybrid AWD"), `gapToCheapest`, `why`, `whyVsAverageCar`, `claimsData`, `rangeNotes`, and `explanation`. For the whole answer: `summary` (one line, like the site's), `startingPoint`, `notes`, `howToRead`, `disclaimer`, `sources`, `siteUrl`, `related`, and `versions`. ### /api/v1/whatif What one or more changes do to a typical yearly bill, piece by piece. Takes the driver parameters for the situation now (age defaults to 40-64), plus: - `car`: The car you have now: an id or a name like "2020 Toyota Camry". Default: 2020-toyota-camry. - `to`: A car to switch to: an id or a name like "2025 Tesla Model Y". - `toState`: Move to another state. Values: two-letter state codes (AL … WY, and DC). - `toRegion`: Move to a city, the suburbs, or a small town. Values: urban | suburban | rural. - `toCoverage`: Change coverage. Values: state-minimum | standard | full | high. - `toDeductible`: Change the deductible. Values: 500 | 1000 | 2000. - `toAge`: Change the driver's age band. toAge=16-18 adds a new teen driver (see policy). Values: 16-18 | 19-21 | 22-25 | 26-39 | 40-64 | 65+. - `toIncidents`: Change the driving record. Values: clean | one | two-or-more. - `toMileage`: Change the miles driven. Values: under-7500 | 7500-15000 | over-15000. Examples: - https://notaquote.fyi/api/v1/whatif?state=IL&age=40-64&car=2020-toyota-camry&to=2025%20Tesla%20Model%20Y - https://notaquote.fyi/api/v1/whatif?state=IL&age=40-64&car=2020-toyota-camry&toAge=16-18&policy=added - https://notaquote.fyi/api/v1/whatif?state=IL&age=40-64&car=2020-toyota-camry&toState=CO - https://notaquote.fyi/api/v1/whatif?state=OH&age=26-39&car=2021%20Honda%20CR-V&toDeductible=2000 Returns `headline`, `mode` ("change", "teen-added", or "teen-own"), `now` and `next` (each with `yearly`, `monthly`, and `range`), `difference` (with `parts`), `startingPoint`, `notes`, `sources`, `siteUrl`, and `related` (ready-to-fetch links: both cars side by side, adding a teen, a higher deductible, other states). For "teen-own" the teen gets a separate policy, so `next` is their own bill and `difference` is null. ## How to read and present the numbers - These are planning estimates, not quotes. Only an insurer can give a real price. - Show the range (low to high), not just the middle figure. Real quotes can land above or below it. - Say where the numbers start: a typical price for the state, from NAIC, brought up to today. - Figures are already rounded the way the site shows them: yearly to $10, monthly to $5 (the yearly figure divided by 12), and ranges to $50. - Insurance cost is one input. Safety ratings, reliability, and fit matter too; this API doesn't cover them. - Every response carries the one-line disclaimer to show once: "This is an estimate to help you plan, not a quote. We don't sell insurance, and we never pass your info to anyone. Only an insurer can give you a real price." ## Errors Errors are JSON: `{ "error": { "status", "code", "message", "hint", ... } }`. The `hint` says how to fix the request. Codes: unknown_parameter (the valid ones are listed), private_input_rejected, invalid_value (with `allowedValues`), missing_parameter, duplicate_parameter, too_many_cars, car_not_found (with `unresolved` and `suggestions`), request_too_long, not_found. ## Privacy The only inputs are a state, a few bands (age, coverage, deductible, and so on), and car names. There's no place to send a premium, a VIN, a ZIP code, or a name, and we turn away requests that plainly include one. We don't store what you ask. Our host keeps its standard request logs, and answers are cached by their URL for up to a day. Car names we can't match are never repeated back in errors. On the site itself, the math runs in the visitor's browser. ## Caching and rate Answers depend only on the inputs and the data versions, so they're cached for a day (`Cache-Control: public, s-maxage=86400, stale-while-revalidate=604800`; errors for an hour), and CORS is open. Please keep it to about one request a second. Current versions: model 0.2.0, factors factors-2026-09-22, catalog catalog-2026-09-21, state prices state-baselines-2026-09-22. ## Credit and licenses - Code: MIT. Data we compile: CC BY 4.0; credit "NotAQuote.FYI". - Typical state prices: National Association of Insurance Commissioners (NAIC), 2022/2023 Auto Insurance Database Report. Car claims results: Highway Loss Data Institute (HLDI). Car list: NHTSA vPIC and FuelEconomy.gov. Third-party sources keep their own terms: https://notaquote.fyi/data-licenses ## More - How the numbers work: https://notaquote.fyi/methodology (as plain text: https://notaquote.fyi/llms-full.txt) - Every source: https://notaquote.fyi/sources - The code and data: https://github.com/bolewood/notaquote-fyi - The site: https://notaquote.fyi/ (What-if) and https://notaquote.fyi/compare (Compare cars)