CarDossier Market API
Real-time Polish used car market data — valuation, price history, liquidity, and regional pricing. Powered by over 2 million active listings scraped daily from major Polish marketplaces.
Base URL: https://car-dossier.com/api
Authentication
All API requests must include your API key in the X-API-Key HTTP header. You receive your key by email after purchasing credits.
curl https://car-dossier.com/api/v1/market/valuation \
-H "X-API-Key: YOUR_API_KEY" \
-G -d "make=Volkswagen" -d "model=Golf" -d "year=2019"
API keys are hashed server-side. If you lose your key, contact support — we can look it up by your email.
Credits & Pricing
The API uses a prepaid credit system. Each endpoint call deducts a fixed number of credits from your balance. Credits never expire. Your current balance is returned in every API response as data.credits_remaining.
| Endpoint | Credits per call |
|---|---|
| /v1/market/valuation | 8 |
| /v1/market/price-history | 10 |
| /v1/market/liquidity | 6 |
| /v1/market/valuation-factors | 12 |
| /v1/market/regional | 8 |
Buy credits at /api/pricing.
Error Codes
All errors follow a consistent envelope: {"status":"error","error":{"code":"...","message":"..."}}
| HTTP Status | code | Description |
|---|---|---|
| 401 | UNAUTHORIZED | Missing or invalid X-API-Key header. |
| 401 | ACCOUNT_DISABLED | Your account has been disabled. |
| 402 | INSUFFICIENT_CREDITS | Not enough credits. Response includes top_up_url. |
| 400 | INVALID_PARAMETER | Missing or invalid query parameter. Check message for details. |
| 404 | INSUFFICIENT_DATA | Fewer than 10 matching listings found. Response includes sample_size. |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests from this IP (120/min). |
| 500 | INTERNAL_ERROR | Server error. Please retry. |
GET /v1/market/valuation
Returns average, median, P25 and P75 prices for a specific make/model/year combination. Optionally filter by fuel type, gearbox, or mileage range. Costs 8 credits.
Parameters
| Parameter | Type | Description |
|---|---|---|
| make required | string | Vehicle manufacturer (e.g. Volkswagen) |
| model required | string | Vehicle model (e.g. Golf) |
| year required | integer | Production year (e.g. 2019) |
| fuel_type optional | string | Filter by fuel type. Values: Benzyna, Diesel, Hybryda, Elektryczny |
| gearbox optional | string | Filter by gearbox. Values: Manualna, Automatyczna |
| mileage optional | integer | Target mileage in km. Returns listings within ±30% range. |
Example Response
{
"status": "success",
"data": {
"make": "Volkswagen",
"model": "Golf",
"year": 2019,
"currency": "PLN",
"filters": { "fuel_type": null, "gearbox": null, "mileage": null },
"valuation": {
"average": 78400,
"median": 76900,
"p25": 68000,
"p75": 87500
},
"sample_size": 342,
"credits_used": 8,
"credits_remaining": 992
}
}
GET /v1/market/price-history
Returns monthly average price trend for up to 24 months. Useful for identifying seasonal patterns and depreciation curves. Costs 10 credits.
Parameters
| Parameter | Type | Description |
|---|---|---|
| make required | string | Vehicle manufacturer |
| model required | string | Vehicle model |
| year required | integer | Production year |
| months optional | integer | Number of months of history (1–24, default: 6) |
Example Response
{
"status": "success",
"data": {
"make": "Volkswagen", "model": "Golf", "year": 2019,
"currency": "PLN",
"months_requested": 6,
"trend": [
{ "month": "2026-01", "avg_price": 76200, "sample_size": 89 },
{ "month": "2026-02", "avg_price": 77100, "sample_size": 94 }
],
"credits_used": 10,
"credits_remaining": 982
}
}
GET /v1/market/liquidity
Returns estimated days-on-market for a vehicle type — how long it typically takes to sell. Costs 6 credits.
Parameters
| Parameter | Type | Description |
|---|---|---|
| make required | string | Vehicle manufacturer |
| model required | string | Vehicle model |
| year required | integer | Production year |
Example Response
{
"status": "success",
"data": {
"make": "Volkswagen", "model": "Golf", "year": 2019,
"estimated_days_on_market": 42,
"observed_listing_span": 29,
"active_listings": 342,
"sample_size": 1204,
"note": "Estimated DOM includes a 13-day compensation for initial scraper detection delay.",
"credits_used": 6,
"credits_remaining": 976
}
}
GET /v1/market/valuation-factors
Quantifies the price impact of import status, gearbox type, and fuel type. Returns percentage price differences vs. baseline. Costs 12 credits.
Parameters
| Parameter | Type | Description |
|---|---|---|
| make required | string | Vehicle manufacturer |
| model required | string | Vehicle model |
| year required | integer | Production year |
Example Response
{
"status": "success",
"data": {
"make": "Volkswagen", "model": "Golf", "year": 2019,
"currency": "PLN",
"total_sample_size": 342,
"factors": [
{
"dimension": "gearbox",
"baseline": { "label": "Manualna", "avg_price": 72000, "sample_size": 180 },
"comparison": { "label": "Automatyczna", "avg_price": 86400, "sample_size": 162 },
"price_diff_percent": 20.0
}
],
"credits_used": 12,
"credits_remaining": 964
}
}
GET /v1/market/regional
Compares average prices across Polish voivodeships, with percentage deviation from the national average. Costs 8 credits.
Parameters
| Parameter | Type | Description |
|---|---|---|
| make required | string | Vehicle manufacturer |
| model required | string | Vehicle model |
| year required | integer | Production year |
Example Response
{
"status": "success",
"data": {
"make": "Volkswagen", "model": "Golf", "year": 2019,
"currency": "PLN",
"national_average": 78400,
"total_sample_size": 342,
"regions": [
{ "region": "Mazowieckie", "avg_price": 82100, "sample_size": 68, "vs_national_pct": 4.7 },
{ "region": "Śląskie", "avg_price": 75300, "sample_size": 54, "vs_national_pct": -3.9 }
],
"credits_used": 8,
"credits_remaining": 956
}
}
GET /v1/account/me
Returns your account information. Does not deduct credits.
curl https://car-dossier.com/api/v1/account/me \
-H "X-API-Key: YOUR_API_KEY"
GET /v1/account/usage
Returns your recent transaction history. Does not deduct credits.
| Parameter | Type | Description |
|---|---|---|
| limit optional | integer | Number of transactions to return (1–200, default: 50) |
OpenAPI 3.1 Schema
The full OpenAPI 3.1 schema is available at https://car-dossier.com/openapi.yaml. Import it into Postman, Insomnia, GPT-4 Actions, or any OpenAPI-compatible tool.
MCP Server
A ready-to-use Model Context Protocol (MCP) server is available for connecting CarDossier API to Claude, Cursor, or any MCP-compatible AI client. Download the server script from /api/mcp-server.py and configure it with your API key.
# Install dependencies
pip install mcp requests
# Set your API key
export CARDOSSIER_API_KEY="your_key_here"
# Run the MCP server
python mcp-server.py
llms.txt
A structured capability manifest for LLMs is available at https://car-dossier.com/llms.txt. This file follows the llmstxt.org standard and allows AI systems to understand what this API does without reading full documentation.