Carvana API Reference
Complete API documentation for extracting digital-first automotive data from Carvana. All endpoints, parameters, response formats, and code examples for the revolutionary online marketplace.
API Overview
- Base URL:
https://api.carapis.com/v1/parsers/carvana
- Authentication: Bearer token in Authorization header
- Response Format: JSON
- Rate Limits: Vary by plan (50-1000 requests/minute for digital platforms)
- Success Rate: 99.9% with advanced anti-detection technology
- Digital Platform: Full browser automation for JavaScript rendering
🔐 Authentication
All API requests require authentication using your API key:
// JavaScript
const headers = {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
};
# Python
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
# cURL
curl -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
https://api.carapis.com/v1/parsers/carvana/search
📡 Endpoints
Search Vehicles
POST /search
Search for vehicles on Carvana with various filters and parameters for the digital marketplace.
Request Parameters
Search Parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
query | string | Yes | Search term (brand, model, etc.) | "Ford F-150" |
max_price | number | No | Maximum price in USD | 50000 |
min_price | number | No | Minimum price in USD | 20000 |
location | string | No | City or state | "Phoenix" |
delivery_type | string | No | Delivery option | "home_delivery", "vending_machine" |
financing_available | boolean | No | Financing availability | true |
year_from | number | No | Minimum year | 2020 |
year_to | number | No | Maximum year | 2023 |
mileage_max | number | No | Maximum mileage in miles | 100000 |
mileage_min | number | No | Minimum mileage in miles | 10000 |
quality_min_score | number | No | Minimum inspection score | 140 |
limit | number | No | Number of results (max 100) | 50 |
offset | number | No | Pagination offset | 0 |
sort_by | string | No | Sort field | "price", "year", "quality_score" |
sort_order | string | No | Sort direction | "asc", "desc" |
Digital-Specific Parameters
Digital Platform Parameters
Parameter | Type | Description | Example |
---|---|---|---|
delivery_type | string | Home delivery or vending machine | "home_delivery" |
financing_available | boolean | Vehicles with financing options | true |
quality_min_score | number | Minimum 150-point inspection score | 140 |
virtual_tour_available | boolean | Vehicles with virtual tours | true |
pre_approval_available | boolean | Vehicles with pre-approval | true |
return_policy | string | Return policy availability | "7_day_return" |
max_apr | number | Maximum APR for financing | 6.0 |
min_down_payment | number | Minimum down payment | 2000 |
max_monthly_payment | number | Maximum monthly payment | 700 |
Fuel Type Options
Available Fuel Types
Value | Description | Carvana Term |
---|---|---|
gasoline | Gasoline fuel | Gasoline |
diesel | Diesel fuel | Diesel |
electric | Electric vehicles | Electric |
hybrid | Hybrid vehicles | Hybrid |
plug_in_hybrid | Plug-in hybrid | Plug-in Hybrid |
Transmission Options
Transmission Types
Value | Description | Carvana Term |
---|---|---|
automatic | Automatic transmission | Automatic |
manual | Manual transmission | Manual |
cvt | Continuously variable transmission | CVT |
Sort Options
Sorting Options
Field | Description | Example |
---|---|---|
price | Sort by price | {"sort_by": "price", "sort_order": "asc"} |
year | Sort by year | {"sort_by": "year", "sort_order": "desc"} |
quality_score | Sort by inspection score | {"sort_by": "quality_score", "sort_order": "desc"} |
mileage | Sort by mileage | {"sort_by": "mileage", "sort_order": "asc"} |
date_added | Sort by listing date | {"sort_by": "date_added", "sort_order": "desc"} |
Request Example
const searchRequest = {
query: 'Ford F-150',
max_price: 50000,
location: 'Phoenix',
delivery_type: 'home_delivery',
financing_available: true,
quality_min_score: 140,
year_from: 2020,
limit: 20,
sort_by: 'quality_score',
sort_order: 'desc',
};
Response Format
{
"success": true,
"data": {
"listings": [
{
"id": "123456789",
"title": "Ford F-150 XLT",
"price": {
"amount": 42000,
"currency": "USD",
"formatted": "$42,000",
"down_payment": 4200,
"monthly_payment": 699
},
"specifications": {
"year": 2020,
"mileage": 35000,
"fuel_type": "Gasoline",
"transmission": "Automatic",
"engine_size": "3.5L V6",
"power": "400 hp",
"torque": "500 lb-ft",
"drivetrain": "4WD",
"exterior_color": "Oxford White",
"interior_color": "Black",
"mpg_city": 20,
"mpg_highway": 26
},
"delivery": {
"type": "home_delivery",
"available": true,
"delivery_fee": 0,
"estimated_delivery": "2-3 business days",
"vending_machine_available": true,
"vending_machine_location": "Phoenix, AZ",
"delivery_zones": ["Phoenix", "Tempe", "Scottsdale"]
},
"financing": {
"available": true,
"apr_range": "3.9% - 8.9%",
"term_options": [36, 48, 60, 72],
"down_payment_options": [0, 1000, 2000, 5000],
"pre_approval_available": true,
"monthly_payment_range": {
"min": 599,
"max": 899
}
},
"quality_assurance": {
"inspection_score": 150,
"inspection_date": "2024-01-10",
"return_policy": "7-day return guarantee",
"warranty": "100-day/4,189-mile limited warranty",
"accident_free": true,
"clean_title": true,
"inspection_report": "https://example.com/report"
},
"media": {
"images": ["https://example.com/image1.jpg", "https://example.com/image2.jpg"],
"virtual_tour": "https://example.com/tour",
"360_views": ["https://example.com/360_1.jpg", "https://example.com/360_2.jpg"],
"video_walkthrough": "https://example.com/video"
},
"location": {
"city": "Phoenix",
"state": "AZ",
"country": "United States",
"postal_code": "85001",
"coordinates": {
"lat": 33.4484,
"lng": -112.074
}
},
"url": "https://www.carvana.com/...",
"extracted_at": "2024-01-15T10:30:00Z",
"last_updated": "2024-01-15T10:30:00Z"
}
],
"total_count": 1200,
"search_metadata": {
"query": "Ford F-150",
"filters_applied": {
"max_price": 50000,
"location": "Phoenix",
"delivery_type": "home_delivery"
},
"pagination": {
"limit": 20,
"offset": 0,
"has_more": true
}
}
}
}
Get Vehicle Details
GET /vehicle/\{id\}
Get detailed information about a specific vehicle by its ID.
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | string | Yes | Vehicle ID from search results |
Request Example
const vehicleId = '123456789';
const response = await axios.get(`https://api.carapis.com/v1/parsers/carvana/vehicle/$\{vehicleId\}`, {
headers: {
Authorization: `Bearer $\{API_KEY\}`,
'Content-Type': 'application/json',
},
});
Response Format
{
"success": true,
"data": {
"vehicle": {
"id": "123456789",
"title": "Ford F-150 XLT",
"description": "Well-maintained Ford F-150 with full service history...",
"price": {
"amount": 42000,
"currency": "USD",
"formatted": "$42,000",
"down_payment": 4200,
"monthly_payment": 699,
"price_history": [
{
"date": "2024-01-01",
"price": 44000
},
{
"date": "2024-01-15",
"price": 42000
}
]
},
"specifications": {
"year": 2020,
"mileage": 35000,
"fuel_type": "Gasoline",
"transmission": "Automatic",
"engine_size": "3.5L V6",
"power": "400 hp",
"torque": "500 lb-ft",
"drivetrain": "4WD",
"exterior_color": "Oxford White",
"interior_color": "Black",
"mpg_city": 20,
"mpg_highway": 26,
"vin": "1FTEW1EG0JFA12345",
"registration_date": "2020-03-15",
"next_inspection": "2025-03-15"
},
"vehicle_history": {
"owners": 2,
"accident_free": true,
"service_history": "Complete",
"warranty": "Extended warranty until 2026",
"import_history": "US vehicle"
},
"delivery": {
"type": "home_delivery",
"available": true,
"delivery_fee": 0,
"estimated_delivery": "2-3 business days",
"vending_machine_available": true,
"vending_machine_location": "Phoenix, AZ",
"delivery_zones": ["Phoenix", "Tempe", "Scottsdale"],
"delivery_schedule": {
"available_dates": ["2024-01-20", "2024-01-21", "2024-01-22"],
"time_slots": ["09:00-12:00", "12:00-15:00", "15:00-18:00"]
}
},
"financing": {
"available": true,
"apr_range": "3.9% - 8.9%",
"term_options": [36, 48, 60, 72],
"down_payment_options": [0, 1000, 2000, 5000],
"pre_approval_available": true,
"monthly_payment_range": {
"min": 599,
"max": 899
},
"financing_calculator": {
"down_payment": 4200,
"apr": 5.5,
"term": 60,
"monthly_payment": 699,
"total_cost": 46140
}
},
"quality_assurance": {
"inspection_score": 150,
"inspection_date": "2024-01-10",
"return_policy": "7-day return guarantee",
"warranty": "100-day/4,189-mile limited warranty",
"accident_free": true,
"clean_title": true,
"inspection_report": "https://example.com/report",
"inspection_details": {
"exterior": 30,
"interior": 30,
"mechanical": 30,
"safety": 30,
"road_test": 30
}
},
"media": {
"images": [
{
"url": "https://example.com/image1.jpg",
"alt": "Front view",
"primary": true
},
{
"url": "https://example.com/image2.jpg",
"alt": "Interior view",
"primary": false
}
],
"virtual_tour": "https://example.com/tour",
"360_views": [
{
"url": "https://example.com/360_1.jpg",
"alt": "Exterior 360 view"
},
{
"url": "https://example.com/360_2.jpg",
"alt": "Interior 360 view"
}
],
"video_walkthrough": "https://example.com/video"
},
"location": {
"city": "Phoenix",
"state": "AZ",
"country": "United States",
"postal_code": "85001",
"coordinates": {
"lat": 33.4484,
"lng": -112.074
}
},
"url": "https://www.carvana.com/...",
"extracted_at": "2024-01-15T10:30:00Z",
"last_updated": "2024-01-15T10:30:00Z"
}
}
}
Get Market Statistics
GET /statistics
Get market statistics and trends for the digital automotive marketplace.
Query Parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
location | string | No | Filter by location | "Phoenix" |
brand | string | No | Filter by brand | "Ford" |
model | string | No | Filter by model | "F-150" |
period | string | No | Time period | "30d", "90d", "1y" |
Request Example
const response = await axios.get('https://api.carapis.com/v1/parsers/carvana/statistics', {
params: {
location: 'Phoenix',
brand: 'Ford',
model: 'F-150',
period: '90d',
},
headers: {
Authorization: `Bearer $\{API_KEY\}`,
'Content-Type': 'application/json',
},
});
Response Format
{
"success": true,
"data": {
"statistics": {
"total_listings": 1200,
"average_price": 42000,
"price_range": {
"min": 25000,
"max": 75000,
"median": 41000
},
"delivery_distribution": {
"home_delivery": 800,
"vending_machine": 400
},
"financing_distribution": {
"financing_available": 1000,
"cash_only": 200
},
"quality_distribution": {
"excellent": 600,
"good": 400,
"fair": 200
},
"price_trends": [
{
"date": "2024-01-01",
"average_price": 42500,
"listings_count": 1150
},
{
"date": "2024-01-15",
"average_price": 42000,
"listings_count": 1200
}
],
"brand_distribution": [
{
"brand": "Ford",
"count": 450,
"percentage": 37.5
},
{
"brand": "Toyota",
"count": 380,
"percentage": 31.7
}
],
"delivery_performance": {
"average_delivery_time": "2.5 days",
"delivery_success_rate": 98.5,
"customer_satisfaction": 4.8
}
}
}
}
⚠️ Error Handling
Error Response Format
{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Please wait before retrying.",
"details": {
"limit": 50,
"reset_time": "2024-01-15T11:00:00Z"
}
}
}
Common Error Codes
Error Codes
Code | HTTP Status | Description | Solution |
---|---|---|---|
INVALID_API_KEY | 401 | Invalid or expired API key | Check your API key in the dashboard |
RATE_LIMIT_EXCEEDED | 429 | Rate limit exceeded | Implement rate limiting and retry logic |
INVALID_PARAMETERS | 400 | Invalid request parameters | Check parameter values and formats |
PARSER_UNAVAILABLE | 503 | Parser temporarily unavailable | Retry after a few minutes |
QUOTA_EXCEEDED | 402 | Monthly quota exceeded | Upgrade your plan or wait for reset |
DIGITAL_PLATFORM_ERROR | 503 | Digital platform temporarily unavailable | Retry with exponential backoff |
GEOGRAPHIC_RESTRICTION | 403 | Geographic restriction | Contact support for assistance |
📊 Rate Limits
Rate Limits by Plan
Plan | Requests per Minute | Monthly Quota | Concurrent Requests |
---|---|---|---|
Starter | 50 | 25,000 | 3 |
Professional | 200 | 100,000 | 10 |
Enterprise | 1000 | 500,000 | 50 |
Note: Lower rate limits for digital platforms to ensure reliable access.
Rate Limit Headers
// Check rate limit headers
const response = await axios.post('/search', data, headers);
console.log('Remaining requests:', response.headers['x-ratelimit-remaining']);
console.log('Reset time:', response.headers['x-ratelimit-reset']);
console.log('Limit:', response.headers['x-ratelimit-limit']);
🔧 Code Examples
Complete JavaScript Example
const axios = require('axios');
class CarvanaAPI {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseURL = 'https://api.carapis.com/v1/parsers/carvana';
this.headers = {
Authorization: `Bearer $\{apiKey\}`,
'Content-Type': 'application/json',
};
}
async searchVehicles(params) {
try {
const response = await axios.post(`${this.baseURL}/search`, params, { headers: this.headers });
return response.data;
} catch (error) {
this.handleError(error);
}
}
async getVehicleDetails(vehicleId) {
try {
const response = await axios.get(`${this.baseURL}/vehicle/$\{vehicleId\}`, { headers: this.headers });
return response.data;
} catch (error) {
this.handleError(error);
}
}
async getMarketStatistics(params = {}) {
try {
const response = await axios.get(`${this.baseURL}/statistics`, {
params,
headers: this.headers,
});
return response.data;
} catch (error) {
this.handleError(error);
}
}
handleError(error) {
if (error.response?.status === 429) {
console.log('Rate limit exceeded. Please wait before retrying.');
} else if (error.response?.status === 401) {
console.log('Invalid API key. Please check your credentials.');
} else if (error.response?.status === 503) {
console.log('Digital platform temporarily unavailable. Retrying...');
} else {
console.log('API Error:', error.response?.data || error.message);
}
throw error;
}
}
// Usage
const api = new CarvanaAPI('YOUR_API_KEY');
// Search for vehicles with digital features
const searchResult = await api.searchVehicles({
query: 'Ford F-150',
max_price: 50000,
location: 'Phoenix',
delivery_type: 'home_delivery',
financing_available: true,
});
// Get vehicle details
const vehicleDetails = await api.getVehicleDetails('123456789');
// Get market statistics
const statistics = await api.getMarketStatistics({
location: 'Phoenix',
brand: 'Ford',
});
Complete Python Example
import requests
import time
from typing import Dict, Optional
class CarvanaAPI:
def __init__(self, api_key: str):
self.api_key = api_key
self.base_url = 'https://api.carapis.com/v1/parsers/carvana'
self.headers = {
'Authorization': f'Bearer \{api_key\}',
'Content-Type': 'application/json'
}
def search_vehicles(self, params: Dict) -> Optional[Dict]:
try:
response = requests.post(
f'{self.base_url}/search',
json=params,
headers=self.headers
)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
self.handle_error(e)
return None
def get_vehicle_details(self, vehicle_id: str) -> Optional[Dict]:
try:
response = requests.get(
f'{self.base_url}/vehicle/\{vehicle_id\}',
headers=self.headers
)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
self.handle_error(e)
return None
def get_market_statistics(self, params: Dict = None) -> Optional[Dict]:
try:
response = requests.get(
f'{self.base_url}/statistics',
params=params or {},
headers=self.headers
)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
self.handle_error(e)
return None
def handle_error(self, error):
if hasattr(error, 'response'):
if error.response.status_code == 429:
print('Rate limit exceeded. Please wait before retrying.')
elif error.response.status_code == 401:
print('Invalid API key. Please check your credentials.')
elif error.response.status_code == 503:
print('Digital platform temporarily unavailable. Retrying...')
else:
print(f'API Error: {error.response.text}')
else:
print(f'Request Error: \{error\}')
# Usage
api = CarvanaAPI('YOUR_API_KEY')
# Search for vehicles with digital features
search_result = api.search_vehicles({
'query': 'Ford F-150',
'max_price': 50000,
'location': 'Phoenix',
'delivery_type': 'home_delivery',
'financing_available': True
})
# Get vehicle details
vehicle_details = api.get_vehicle_details('123456789')
# Get market statistics
statistics = api.get_market_statistics({
'location': 'Phoenix',
'brand': 'Ford'
})
🚀 Next Steps
Ready to Integrate?
- Quick Start Guide - Get started in 5 minutes
- Market Analysis - Digital marketplace insights
- Features - See what's included
- FAQ - Common questions and answers
Need Help?
- Support - Technical assistance
- Community - Connect with other users
- Examples - See live examples
- Documentation - Complete documentation
Ready to extract digital-first automotive data? Start with the Carvana API today and unlock insights into the future of automotive retail.