Turkey’s used-car market is massive, fragmented, and surprisingly hard to work with if you want structured data.
Listings live across marketplaces, dealer pages are inconsistent, pricing changes fast, and even simple questions like “What is this car worth?” or “Which dealers dominate Istanbul for this brand?” are harder than they should be.
So I built three focused APIs on top of Apify to solve different layers of the problem:
- A listing extraction API for Arabam
- A valuation API for Arabam + Sahibinden
- A dealer intelligence API for Arabam + Sahibinden
All three are built for developers, analysts, insurers, lenders, marketplaces, and automotive businesses that need clean Turkish vehicle data instead of brittle scraping scripts.
1. Arabam.com Vehicle Scraper API
The first API is the raw data layer.
It extracts structured used-car listings from Arabam.com, including title, make, model, year, price, mileage, fuel type, transmission, city, seller type, and optional detail-page enrichment like condition and seller metadata.
This is the API you use when you want the source-of-truth listing data itself.
Typical use cases:
- building your own vehicle marketplace dataset
- monitoring listing supply for a specific make/model
- collecting comps for downstream analysis
- feeding machine learning or BI pipelines
Example input:
{
"searchUrls": [
"https://www.arabam.com/ikinci-el/otomobil/volkswagen-passat"
],
"maxListings": 5,
"scrapeDetails": true
}
Example output fields:
{
"listingId": "38718353",
"title": "Galeriden Volkswagen Passat 1.6 TDi BlueMotion Business 2020 Model Mersin 124.000 km Füme",
"make": "Volkswagen",
"model": "Passat",
"year": 2020,
"price": {
"amount": 2025000,
"currency": "TRY"
},
"mileage": 124000,
"fuelType": "dizel",
"transmission": "yarı_otomatik",
"city": "Yüksek Mh. Erdemli, Mersin",
"sellerType": "galeri",
"url": "https://www.arabam.com/ilan/..."
}
If you need listing-level data, this is the API to start with.
2. Turkish Auto Price Tracker API
The second API is the decision layer.
Instead of returning only listings, it turns listing data into valuation.
You provide a vehicle spec such as make, model, year range, fuel type, and transmission. The API searches Arabam and Sahibinden, then returns:
- listing-level price records
- median and average price
- min/max range
- percentiles
- seller-type breakdown
mileage-bucket analysis
This is the API for questions like:What is a 2020 diesel Passat actually worth today?
Is this asking price above market?
How do dealer prices compare to owner-listed prices?
Example input:
{
"vehicles": [
{
"make": "Volkswagen",
"model": "Passat",
"yearMin": 2018,
"yearMax": 2022,
"fuelType": "dizel"
}
],
"platforms": ["arabam"],
"maxListingsPerPlatform": 10
}
Example output includes:
- PRICE_RECORD
- PRICE_SUMMARY
- RUN_SUMMARY
A summary record looks like this in practice:
{
"type": "PRICE_SUMMARY",
"totalListingsUsed": 10,
"overall": {
"averagePrice": 1839438,
"medianPrice": 1795750,
"minPrice": 1525000,
"maxPrice": 2169000
}
}
This is the most business-friendly API in the set because it converts raw marketplace noise into a usable market signal.
3. Turkish Auto Dealer Intelligence API
The third API is the market structure layer.
This one focuses on dealers rather than individual cars.
It can scrape direct dealer URLs or discover dealers by city and then return structured dealer profiles with:
- dealer name
- city and district
- contact details
- trust/profile signals
- optional inventory analysis
That inventory mode is especially useful because it summarizes what a dealer is actually selling:
- total listings
- average price
- median price
- price range
- fuel breakdown
- inventory composition
Example input:
{
"platforms": ["arabam"],
"searchByCity": "istanbul",
"maxDealers": 3,
"includeInventory": false
}
Example dealer output:
{
"type": "DEALER_PROFILE",
"dealerName": "CM MOTORS",
"city": "İstanbul",
"district": "Fatih Oto Galeri",
"phone": "(0539) 812 32 20",
"dealerUrl": "https://www.arabam.com/galeri/cm-motors-istanbul"
}
And with inventory enabled:
{
"inventory": {
"totalListings": 6,
"averagePrice": 573483,
"medianPrice": 654000,
"priceRange": {
"min": 259000,
"max": 789000
}
}
}
This is the API for:
- dealer benchmarking
- lead generation
- market mapping by city
- inventory strategy analysis
- B2B automotive intelligence
Why split this into 3 APIs?
Because these are three different jobs.
Listing extraction is about raw data.
Price tracking is about market valuation.
Dealer intelligence is about competitive structure.
Trying to force all of that into one giant “automotive scraper” would make the product harder to understand, harder to price, and harder for developers to integrate.
Three narrower APIs make the value proposition much clearer.
One more important point: these APIs are open source, and contributions are welcome. If you want to improve marketplace coverage, harden parsers, expand normalization, add new output fields, improve dealer analytics, or help support more Turkish automotive workflows, you can jump in and contribute. I want this to become a practical open data tooling layer for the Turkish automotive ecosystem, not just a closed product.
Final thought
Turkey’s automotive market has a lot of publicly visible data, but not a lot of clean, reusable interfaces.
That’s the gap these APIs are designed to fill.
If you want listing-level data, use the vehicle scraper.
If you want valuation, use the price tracker.
If you want dealer-level market intelligence, use the dealer intelligence API.
That stack gives you a practical data layer for the Turkish used-car market without rebuilding the scraping and normalization work from scratch.
Top comments (0)