Skip to content
Back to skills

used-car-price-history-analysis

ASecurity

Analyze observed used-car listing price changes through Crawlora stored vehicle histories and selected live listings. Use for a dated price-change ledger, matched comparable vehicles, or evaluating an advertised reduction with listing identity and crawl coverage preserved.

  • 0 votes
  • 0 copies
  • 0 views
  • Added October 12, 2026
ai-agentsgoapi

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 12, 2026

npx -y skills add Crawlora-org/crawlora-skills --skill used-car-price-history-analysis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of used-car-price-history-analysis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for used-car-price-history-analysis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/crawlora-org-used-car-price-history-analysis/badge)](https://www.skillsdirectory.com/skills/crawlora-org-used-car-price-history-analysis)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: used-car-price-history-analysis
description: Analyze observed used-car listing price changes through Crawlora stored vehicle histories and selected live listings. Use for a dated price-change ledger, matched comparable vehicles, or evaluating an advertised reduction with listing identity and crawl coverage preserved.
---

# Used-car price history analysis

## Access and scope

Set `CRAWLORA_API_KEY` to your Crawlora key. Prefer the listed Crawlora MCP tools
when connected; otherwise use the bundled `scripts/crawlora.sh`, which sends
`x-api-key` to `https://api.crawlora.net/api/v1`. Read
[reference/endpoints.md](reference/endpoints.md) for exact methods and parameters.
Check application `code` as well as HTTP status; payloads are inside `data`.
Stop on authentication errors, back off on `429`, and retry a transient upstream
failure once. Bound requests by the requested scope and credit budget. Preserve
source IDs, URLs, source dates, and retrieval/crawl times separately.

Explain observed asking-price changes for a listing or matched vehicle cohort.
Establish source, geography, make/model/year/trim, mileage/condition constraints,
observation window, and price basis before collecting comparable records.

## Resolve listings and their recorded events

1. Discover accepted source/make/model/trim filters through dataset facets, then
   search with a bounded page budget. Stored sources are `carmax`, `autotrader`,
   and `carsdotcom`. CarMax inventory is enumerable; the other two are best-effort
   ZIP sweeps whose geocoded area can approximate the search location rather than
   the seller's address. Keep those coverage differences visible.
2. Copy returned IDs in `<source>:<source_listing_id>` format into item/history
   routes. A VIN is a vehicle identity lead, not the dataset listing ID. Different
   sellers or relistings of the same VIN remain separate listing histories unless
   dates and seller evidence establish an explicit linkage.
3. Price history records the first observed price and observed changes, not a
   row for every crawl/day. Cars.com may include backfilled native price-history
   events, bounded by enrichment coverage. Keep `snapshot_date` separate from
   `crawled_at`: a backfilled event predates the crawl that obtained it.
4. An empty history means no indexed history was returned; one row means one
   recorded price, not proof the price never changed before observation began.
   Preserve event IDs/schema version and anomalous or duplicate dates for review.
5. Refresh selected listings through their source's live detail route when needed,
   resolving that route's own ID/URL from listing evidence. A failed or missing
   listing is unavailable evidence, not proof the car sold or a seller accepted
   a lower price. Do not substitute another vehicle with a similar title.

```sh
scripts/crawlora.sh /datasets/vehicle-listings/facets facet=source
scripts/crawlora.sh /datasets/vehicle-listings/search make=Toyota model=Camry source=carmax page=1 page_size=10
# Select an actual returned listing ID before:
# scripts/crawlora.sh "/datasets/vehicle-listings/price-history/$LISTING_ID"
```

## Calculate comparable changes

For comparable positive prices, show `change = later − earlier` and
`percent change = change / earlier × 100`, with both observed dates. Keep
increases, reductions, and missing/invalid price values separate. Do not label
a first-observed price as original MSRP or a price reduction as a negotiated
saving. Do not interpolate daily prices or time-at-price beyond observed events.

Match year/trim/drivetrain, mileage, seller type, condition and accident/owner
history when supplied, region, currency, and fees before comparing vehicles.
Unknown attributes remain unknown. Report cohort sample size and distinct listing
counts; two histories for one VIN are not automatically two independent vehicles.
Return the price-event ledger, matched-comparable table, coverage/freshness notes,
current-versus-stored discrepancies, and questions to verify with the seller.
A research request does not authorise contacting dealers or purchasing a vehicle.

Files in this skill

  • SKILL.md4 KB
  • reference/endpoints.md11.9 KB
  • scripts/crawlora.sh3.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.