Arabam.com Parser API Reference
Complete API documentation with detailed endpoints, parameters, response formats, and code examples for extracting Turkish automotive data.
- Complete endpoint documentation with all parameters and options
- Multiple code examples in JavaScript, Python, and PHP
- Error handling guides with common issues and solutions
- Rate limiting information for all subscription plans
- Real-world examples for common use cases
🔐 Authentication
All API requests require authentication using your API key in the Authorization header.
:::
info API Key Format
Your API key will look like this: arabam_parser_sk_1234567890abcdef1234567890abcdef
- Prefix:
arabam_parser_sk_
- Length: 64 characters
- Format: Hexadecimal string
- Scope: Arabam.com parser access only :::
Authorization: Bearer arabam_parser_sk_1234567890abcdef1234567890abcdef
📡 Base URL
https://api.carapis.com/v1/parsers/arabam.com
🚀 Core Endpoints
Extract Vehicle Listings
Extract vehicle data from Arabam.com based on specified filters and options.
Endpoint: POST /extract
- Real-time data extraction from Arabam.com
- Advanced filtering by make, model, price, location
- Flexible pagination with customizable limits
- Comprehensive data fields including pricing and specifications
- Regional targeting for specific Turkish cities
Request Parameters
{
"filters": {
"make": "string",
"model": "string",
"yearFrom": "number",
"yearTo": "number",
"priceMin": "number",
"priceMax": "number",
"bodyType": "string",
"fuelType": "string",
"transmission": "string",
"city": "string",
"sellerType": "string",
"mileageMax": "number"
},
"options": {
"region": "string",
"limit": "number",
"page": "number",
"dataFields": ["string"],
"sortBy": "string",
"sortOrder": "string"
}
}
Filter Parameters
Parameter | Type | Description | Example |
---|---|---|---|
make | string | Vehicle make/brand | "BMW", "Mercedes", "Audi" |
model | string | Vehicle model | "X3", "A4", "C-Class" |
yearFrom | number | Minimum year | 2020 |
yearTo | number | Maximum year | 2023 |
priceMin | number | Minimum price (TL) | 500000 |
priceMax | number | Maximum price (TL) | 1000000 |
bodyType | string | Body type | "SUV", "Sedan", "Hatchback" |
fuelType | string | Fuel type | "Diesel", "Gasoline", "Hybrid" |
transmission | string | Transmission type | "Automatic", "Manual" |
city | string | City name | "Istanbul", "Ankara", "Izmir" |
sellerType | string | Seller type | "dealer", "private" |
mileageMax | number | Maximum mileage (km) | 50000 |
Option Parameters
Parameter | Type | Description | Default |
---|---|---|---|
region | string | Target region | "istanbul" |
limit | number | Results per page (1-100) | 50 |
page | number | Page number | 1 |
dataFields | array | Fields to extract | All fields |
sortBy | string | Sort field | "date" |
sortOrder | string | Sort order | "desc" |
Available Data Fields
price
- Pricing information and currencyspecifications
- Vehicle specifications and featureslocation
- Geographic data and coordinatesseller_info
- Seller details and contact informationmarket_data
- Market insights and trendsimages
- Vehicle images and mediadescription
- Listing description and details
Response Format
{
"success": true,
"data": {
"vehicles": [
{
"id": "string",
"title": "string",
"url": "string",
"price": {
"current": "number",
"currency": "string",
"negotiable": "boolean",
"original": "number"
},
"specifications": {
"make": "string",
"model": "string",
"year": "number",
"engine": "string",
"transmission": "string",
"mileage": "number",
"fuel_type": "string",
"body_type": "string",
"color": "string"
},
"location": {
"city": "string",
"district": "string",
"coordinates": ["number", "number"]
},
"seller": {
"type": "string",
"name": "string",
"rating": "number",
"verified": "boolean",
"phone": "string"
},
"market_data": {
"days_listed": "number",
"views": "number",
"price_trend": "string",
"market_position": "string"
}
}
],
"pagination": {
"total": "number",
"page": "number",
"per_page": "number",
"total_pages": "number"
},
"metadata": {
"extraction_time": "string",
"region": "string",
"filters_applied": "object"
}
}
}
Example Request
curl -X POST "https://api.carapis.com/v1/parsers/arabam.com/extract" \
-H "Authorization: Bearer arabam_parser_sk_1234567890abcdef1234567890abcdef" \
-H "Content-Type: application/json" \
-d '{
"filters": {
"make": "BMW",
"yearFrom": 2020,
"priceMax": 1000000,
"bodyType": "SUV"
},
"options": {
"region": "istanbul",
"limit": 10,
"dataFields": ["price", "specifications", "location"]
}
}'
Get Market Statistics
Retrieve market statistics and insights for specific criteria.
Endpoint: POST /statistics
- Price distribution analysis across different segments
- Market share data for brands and models
- Trend analysis for pricing and demand patterns
- Regional market analysis for Turkish cities
- Seasonal patterns and market fluctuations
Request Parameters
{
"filters": {
"make": "string",
"city": "string",
"timeRange": "string"
},
"metrics": ["string"]
}
Available Metrics
price_distribution
- Price range distributionmarket_share
- Brand/model market sharetrends
- Price and demand trendsregional_analysis
- Regional market analysisseasonal_patterns
- Seasonal market patterns
Response Format
{
"success": true,
"data": {
"statistics": {
"total_listings": "number",
"average_price": "number",
"price_range": {
"min": "number",
"max": "number",
"median": "number"
},
"market_share": [
{
"brand": "string",
"percentage": "number",
"count": "number"
}
],
"trends": {
"price_trend": "string",
"demand_trend": "string",
"inventory_trend": "string"
}
},
"metadata": {
"generated_at": "string",
"data_freshness": "string"
}
}
}
Search Dealers
Search for dealer information and inventory.
Endpoint: POST /dealers/search
- Comprehensive dealer profiles with ratings and verification
- Inventory counts and specialization information
- Contact details and website information
- Geographic filtering by city and district
- Brand specialization data
Request Parameters
{
"filters": {
"city": "string",
"brand": "string",
"rating": "number"
},
"options": {
"limit": "number",
"include_inventory": "boolean"
}
}
Response Format
{
"success": true,
"data": {
"dealers": [
{
"id": "string",
"name": "string",
"city": "string",
"district": "string",
"rating": "number",
"verified": "boolean",
"phone": "string",
"website": "string",
"inventory_count": "number",
"specialties": ["string"]
}
],
"pagination": {
"total": "number",
"page": "number",
"per_page": "number"
}
}
}
🔧 Advanced Endpoints
Batch Extraction
Extract data for multiple criteria in a single request.
Endpoint: POST /batch-extract
- Efficient processing of multiple requests
- Reduced API calls for complex workflows
- Concurrent execution with configurable limits
- Cost optimization for large-scale operations
Request Parameters
{
"requests": [
{
"filters": "object",
"options": "object"
}
],
"batch_options": {
"concurrent": "number",
"delay": "number"
}
}
Real-time Monitoring
Set up real-time monitoring for specific criteria.
Endpoint: POST /monitor
- Webhook URL must be publicly accessible
- HTTPS required for security
- Rate limiting applies to webhook calls
- Monitoring limits based on subscription plan
Request Parameters
{
"filters": "object",
"webhook_url": "string",
"conditions": {
"price_change": "number",
"new_listings": "boolean",
"inventory_change": "number"
}
}
📊 Response Codes
Code | Description | Action Required |
---|---|---|
200 | Success | None - data returned successfully |
400 | Bad Request - Invalid parameters | Check request format and parameters |
401 | Unauthorized - Invalid API key | Verify API key and permissions |
403 | Forbidden - Insufficient permissions | Upgrade subscription or contact support |
429 | Too Many Requests - Rate limit exceeded | Wait or implement exponential backoff |
500 | Internal Server Error | Retry or contact support |
503 | Service Unavailable | Check service status and retry |
⚡ Rate Limits
Plan | Requests per Minute | Requests per Hour | Concurrent Requests |
---|---|---|---|
Free | 10 | 100 | 2 |
Basic | 60 | 1,000 | 5 |
Pro | 300 | 10,000 | 20 |
Enterprise | Custom | Custom | Custom |
🔍 Error Handling
Error Response Format
{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": "object"
}
}
Common Error Codes
Code | Description | Solution |
---|---|---|
INVALID_API_KEY | API key is invalid or expired | Check key format and validity |
RATE_LIMIT_EXCEEDED | Rate limit exceeded | Wait or upgrade subscription plan |
INVALID_FILTERS | Invalid filter parameters | Check filter syntax and values |
EXTRACTION_FAILED | Data extraction failed | Retry or contact technical support |
REGION_NOT_SUPPORTED | Region not supported | Use supported Turkish regions |
📝 Code Examples
JavaScript
const axios = require('axios');
const apiKey = 'arabam_parser_sk_1234567890abcdef1234567890abcdef';
const baseURL = 'https://api.carapis.com/v1/parsers/arabam.com';
// Extract vehicles with error handling
async function extractVehicles() {
try {
const response = await axios.post(
`$\{baseURL\}/extract`,
{
filters: {
make: 'BMW',
yearFrom: 2020,
priceMax: 1000000,
},
options: {
region: 'istanbul',
limit: 10,
},
},
{
headers: {
Authorization: `Bearer $\{apiKey\}`,
'Content-Type': 'application/json',
},
},
);
return response.data;
} catch (error) {
console.error('Error:', error.response?.data || error.message);
throw error;
}
}
// Get market statistics
async function getMarketStats() {
try {
const response = await axios.post(
`$\{baseURL\}/statistics`,
{
filters: { make: 'BMW' },
metrics: ['price_distribution', 'market_share'],
},
{
headers: {
Authorization: `Bearer $\{apiKey\}`,
'Content-Type': 'application/json',
},
},
);
return response.data;
} catch (error) {
console.error('Error:', error.response?.data || error.message);
throw error;
}
}
Python
import requests
import time
api_key = 'arabam_parser_sk_1234567890abcdef1234567890abcdef'
base_url = 'https://api.carapis.com/v1/parsers/arabam.com'
def extract_vehicles():
headers = {
'Authorization': f'Bearer \{api_key\}',
'Content-Type': 'application/json'
}
data = {
'filters': {
'make': 'BMW',
'yearFrom': 2020,
'priceMax': 1000000
},
'options': {
'region': 'istanbul',
'limit': 10
}
}
try:
response = requests.post(f'\{base_url\}/extract',
json=data, headers=headers)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
print(f'Error: \{e\}')
return None
def get_market_statistics():
headers = {
'Authorization': f'Bearer \{api_key\}',
'Content-Type': 'application/json'
}
data = {
'filters': {'make': 'BMW'},
'metrics': ['price_distribution', 'market_share']
}
try:
response = requests.post(f'\{base_url\}/statistics',
json=data, headers=headers)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
print(f'Error: \{e\}')
return None
# Rate limiting helper
def safe_request(func, max_retries=3):
for attempt in range(max_retries):
try:
return func()
except requests.exceptions.HTTPError as e:
if e.response.status_code == 429:
wait_time = 2 ** attempt
print(f'Rate limited, waiting \{wait_time\} seconds...')
time.sleep(wait_time)
else:
raise e
return None
PHP
<?php
$apiKey = 'arabam_parser_sk_1234567890abcdef1234567890abcdef';
$baseURL = 'https://api.carapis.com/v1/parsers/arabam.com';
function extractVehicles() {
global $apiKey, $baseURL;
$data = [
'filters' => [
'make' => 'BMW',
'yearFrom' => 2020,
'priceMax' => 1000000
],
'options' => [
'region' => 'istanbul',
'limit' => 10
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseURL . '/extract');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
return json_decode($response, true);
} else {
echo "Error: HTTP $httpCode\n";
return null;
}
}
function getMarketStatistics() {
global $apiKey, $baseURL;
$data = [
'filters' => ['make' => 'BMW'],
'metrics' => ['price_distribution', 'market_share']
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseURL . '/statistics');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
return json_decode($response, true);
} else {
echo "Error: HTTP $httpCode\n";
return null;
}
}
// Rate limiting helper
function safeRequest($func, $maxRetries = 3) {
for ($attempt = 0; $attempt < $maxRetries; $attempt++) {
$result = $func();
if ($result !== null) {
return $result;
}
if ($attempt < $maxRetries - 1) {
$waitTime = pow(2, $attempt);
echo "Retrying in $waitTime seconds...\n";
sleep($waitTime);
}
}
return null;
}
?>
🔗 SDKs and Libraries
- JavaScript/Node.js:
@carapis/arabam-parser
- Python:
carapis-arabam-parser
- PHP:
carapis/arabam-parser
- Java:
com.carapis:arabam-parser
- C#:
Carapis.ArabamParser
- Ruby:
carapis-arabam-parser
- Go:
github.com/carapis/arabam-parser
- Rust:
carapis-arabam-parser
📞 Support & Resources
- Documentation - Complete API documentation
- Support - Technical assistance and troubleshooting
- Status - Real-time API status and uptime
- Community - Connect with other developers
- Examples - Code examples and tutorials
🚀 Next Steps
- Get Your API Key - Sign up and get started
- Quick Start Guide - First API call in minutes
- Market Analysis - Understand Turkish market
- FAQ - Common questions and solutions
Start extracting Turkish automotive data with our comprehensive Arabam.com parser API. Get real-time access to vehicle listings, market statistics, and dealer information.