Web formREST + MCP

How good of a deal is this car?

DealScore grades a used car's asking price against live market comps — grade, short brief, and risks. Web form below, or REST/MCP at /api/score and /api/mcp.

Try it

Same scoring engine as REST and MCP. Live scores need a signed-in account and share a Free meter of 40 scored deals per month.

Paste a listing
Paste a listing URL. We read the page when the site allows it and fill the score form when year, make, model, and price (or VIN and price) are clear. Listing text is optional. We do not open Facebook Marketplace or Craigslist links. Grades compare the ask to dealer-market comps. A private-party listing may grade lower than a dealer listing for the same car.
Score a car deal
Enter a VIN or pick year/make/model from the official vehicle list, plus asking price and mileage. ZIP is optional if you want to narrow to a local market. Type to search each dropdown. A listing URL above fills these fields when the extract is clear. Live scores share a Free meter of 40 scored deals per month with API keys and MCP. Only a result with coverage scored counts.

Optional — narrow to local market

For agents

REST /api/score, /api/explain, and MCP /api/mcp require x-api-key or Authorization: Bearer. The homepage form above uses the same signed-in meter.

Sign in to create an API key (email magic link). Create and revoke keys on /keys. Live scores share a Free meter of 40 scored deals per month. Sign in on the homepage before live scoring. Details: /docs/api#get-a-key.

REST — score a car deal
Same as MCP score_deal
curl -X POST https://cardealscore.com/api/score \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_KEY" \
  -d '{
    "year": 2020,
    "make": "Toyota",
    "model": "Camry",
    "asking_price": 16000,
    "mileage": 62000,
    "zip": "78701"
  }'
MCP — remote server
Streamable HTTP at /api/mcp. Tools: score_deal, explain_grade, health.
{
  "mcpServers": {
    "dealscore": {
      "url": "https://cardealscore.com/api/mcp",
      "headers": {
        "x-api-key": "YOUR_KEY"
      }
    }
  }
}

Full agent docs: /docs/api. Machine-readable summary: /llms.txt. Local dev: http://localhost:3000/api/mcp. In local development only, if DEALSCORE_API_KEYS is unset, programmatic routes work without a key.

Limits

  • No Facebook Marketplace or Craigslist URLs. Paste a listing URL (or optional listing text), or send year/make/model (or VIN), price, and mileage. ZIP is optional to narrow to a local market. Grades use dealer-market comps. A private-party ask may grade lower than a dealer ask for the same car.
  • Production uses live dealer listing comps. When live data is unavailable, responses return coverage: cannot_score. No silent fallback to mock data.
  • Comps are fetched per request only. Nothing is cached across requests.
  • We'd rather return cannot_score than guess a Great deal when data is thin.
  • Free includes 40 scored deals per month per account. Homepage, REST, and MCP share that counter. Only coverage: scored counts. Over the cap returns an upgrade error, never a silent mock.