OLX Brazil Scraper — Ads, Prices, Location & Seller Data
Pricing
from $1.50 / 1,000 results
OLX Brazil Scraper — Ads, Prices, Location & Seller Data
Scrape OLX Brasil (olx.com.br) classified ads by keyword, category or URL. Get title, price, price drops, photos, location (city, neighbourhood, state, DDD), attributes, vehicle specs, market-price benchmarks and seller data. Export to JSON/CSV/Excel for price monitoring, leads and market research.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
36
Total users
1
Monthly active users
a day ago
Last modified
Categories
Features
Share
OLX Brazil Scraper — Classified Ads, Prices, Locations, Vehicle Specs & Seller Data
Extract structured classified listings from OLX Brasil (olx.com.br) — Brazil's largest online marketplace. Turn any keyword search, department category, or regional URL into a clean, normalized dataset: ad title, numeric BRL price, price-drop flags, full photo gallery, municipality / neighborhood / state (UF) / DDD phone area code, category-specific attributes, OLX Pay & Delivery flags, and seller type — plus optional detail-page enrichment for seller name & public ID, full description, vehicle specifications, and vehicle market-price benchmarks.
Export every result to JSON, CSV, Excel, HTML, XML, or the Apify API — no login, no manual scraping.
⚡ At a glance
| Feature | Details |
|---|---|
| 🎯 Target marketplace | OLX Brasil (olx.com.br) — Brazil's #1 classifieds marketplace across all 27 federative units (UFs) |
| 🗂️ Supported verticals | Autos & Parts (autos-e-pecas), Real Estate (imoveis), Electronics & Phones (eletronicos-e-celulares), Home & Appliances, Fashion, Jobs, Agro & Industry, Services, and more |
| 💰 Price intelligence | Normalized integer price in BRL (R$), formatted priceText, previous oldPrice, and priceDropped reduction badge |
| 📍 Structured location | Broken down into state (2-letter UF), city (municipality), neighbourhood, ddd (phone area code), and locationLabel |
| 🧩 Dynamic attributes | Category-specific attributes object (brand, model, storage, condition, battery health, mileage, fuel, rooms, m², condo fee, etc.) |
| 🚗 Detail enrichment | Optional fetchDetails: true extracts sellerName, sellerId, full description, vehicle specs (vehicleYear, vehicleMileage, vehicleFuel, vehicleTransmission), and vehicle market-price benchmarks (marketPriceMin, marketPriceMedian, marketPriceMax) |
| 🔁 Pagination & Scale | Automatic multi-page traversal (~50 ads/page) supporting 1,000+ results pagination per run with deterministic listId deduplication |
| 📦 Bulk export | JSON, JSONL, CSV, Excel (XLSX), HTML, XML, RSS, and REST API endpoints |
🔎 Why scrape OLX Brasil?
OLX Brasil is the heartbeat of Brazil's recommerce, automotive, and real estate classifieds economy, hosting tens of millions of active listings across São Paulo, Rio de Janeiro, Minas Gerais, Paraná, Rio Grande do Sul, Bahia, Distrito Federal, and every state in the country. Whether you are tracking smartphone resale values, benchmarking used-car prices against FIPE/market medians, monitoring apartment rents by neighborhood, or building B2B lead lists of professional dealerships (isProfessional: true), OLX Brasil holds the live ground truth.
Collecting this data manually or with basic scripts quickly runs into roadblocks:
- Massive pagination: High-volume categories and keywords span dozens to hundreds of pages (~50 ads per page).
- Inconsistent Brazilian currency & attribute formatting: Prices appear as
R$ 2.490, while critical product specifications (storage, condition, mileage, rooms, condo fees) are nested inside category-specific attribute arrays. - Regional access blocks: OLX Brasil restricts non-Brazilian and datacenter IP ranges, requiring automatic session management over Brazilian residential IPs.
This OLX Brasil scraper handles session rotation, multi-page traversal, BRL price parsing, location splitting, and listId deduplication out of the box — delivering an analysis-ready dataset in seconds.
Common reasons teams use this OLX Brasil data extractor
- 📊 E-commerce & Recommerce Price Monitoring — Track live asking prices and
priceDroppedevents for iPhones, notebooks, consoles, and appliances across Brazil. - 💸 Reselling & Arbitrage Sourcing — Spot underpriced electronics, collectibles, and auto parts the moment they are published (
publishedAt). - 🚗 Used-Car & Motorcycle Valuation — Extract vehicle listings with odometer mileage, model year, fuel type, transmission, and OLX's built-in market-price range (
marketPriceMin/Median/Max) to identify below-market inventory. - 🏠 Real Estate Market Intelligence — Benchmark apartment and house sale/rental prices (
imoveis) by state (state), municipality (city), and neighborhood (neighbourhood). - 🏢 B2B Lead Generation — Filter
isProfessional == true(orsellerType == "Professional") and group bydddarea code andstateto build targeted lists of car dealerships, real estate brokerages, and electronics stores.
✨ What this OLX Brasil scraper does
- ✅ Search by keyword, category, or exact URL — Run multiple keywords in
searchQueries, select a department incategory, browse a whole category without keywords, or paste custom filtered URLs instartUrls. - ✅ Unlocked 1,000+ results pagination — Automatically steps through result pages (
?o=1, 2, 3 …), collecting ~50 ads per page until yourmaxItemsPerSearchormaxTotalItemstarget is reached. - ✅ 100% deduplicated output — Every listing is keyed on its unique OLX
listId, ensuring zero duplicates even when searches overlap. - ✅ Normalized BRL pricing & discount tracking — Converts Brazilian currency strings into numeric
priceandoldPriceintegers alongsidepriceDropped: true/false. - ✅ Granular Brazilian geography — Separates every listing's location into
state(UF),city,neighbourhood, andddd(2-digit telephone area code). - ✅ Rich category
attributesdictionary — Preserves all structured item properties (e.g.,Marca,Modelo,Condição,Memória interna,Quilometragem,Quartos,Área útil) as a clean JSON object. - ✅ Seller & marketplace badges — Captures
isProfessional,sellerType(PrivatevsProfessional),isFeatured,hasOlxPay,hasOlxDelivery, andsellerGoogleRating. - ✅ Optional deep ad enrichment (
fetchDetails: true) — Opens each ad page to extractsellerName,sellerId, full textdescription, structuredvehicleBrand/vehicleModel/vehicleYear/vehicleMileage/vehicleFuel/vehicleTransmission/vehicleBodyType/vehicleDoors, and market-price benchmarks.
🎯 Use cases
1. Used-Car Dealerships, Auto Portals & Fleet Buyers
- Instant below-market car alerts: Scrape
autos-e-pecaswithfetchDetails: true, compare each listing's askingpriceagainstmarketPriceMedian, and flag vehicles priced >12% below median market value. - Dealer inventory intelligence: Filter
isProfessional: trueacross São Paulo (DDD 11) or Rio (DDD 21) to monitor professional dealer stock and pricing velocity.
2. Recommerce Platforms, Flippers & Electronics Resellers
- Smartphone & console price indexes: Track daily median asking prices for
iphone 13,iphone 14,iphone 15,playstation 5, andmacbookstratified by storage (Memória interna), condition (Condição), and battery health (Saúde da bateria). - OLX Pay & Delivery sourcing: Filter
hasOlxPay == trueandhasOlxDelivery == trueto find nationwide shippable inventory with buyer protection.
3. Real Estate Analysts & Proptech Teams
- Rental & sale yield mapping: Scrape
category: "imoveis"(or state-specific URLs viastartUrls) and extract room counts, square footage, condominium fees, and IPTU fromattributesacross Brazilian municipalities.
4. B2B Sales & Marketplace Growth Teams
- Merchant acquisition pipelines: Identify high-volume professional sellers (
isProfessional: true) operating in specific states (state) and phone regions (ddd) for B2B SaaS, financing, or logistics outreach.
📥 Input parameters
Configure the actor via the Apify Console form or pass JSON through the API. All parameters are optional — running with empty inputs returns a diverse 100-item sample across Brazil's most popular searches.
| Parameter | Type | Default | Prefill | Description |
|---|---|---|---|---|
searchQueries | array<string> | [] | ["iphone"] | One or more search keywords (e.g., ["iphone 13", "honda civic", "apartamento"]). Each keyword runs as an independent paginated search. Leave empty to browse your chosen category or run a popular multi-category mix. |
category | string | "" | "" | Optional OLX department slug (autos-e-pecas, imoveis, eletronicos-e-celulares, etc.). Empty = all categories. |
minPrice | integer | — | — | Minimum asking price in Brazilian Reais (BRL). |
maxPrice | integer | — | — | Maximum asking price in Brazilian Reais (BRL). |
fetchDetails | boolean | false | false | When true, visits each individual ad page to enrich sellerName, sellerId, description, vehicle specs, and market-price benchmarks. Leave false for maximum speed. |
maxItemsPerSearch | integer | 0 | 100 | Maximum ads to collect per keyword or start URL. 0 = unlimited (governed by maxTotalItems). |
maxTotalItems | integer | 0 | — | Global cap across all searches in the run (0 = unlimited). Set to 1000+ for deep sweeps. |
startUrls | array<string> | [] | — | Advanced: Paste full olx.com.br search, category, state, or city URLs. Overrides searchQueries and category when provided. |
proxyConfiguration | object | Residential BR | Residential BR | Proxy settings. Brazilian (BR) residential proxy is enabled by default and strongly recommended. |
Sample Input Recipes
Recipe 1: Fast keyword search (100 listings in ~15 seconds)
{"searchQueries": ["iphone"],"maxItemsPerSearch": 100,"fetchDetails": false}
Recipe 2: Deep 1,000+ listing category & multi-keyword extraction
{"searchQueries": ["iphone 13", "iphone 14", "iphone 15", "samsung s23", "macbook"],"category": "eletronicos-e-celulares","minPrice": 1000,"maxPrice": 8000,"maxItemsPerSearch": 300,"maxTotalItems": 1500}
Recipe 3: Used cars with full specs & market-price benchmarks
{"searchQueries": ["honda civic", "toyota corolla"],"category": "autos-e-pecas","fetchDetails": true,"maxItemsPerSearch": 100}
Recipe 4: State / City / Custom Sort via startUrls
{"startUrls": ["https://www.olx.com.br/estado-sp/regiao-de-sao-paulo/imoveis/aluguel?q=apartamento","https://www.olx.com.br/estado-rj/rio-de-janeiro-e-regiao/autos-e-pecas/carros-vans-e-utilitarios"],"maxItemsPerSearch": 500,"maxTotalItems": 1000}
📤 Output schema & field reference
Each OLX ad is normalized into a flat JSON record. Below is a real record from a verified run:
{"listId": "1500809561","title": "iPhone 14 Plus 128GB Midnight c/ Caixa","price": 2490,"priceText": "R$ 2.490","oldPrice": null,"priceDropped": false,"category": "Celulares e Smartphones","categoryId": "3060","isProfessional": false,"isFeatured": false,"state": "RJ","city": "Niterói","neighbourhood": "Largo da Batalha","ddd": "21","locationLabel": "Niterói, Largo da Batalha","publishedAt": "2026-10-31T11:09:29.000Z","imageUrl": "https://img.olx.com.br/images/43/437679042999046.jpg","imageCount": 5,"images": ["https://img.olx.com.br/images/43/437679042999046.jpg","https://img.olx.com.br/images/45/455669524947931.jpg"],"attributes": {"Categoria": "Celulares e Smartphones","Marca": "APPLE","Modelo": "IPHONE 14","Condição": "Usado - Excelente","Memória interna": "128GB","Cor": "Preto","Saúde da bateria": "Boa (80% até 94%)","Aceita trocas": "Não"},"sellerGoogleRating": null,"hasOlxPay": true,"hasOlxDelivery": false,"sellerName": null,"sellerId": null,"sellerType": "Private","phoneVerified": null,"description": null,"vehicleBrand": null,"vehicleModel": null,"vehicleYear": null,"vehicleMileage": null,"vehicleFuel": null,"vehicleTransmission": null,"vehicleBodyType": null,"vehicleDoors": null,"marketPriceMin": null,"marketPriceMedian": null,"marketPriceMax": null,"marketSampleSize": null,"url": "https://rj.olx.com.br/rio-de-janeiro-e-regiao/celulares/iphone-14-plus-128gb-midnight-c-caixa-1500809561","searchTerm": "iphone","scrapedAt": "2026-11-01T23:45:11.000Z"}
🏷️ Core Listing, Price & Marketplace Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
listId | string | 🟢 High (100%) | Unique OLX Brasil ad identifier used for deduplication |
title | string | 🟢 High (100%) | Listing headline as published by the seller |
price | integer | null | 🟢 High (~98%) | Normalized integer price in BRL (null only when unpriced / "a combinar") |
priceText | string | null | 🟢 High (~98%) | Original formatted price string (e.g., "R$ 2.490") |
oldPrice | integer | null | 🟡 Conditional | Previous BRL price when the listing has been discounted |
priceDropped | boolean | 🟢 High (100%) | true if OLX displays a price-reduction badge on the listing |
category | string | 🟢 High (100%) | Human-readable OLX subcategory name (e.g., "Celulares e Smartphones") |
categoryId | string | 🟢 High (100%) | Internal OLX numeric category ID |
attributes | object | null | 🟢 High (~98%) | Key-value dictionary of category-specific attributes (brand, model, condition, rooms, mileage, etc.) |
hasOlxPay | boolean | 🟢 High (100%) | true when OLX Pay online checkout is enabled |
hasOlxDelivery | boolean | 🟢 High (100%) | true when OLX Delivery shipping is enabled |
isFeatured | boolean | 🟢 High (100%) | true when the ad is promoted / pinned |
publishedAt | string | 🟢 High (100%) | ISO-8601 timestamp when the ad was published |
url | string | 🟢 High (100%) | Canonical direct URL to the OLX ad |
searchTerm | string | 🟢 High (100%) | Keyword, category, or start URL that produced this record |
scrapedAt | string | 🟢 High (100%) | ISO-8601 UTC extraction timestamp |
📍 Location & Media Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
state | string | 🟢 High (100%) | Two-letter Brazilian state code (SP, RJ, MG, PR, RS, BA, SC, DF, etc.) |
city | string | 🟢 High (100%) | Brazilian municipality name (e.g., "São Paulo", "Niterói", "Belo Horizonte") |
neighbourhood | string | null | 🟢 High (~96%) | Neighborhood (bairro) name within the municipality |
ddd | string | 🟢 High (100%) | 2-digit Brazilian telephone area code (11, 21, 31, 41, 51, etc.) |
locationLabel | string | 🟢 High (100%) | Combined location label displayed on the listing card |
imageUrl | string | null | 🟢 High (~99%) | Primary thumbnail/main photo URL |
imageCount | integer | 🟢 High (100%) | Total number of photos attached to the listing |
images | array<string> | 🟢 High (~99%) | Full array of high-resolution photo URLs |
👤 Seller, Vehicle Specs & Market Benchmarks (fetchDetails Enrichment)
| Field | Type | Coverage | Description |
|---|---|---|---|
isProfessional | boolean | 🟢 High (100%) | true for commercial/professional accounts, false for private sellers (always populated) |
sellerType | string | 🟢 High (100%) | "Professional" or "Private" (always populated) |
sellerGoogleRating | number | null | 🟡 Conditional | Seller's Google rating when displayed on professional accounts |
sellerName | string | null | 🟡 Opt-in (fetchDetails) | Seller display name extracted from the detail page |
sellerId | string | null | 🟡 Opt-in (fetchDetails) | Seller public UUID on OLX Brasil |
description | string | null | 🟡 Opt-in (fetchDetails) | Full plain-text ad description |
vehicleBrand · vehicleModel | string | null | 🟡 Opt-in (fetchDetails) | Vehicle manufacturer and model (for autos-e-pecas listings) |
vehicleYear · vehicleMileage | string | null | 🟡 Opt-in (fetchDetails) | Model year and odometer reading in km |
vehicleFuel · vehicleTransmission | string | null | 🟡 Opt-in (fetchDetails) | Fuel type (Flex, Gasolina, Diesel, Álcool) & transmission (Automático, Manual) |
vehicleBodyType · vehicleDoors | string | null | 🟡 Opt-in (fetchDetails) | Body style (Sedã, SUV, Hatch) and door count |
marketPriceMin · Median · Max | number | null | 🟡 Opt-in (fetchDetails) | OLX market-price floor, median (p50), and ceiling for comparable vehicles |
marketSampleSize | integer | null | 🟡 Opt-in (fetchDetails) | Number of comparable vehicles used in the market-price benchmark |
🗂️ OLX Brasil Categories & State URL Reference
Built-in Department Slugs (category)
| Department | category Value | Typical Attributes Extracted |
|---|---|---|
| Autos & Parts | autos-e-pecas | Brand, Model, Year, Mileage (km), Fuel, Transmission, Doors, Color, Final Plate |
| Real Estate | imoveis | Property Type, Rooms (Quartos), Bathrooms, Area (m²), Garage Spaces, Condo Fee, IPTU |
| Electronics & Phones | eletronicos-e-celulares | Brand, Model, Condition, Internal Storage (Memória), Color, Battery Health |
| For Your Home | para-a-sua-casa | Category, Condition, Type, Material |
| Home Appliances | eletrodomesticos | Type, Brand, Condition, Voltage (110V / 220V) |
| Fashion & Beauty | moda-e-beleza | Category, Gender, Condition, Size |
| Sports & Leisure | esportes-e-lazer | Type, Condition, Brand |
| Music & Hobbies | musica-e-hobbies | Instrument/Hobby Type, Condition |
| Kids & Baby | artigos-infantis | Subcategory, Condition |
| Pets | animais-de-estimacao | Animal Type, Breed |
| Agro & Industry | agro-e-industria | Equipment Category, Condition |
| Business & Office | comercio-e-escritorio | Equipment Type, Condition |
| Jobs | vagas-de-emprego | Role, Contract Type |
| Services | servicos | Service Category |
Targeting Specific Brazilian States via startUrls
To restrict scraping to a single Brazilian state (UF), pass https://www.olx.com.br/estado-{uf}?q={keyword} (or combine with a category slug like https://www.olx.com.br/{category}/estado-{uf}) in startUrls:
- São Paulo (
SP):https://www.olx.com.br/estado-sp - Rio de Janeiro (
RJ):https://www.olx.com.br/estado-rj - Minas Gerais (
MG):https://www.olx.com.br/estado-mg - Paraná (
PR):https://www.olx.com.br/estado-pr - Rio Grande do Sul (
RS):https://www.olx.com.br/estado-rs - Bahia (
BA):https://www.olx.com.br/estado-ba - Santa Catarina (
SC):https://www.olx.com.br/estado-sc - Distrito Federal (
DF):https://www.olx.com.br/estado-df
🔁 Pagination & scale
The OLX Brazil Scraper is designed for both quick 100-item checks and 1,000+ listing production runs:
- Automatic multi-page pagination: Each OLX Brasil search page returns ~50 organic ads. The scraper automatically increments the
?o=2, 3, 4 …pagination parameter until it reaches yourmaxItemsPerSearch/maxTotalItemstarget or the end of available results. - Category-only browsing: If you select a
category(e.g.,imoveisorautos-e-pecas) and leavesearchQueriesempty, the actor paginates directly through the entire category feed nationwide. - Cross-search deduplication: Every record is deduplicated in memory by
listId. Running overlapping keywords or multi-regionstartUrlsnever produces duplicate rows (0% duplicates verified across 500+ ad runs). - Scaling past 5,000+ ads: For massive nationwide pulls, pass multiple state URLs (
estado-sp,estado-rj,estado-mg,estado-pr,estado-rs) instartUrlsor split by price bands (minPrice/maxPrice).
💻 API Integration Examples
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/olx-brasil-scraper").call(run_input={"searchQueries": ["iphone 14", "iphone 15"],"category": "eletronicos-e-celulares","minPrice": 2000,"maxTotalItems": 1000,"fetchDetails": False,})for ad in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"R$ {ad['price']} | {ad['title']} | {ad['city']}-{ad['state']} (DDD {ad['ddd']}) | {ad['url']}")
Node.js / TypeScript (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('haketa/olx-brasil-scraper').call({searchQueries: ['honda civic'],category: 'autos-e-pecas',fetchDetails: true,maxItemsPerSearch: 150,});const { items } = await client.dataset(run.defaultDatasetId).listItems();const belowMedian = items.filter((ad) => ad.price && ad.marketPriceMedian && ad.price < ad.marketPriceMedian * 0.9);console.log(`Total cars: ${items.length} | >10% below median market price: ${belowMedian.length}`);
cURL
curl -X POST "https://api.apify.com/v2/acts/haketa~olx-brasil-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["iphone"],"maxItemsPerSearch": 100}'
❓ Frequently Asked Questions
How many ads can I scrape per run, and how fast?
You can collect 1,000+ ads in a single run. In default listing mode (fetchDetails: false), the actor scrapes ~50 ads per page and typically collects 100 ads in ~12–20 seconds and 500 ads in ~45 seconds with 0% duplicates.
Do I need an OLX Brasil account or login?
No. The actor extracts publicly available marketplace listings without logging in or requiring any OLX credentials.
Why is the Brazilian (BR) residential proxy enabled by default?
OLX Brasil blocks non-Brazilian and datacenter IP addresses at the edge. The actor comes pre-configured with Apify's Brazilian residential proxy pool (apifyProxyCountry: "BR") and automatic session warm-up/rotation so runs succeed reliably.
When should I enable fetchDetails: true?
Leave fetchDetails: false when you need fast, low-cost extraction of prices, titles, photos, locations (city, neighbourhood, state, ddd), seller type (Private vs Professional), and category attributes. Enable fetchDetails: true when you specifically need the full text description, sellerName, sellerId, or vehicle market-price benchmarks (marketPriceMin / Median / Max).
Can I scrape a whole category without entering keywords?
Yes! Pick any department in category (for example imoveis or autos-e-pecas), leave searchQueries empty, and set maxTotalItems: 1000. The scraper will paginate directly through the category's nationwide listing stream.
Can I get seller phone numbers?
OLX Brasil masks direct phone numbers behind authenticated in-app chat. However, the actor extracts the listing's ddd phone area code, isProfessional / sellerType, and (when fetchDetails: true) sellerName and sellerId.
🔗 Related scrapers
Exploring classifieds and real estate marketplaces across Latin America and globally? Check out these sibling scrapers from haketa:
- ZAP Imóveis Scraper (Brazil) — Brazilian real estate listings, prices & seller contacts
- VivaReal Scraper (Brazil) — Brazil-wide property sales and rentals
- OLX Poland Scraper — OLX classifieds for Poland (
olx.pl) - Marktplaats Scraper (Netherlands) — Netherlands' #1 classifieds marketplace
- Kijiji Scraper (Canada) — Canada's leading classified-ads platform
- OfferUp Scraper (US) — US local buy-and-sell marketplace listings
- Kleinanzeigen Scraper (Germany) — Germany's largest classifieds marketplace
🔍 SEO Keywords
OLX Brazil scraper · OLX Brasil scraper · scrape OLX Brasil · olx.com.br data extractor · OLX Brasil API · Brazilian classifieds scraper · Brazil used car price scraper · OLX imóveis scraper · OLX carros scraper · OLX lead generation · bulk export JSON CSV Excel API · 1,000+ results pagination · B2B intelligence · recommerce Brazil dataset
📋 Changelog
| Version | Date | Notes |
|---|---|---|
| 1.2.0 | 2026-11 | Unlocked 1,000+ deep pagination & category-only browsing: Changed maxItemsPerSearch default to 0 (auto-governed by maxTotalItems), removed the 100-item clamp when users explicitly request 1,000+ items on default/category runs, enabled direct category pagination when searchQueries is empty, and raised pagination ceiling to 1,000 pages. |
| 1.1.0 | 2026-11 | App Router RSC stream + legacy parser: Updated search page extractor to decode OLX Brasil's current streaming payload alongside legacy __NEXT_DATA__. Verified 500 unique ads in ~44s with 0% duplicates and 100% core field fill. |
| 1.0.0 | 2026-07 | Initial release — Keyword, category & startUrls scraping, BRL price & discount normalization, UF/city/neighborhood/DDD breakdown, category attributes, and optional fetchDetails vehicle & seller enrichment. |