# OLX Autos Scraper (`ribtools/olxautos-scraper`) Actor

Extract car and motorcycle listings from OLX Brasil with specs, price, photos and location. Optional add-ons: ad description with FIPE and market price reference, and seller profile with phone. Premium residential proxies included.

- **URL**: https://apify.com/ribtools/olxautos-scraper.md
- **Developed by:** [RibTools](https://apify.com/ribtools) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.99 / 1,000 vehicle data results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## OLX Autos Scraper

Extract car and motorcycle listings from **OLX Brasil** with specs, price, photos and location — plus optional ad details and seller contact data.

### What is OLX Autos Scraper?

**OLX Autos Scraper** is a powerful data extraction tool that automatically collects vehicle listings from [OLX Brasil](https://www.olx.com.br/), Brazil's largest classifieds marketplace. Simply provide starting URLs and get structured data including vehicle specifications, pricing, photos, and location — with optional add-ons for the full ad description, FIPE/market price reference, and the seller's phone and profile.

This scraper handles pagination, anti-bot protection, and data normalization automatically, delivering clean, structured datasets ready for analysis or integration into your systems.

### What can this Actor do?

- **Extract comprehensive vehicle data** — make, model, year, mileage, fuel, transmission, body type, price, photos
- **Handle multiple entry points** — category search pages, filtered searches, and single ad URLs
- **Automatic pagination** — crawls through all search result pages (up to 5,000 vehicles per search)
- **Ad details add-on** — description, FIPE reference price, OLX market price statistics, ZIP code, masked phone
- **Seller data add-on** — seller name, phone number, location, pro/dealer flags, Google rating, and benefits
- **Premium proxies included** — high-quality residential proxies built in at no additional cost
- **Structured output** — JSON, CSV, Excel formats available
- **API integration** — real-time data access through Apify API
- **Scheduled runs** — automated daily/weekly data collection

### What data can OLX Autos Scraper extract?

| Field | Description | Example |
| ----- | ----------- | ------- |
| **ID** | OLX ad identifier | 1536504043 |
| **Title** | Ad title | Ford Ecosport SE 1.6 16V Flex 5P Mec. 2013 |
| **Make** | Vehicle manufacturer | Ford, Volkswagen, Fiat |
| **Model** | Vehicle model | Ecosport SE 1.6 16V Flex 5P Mec., Onix, CG 160 |
| **Category** | OLX category | Carros, vans e utilitários / Motos |
| **Price** | Listed price (BRL) | 54900 |
| **Year** | Manufacturing/registration year | 2013 |
| **Mileage** | Kilometers driven | 128587 |
| **Fuel / Transmission** | Fuel type and gearbox | Flex, Manual |
| **Body Type / Color** | Category and color | SUV, Laranja |
| **Location** | City, neighborhood, state, DDD | São Paulo, SP |
| **Photos** | Photo URLs | Multiple high-res images |
| **Features / Pills** | Equipment list and ad badges | Ar condicionado, Aceita troca |
| **Attributes** | Raw key/value attributes from the ad | fuel, gearbox, cartype, ... |
| **Details** (add-on) | Description, FIPE price, market price stats, masked phone | See below |
| **Seller** (add-on) | Name, phone, location, pro/dealer flags, Google rating, benefits | See below |

### How to scrape OLX Brasil vehicles

#### Step-by-step tutorial:

1. **Add starting URLs** — Enter OLX Brasil search or single ad URLs (see compatible formats below)
2. **Configure add-ons** (optional) — Enable ad details and/or seller data
3. **Run the scraper** — Click "Start" and monitor progress in real-time
4. **Download results** — Export data in JSON, CSV, or Excel format

Proxies are included automatically — no setup required.

#### Compatible URL examples:

- **Cars search**: `https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp`
- **Motorcycles search**: `https://www.olx.com.br/autos-e-pecas/motos/estado-sp`
- **Filtered search**: `https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp?q=civic`
- **Single ad (short form)**: `https://www.olx.com.br/vi/1521837213`
- **Single ad (regional link)**: `https://sp.olx.com.br/sao-paulo-e-regiao/autos-e-pecas/carros-vans-e-utilitarios/volkswagen-jetta-comfortline-2-0-t-flex-8v-4p-tipt-2012-1534857140`

**Important**: Only URLs matching these patterns will work. Search URLs on a state subdomain (e.g. `sp.olx.com.br/...`) are not supported — use the `www.olx.com.br` search URL instead.

### How much does it cost to scrape OLX Brasil?

OLX Autos Scraper uses **pay-per-result (PPR)** pricing — you only pay for successfully extracted vehicles.

#### Is scraping OLX Brasil free?

The scraper follows Apify's PPR model with the following structure:

- **Base extraction**: one charge per scraped vehicle (specs, price, photos, location)
- **Ad details add-on**: one additional charge per vehicle when the details add-on is enabled and the ad page returns data
- **Seller data add-on**: one additional charge per vehicle, but only when the seller endpoint actually returns a phone number — sellers without a published phone are never charged for this add-on

Pricing is optimized for efficiency, using minimal compute units while maintaining high success rates. Contact support for volume discounts on large-scale projects.

### Input configuration

The scraper accepts the following inputs:

#### Start URLs

OLX search URLs for cars (`/autos-e-pecas/carros-vans-e-utilitarios`) or motorcycles (`/autos-e-pecas/motos`) copied from your browser, with any filters applied (state, city, brand, price, keyword). Single ad URLs also work, e.g. `https://www.olx.com.br/vi/1521837213` or the full regional ad link.

#### Maximum items

Maximum number of vehicles to scrape (each result is a charged event). Leave empty for no limit. Each search URL yields at most 5,000 vehicles (100 pages of 50); narrow the filters for more.

#### Fetch ad details (add-on)

Open each ad page to add the description, FIPE reference price, OLX market price statistics, ZIP code, seller name and masked phone. Charged per vehicle with details.

#### Fetch seller data (add-on)

Fetch the seller profile: name, phone number, location, pro/dealer flags, Google rating and benefits. You are charged only when a phone number is returned.

### Output example

```json
{
  "type": "vehicle",
  "id": 1536504043,
  "url": "https://sp.olx.com.br/sao-paulo-e-regiao/autos-e-pecas/carros-vans-e-utilitarios/ford-ecosport-se-1-6-16v-flex-5p-mec-2013-1536504043",
  "title": "Ford Ecosport SE 1.6 16V Flex 5P Mec. 2013",
  "price": 54900,
  "category": "Carros, vans e utilitários",
  "make": "Ford",
  "model": "Ecosport SE 1.6 16V Flex 5P Mec.",
  "year": 2013,
  "km": 128587,
  "fuel": "Flex",
  "transmission": "Manual",
  "body_type": "SUV",
  "color": "Laranja",
  "doors": 4,
  "engine": "1.6",
  "steering": "Elétrica",
  "final_plate": "5",
  "single_owner": null,
  "accepts_trade": null,
  "financial_status": "Desconhecido",
  "features": [
    "Air bag",
    "Ar condicionado",
    "Alarme",
    "Conexão USB",
    "Interface bluetooth",
    "Trava elétrica",
    "Vidro elétrico",
    "Volante multifuncional"
  ],
  "pills": [],
  "old_price": null,
  "is_professional": true,
  "is_featured": false,
  "published_at": "2026-09-17T21:36:52Z",
  "city": "São Paulo",
  "neighborhood": "Vila Arcádia",
  "state": "SP",
  "ddd": "11",
  "photos": [
    "https://img.olx.com.br/images/80/807649682581162.jpg",
    "https://img.olx.com.br/images/80/802640328334832.jpg",
    "https://img.olx.com.br/images/80/801619325782461.jpg"
  ],
  "video_count": 0,
  "seller_google_rating": 4.2,
  "has_inspection_report": false,
  "attributes": {
    "category": "Carros, vans e utilitários",
    "vehicle_brand": "Ford",
    "cartype": "SUV",
    "regdate": "2013",
    "mileage": "128587",
    "fuel": "Flex",
    "gearbox": "Manual",
    "car_steering": "Elétrica",
    "carcolor": "Laranja",
    "doors": "4 portas",
    "has_paid_ipva": "Não",
    "is_settled": "Não"
  },
  "details": {
    "description": "AutoExemplo Multimarcas — seminovo com laudo de inspeção e opções de financiamento em até 60x. Entre em contato para agendar uma visita.",
    "fipe_price": 50352,
    "market_price": {
      "reference_month": 202608,
      "min": 38890,
      "p25": 47000,
      "p50": 49980,
      "p75": 52900,
      "max": 58900,
      "stddev": 4874,
      "vehicle_count": 41
    },
    "zip_code": "02924000",
    "seller_name": "AutoExemplo Multimarcas",
    "seller_account_id": "b180b4bf-d743-4b5a-a69b-30407a5ee43e",
    "masked_phone": "1198765*...",
    "first_published_at": "2026-09-17T21:36:52Z",
    "has_vehicle_report": false
  },
  "seller": {
    "id": "b180b4bf-d743-4b5a-a69b-30407a5ee43e",
    "name": "AutoExemplo Multimarcas",
    "profile_url": "https://www.olx.com.br/perfil/autoexemplo-multimarcas-b180b4bf",
    "is_pro": true,
    "is_key_account": true,
    "phone": "11987654321",
    "phone_verified": true,
    "cnpj_verified": null,
    "city": "São Paulo",
    "neighborhood": "Vila Arcádia",
    "state": "SP",
    "zip_code": "02924000",
    "google_rating": 4.2,
    "google_rating_count": 199,
    "instagram": "autoexemplo_multimarcas",
    "benefits": ["Garantia 3 meses", "Laudo veicular"],
    "member_since": "2015-03-20T16:43:52.567Z"
  }
}
```

*Photos and description above are trimmed for brevity; a real run returns every photo URL and the full ad text. Seller name, phone, Instagram handle, and the ad description have been replaced with fictitious values in this sample.*

Some OLX dealers list a monthly installment amount rather than the full price; when that happens, `details.fipe_price` and `details.market_price` still give the vehicle's real reference value.

You can download the dataset extracted by **OLX Autos Scraper** in various formats such as **JSON, HTML, CSV, or Excel**. The data is automatically cleaned and normalized for immediate use in analysis tools, databases, or business applications.

### Use cases and applications

- **Automotive dealerships** — Monitor competitor pricing and inventory across Brazil
- **Market researchers** — Analyze Brazilian vehicle market trends and pricing
- **Price comparison platforms** — Build comprehensive vehicle price databases
- **Lead generation** — Identify and reach out to private sellers and dealers
- **Insurance companies** — Access current market values for vehicle assessment
- **Investment analysis** — Evaluate automotive market opportunities in Brazil

### Integrations and API access

OLX Autos Scraper seamlessly integrates with popular platforms:

- **Zapier** — Automate data workflows and notifications (via [Apify Zapier integration](https://docs.apify.com/platform/integrations/zapier))
- **Make (Integromat)** — Create complex automation scenarios (via [Apify Make integration](https://www.make.com/en/integrations/apify))
- **Google Sheets** — Direct data export for analysis
- **REST API** — Programmatic access to extracted data ([instructions here](https://docs.apify.com/academy/api/run-actor-and-retrieve-data-via-api))
- **Python/Node.js SDKs** — Easy integration into applications ([instructions here](https://docs.apify.com/academy/api/run-actor-and-retrieve-data-via-api#javascript-and-python-client))

### FAQ and Support

#### Do I need to configure a proxy?

No. OLX Brasil implements anti-scraping measures that block direct requests, so the Actor includes high-quality residential proxies automatically at no additional cost. There's nothing to configure.

#### Why am I not charged for the seller data add-on on every vehicle?

The seller data add-on is only charged when OLX's seller endpoint actually returns a phone number for that seller. Sellers who haven't published a phone number are not charged, but you still get the rest of the seller profile (name, location, pro/dealer flags, rating) at no cost for that item.

#### Can I scrape a single ad instead of a search?

Yes. Pass the ad's URL (either the short `olx.com.br/vi/<id>` form or the full regional link) as a start URL and it will be scraped like any other item.

#### How often is the data updated?

OLX Brasil updates listings in real-time. For fresh data, schedule regular scraper runs or use our API for on-demand extraction.

#### What if some URLs don't work?

The scraper only supports specific URL patterns from OLX Brasil. Ensure your URLs match the compatible formats listed above. URLs outside these patterns will be skipped.

#### Do you offer custom solutions?

Absolutely! We can customize the scraper for specific requirements, additional data points, or integration with your existing systems. Contact us through the Issues tab for enterprise solutions.

#### Need help or have feedback?

- **Report issues**: Use the Issues tab for bug reports and feature requests
- **Custom development**: Contact us for tailored solutions and enterprise integrations

# Changelog

This Actor's version history is a separate document: https://apify.com/ribtools/olxautos-scraper/changelog.md

# Actor input Schema

## `startUrls` (type: `array`):

OLX search URLs for cars (`/autos-e-pecas/carros-vans-e-utilitarios`) or motorcycles (`/autos-e-pecas/motos`) copied from your browser, with any filters applied (state, city, brand, price, keyword). Single ad URLs also work, e.g. `https://www.olx.com.br/vi/1521837213` or the full regional ad link.

## `maxRequests` (type: `integer`):

Maximum number of vehicles to scrape (each result is a charged event). Leave empty for no limit. Each search URL yields at most 5,000 vehicles (100 pages of 50); narrow the filters for more.

## `detailsAddon` (type: `boolean`):

Open each ad page to add the description, FIPE reference price, OLX market price statistics, ZIP code, seller name and masked phone. Charged per vehicle with details.

## `sellerDataAddon` (type: `boolean`):

Fetch the seller profile: name, phone number, location, pro/dealer flags, Google rating and benefits. You are charged only when a phone number is returned.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp"
    }
  ],
  "maxRequests": 10,
  "detailsAddon": false,
  "sellerDataAddon": false
}
```

# Actor output Schema

## `items` (type: `string`):

All scraped vehicles.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp"
        }
    ],
    "maxRequests": 10,
    "detailsAddon": false,
    "sellerDataAddon": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("ribtools/olxautos-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp" }],
    "maxRequests": 10,
    "detailsAddon": False,
    "sellerDataAddon": False,
}

# Run the Actor and wait for it to finish
run = client.actor("ribtools/olxautos-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.olx.com.br/autos-e-pecas/carros-vans-e-utilitarios/estado-sp"
    }
  ],
  "maxRequests": 10,
  "detailsAddon": false,
  "sellerDataAddon": false
}' |
apify call ribtools/olxautos-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ribtools/olxautos-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/yw2yNnnR7nJu5hYnP/builds/9cXgrm0uiDq7iwzJL/openapi.json
