# Webmotors Scraper (`ribtools/webmotors-scraper`) Actor

Search Webmotors.com.br by make and model or paste any Webmotors URL. Cars and motorcycles with prices, specs, photos, FIPE, optional seller data and market prices. Proxies included.

- **URL**: https://apify.com/ribtools/webmotors-scraper.md
- **Developed by:** [RibTools](https://apify.com/ribtools) (community)
- **Categories:** Automation, E-commerce, Lead generation
- **Features:** Limited permissions
- **Stats:** 194 total users, 26 monthly users, 100.0% runs succeeded, 5 bookmarks
- **User rating**: 5.00 out of 5 stars

## 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

## Webmotors Scraper

Extract comprehensive vehicle listings from Webmotors.com.br including **cars and motorcycles** with detailed specifications, pricing, seller information, and high-quality images. Perfect for market research, price comparison, and inventory analysis in the Brazilian automotive market.

### What is Webmotors Scraper?

**Webmotors Scraper** is a powerful data extraction tool that automatically collects vehicle listings from [Webmotors.com.br](https://webmotors.com.br/), Brazil's leading automotive marketplace. Type the vehicles you want, or paste Webmotors URLs, and get structured data including vehicle specifications, pricing, seller contact details, and image galleries.

This scraper handles authentication, pagination, 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** - specifications, pricing, mileage, year, fuel type, transmission
- **Collect seller information** - names, CNPJ, phone numbers, location (with add-on)
- **Market price data** - Webmotors' average, lowest and highest asking price for the vehicle's version and year, 12-month FIPE and market price history, and how the listing price compares to FIPE and to the market (with add-on)
- **Download vehicle images** - multiple high-resolution photos per listing
- **Search by typing** - a make, a model or both, matched against Webmotors' own catalog
- **Handle multiple entry points** - typed vehicles, search pages, filtered searches and single listings
- **Apply search filters** - condition, state, city, year range, seller type, price range, mileage
- **Automatic pagination** - crawls through all search result pages
- **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
- **360° view URLs** - immersive vehicle views when available

### What data can Webmotors Scraper extract?

| Field            | Description            | Example                   |
| ---------------- | ---------------------- | ------------------------- |
| **ID**           | Unique vehicle ID      | 61932185                  |
| **Title**        | Full vehicle title     | AUDI A3 2.0 40 TFSI       |
| **Make**         | Vehicle manufacturer   | AUDI, BMW, FORD           |
| **Model**        | Specific vehicle model | A3, X1, Focus             |
| **Version**      | Model variant/trim     | 2.0 40 TFSI SPORTBACK     |
| **Year**         | Manufacturing year     | 2023                      |
| **Model Year**   | Model year             | 2024                      |
| **Price**        | Listed price (BRL)     | 241900                    |
| **FIPE Price**   | Reference price cached at indexing time (BRL) | 247439     |
| **FIPE Code**    | FIPE code of the vehicle's version | 008004-6      |
| **Market Price** | Current FIPE, market average/min/max, and 12-month history\*\* | see below |
| **Mileage**      | Kilometers driven      | 29562                     |
| **Fuel Type**    | Engine fuel            | Gasolina, Diesel, Flex    |
| **Transmission** | Gearbox type           | Automática, Manual        |
| **Body Type**    | Vehicle category       | Hatchback, Sedan, SUV     |
| **Color**        | Primary vehicle color  | Cinza, Branco, Preto      |
| **Doors**        | Number of doors        | 4, 2                      |
| **Armored**      | Armor status           | true, false               |
| **Final Plate**  | License plate digit    | 0, 1, 2                   |
| **Seller Info**  | Contact details        | Name, CNPJ, phones\*      |
| **Location**     | Seller location        | São Paulo, Rio de Janeiro |
| **Images**       | Photo URLs             | Multiple high-res images  |
| **360° View**    | Virtual tour URL       | Interactive vehicle view  |
| **Optionals**    | Equipment list         | A/C, leather seats, GPS   |
| **Attributes**   | Listing features       | Aceita troca, Financiado  |
| **Search**       | The vehicle text or URL that found the listing | Tiggo 7   |

\*Seller details require the optional add-on

\*\*Market price details require the optional add-on

### How to scrape Webmotors.com.br vehicles

#### Step-by-step tutorial:

1. **Type vehicles** - Add one make, model or both per line in *Search vehicles*, as you would in Webmotors' search box
2. **Or paste URLs** - Add Webmotors search pages or single listings in *Webmotors URLs* (see below). You can use both; each vehicle and each URL is its own search
3. **Set filters** (optional) - Condition, state, city, year, seller type, price and mileage. They apply to typed vehicles only; a URL keeps the filters it carries
4. **Enable seller add-on** (optional) - Get detailed seller information including CNPJ and phone
5. **Enable market prices add-on** (optional) - Get Webmotors' market average/min/max price, 12-month history, and price-vs-FIPE/market comparisons
6. **Run the scraper** - Click "Start" and monitor progress in real-time
7. **Download results** - Export data in JSON, CSV, or Excel format

Proxies are included automatically — no setup required.

#### Search by vehicle

Typed text is matched against Webmotors' own catalog, so spelling does not have to be exact. The status message of the run shows what each line resolved to.

- `Tiggo 7` - the model Tiggo 7 (CAOA CHERY)
- `chery` - every model of the make CAOA CHERY
- `Volkswagen Polo` - the model Polo (Volkswagen)

A vehicle or a city Webmotors does not know is skipped and named in the status message; it never returns unrelated results. `Max results per search` caps each vehicle separately.

#### Webmotors URLs

- **Cars (used)**: `https://www.webmotors.com.br/carros-usados/sp?lkid=1000&tipoveiculo=carros-usados&estadocidade=São%20Paulo`
- **Cars (new)**: `https://www.webmotors.com.br/carros-novos/sp?lkid=1001&tipoveiculo=carros-novos&estadocidade=São%20Paulo`
- **Motorcycles (used)**: `https://www.webmotors.com.br/motos-usadas/sp?lkid=1002&tipoveiculo=motos-usadas&estadocidade=São%20Paulo`
- **Motorcycles (new)**: `https://www.webmotors.com.br/motos-novas/sp?lkid=1002&tipoveiculo=motos-novas&estadocidade=São%20Paulo`
- **Filtered search**: `https://www.webmotors.com.br/carros/sp-sao-paulo/bmw/x1?autocomplete=x1&autocompleteTerm=BMW%20X1&lkid=1705&tipoveiculo=carros&marca1=BMW&modelo1=X1`
- **Single listing**: `https://www.webmotors.com.br/comprar/audi/a3/20-40-tfsi-mhev-sportback-performance-black-s-tronic/4-portas/2023-2024/61932185` returns that one vehicle

**Important**: Only URLs matching these patterns will work. A URL keeps exactly the filters it carries.

### How much does it cost to scrape Webmotors.com.br?

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

#### Is scraping Webmotors.com.br free?

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

- **Base extraction**: Standard vehicle data (specifications, pricing, images), including each vehicle's FIPE code and price-as-percent-of-FIPE at no extra cost
- **Seller add-on**: Additional cost for detailed seller information (CNPJ, full phone numbers)
- **Market prices add-on**: Additional cost per vehicle for Webmotors' market average/min/max asking price, 12-month FIPE and market price history, and price vs FIPE / vs market comparisons

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:

Fields are listed in the order of the input form. A run needs at least one vehicle or one URL.

- **Search vehicles** (`vehicles`) - One make, model or both per line, e.g. `Tiggo 7`, `chery`, `Volkswagen Polo`. Each line is its own search
- **Webmotors URLs** (`startUrls`) - Search pages or single listings. Plain strings or `{"url": ...}` objects
- **Max results per search** (`maxRequests`) - Cap on vehicles for each vehicle and each URL separately. Default 10.
- **Vehicle type** (`vehicleType`) - Cars or motorcycles
- **Condition** (`condition`) - Used and new, used, or new
- **State** (`state`) and **City** (`city`) - Brazilian state (UF) and a city inside it. A city Webmotors does not know is skipped and named in the status message
- **Year from / to** (`yearFrom`, `yearTo`) - Model year range
- **Seller type** (`sellerType`) - Dealers and private sellers, dealers only, or private sellers only
- **Price from / to** (`priceFrom`, `priceTo`) - Asking price in reais
- **Mileage from / to** (`kmFrom`, `kmTo`) - Kilometers driven
- **Fetch seller data** (`sellerDataAddon`) and **Fetch market prices** (`marketPriceAddon`) - Optional add-ons, described below

The filters apply to typed vehicles only. Pasted URLs keep the filters they carry.

**Proxies included**: high-quality residential proxies are built into the Actor at no additional cost — no proxy configuration is required.

#### Seller Data Add-on

Optional feature that extracts detailed seller information including:

- Full CNPJ (Brazilian tax ID)
- Complete phone numbers
- Additional contact details

Enable this add-on for comprehensive seller data collection.

#### Fetch market prices (add-on)

Optional feature that adds Webmotors' market price data (`market_price`) for each
vehicle's version and year:

- Current FIPE reference price and reference month
- Webmotors market average, lowest, and highest asking price for that version/year
- 12-month FIPE and market price history
- The listing price compared to FIPE and to the market, in percent

You're charged only for vehicles that got market data; a vehicle whose version
Webmotors doesn't have a market page for is returned without it, at no extra cost.

### Output example

```json
{
  "id": 61932185,
  "url": "https://www.webmotors.com.br/comprar/audi/a3/20-40-tfsi-mhev-sportback-performance-black-s-tronic/4-portas/2023-2024/61932185",
  "search": "Tiggo 7",
  "title": "AUDI A3 2.0 40 TFSI MHEV SPORTBACK PERFORMANCE BLACK S-TRONIC",
  "vehicle_type": "car",
  "create_date": "2025-09-24T11:07:48+0000",
  "publish_date": "2025-09-25T04:33:07+0000",
  "make": "AUDI",
  "model": "A3",
  "version": "2.0 40 TFSI MHEV SPORTBACK PERFORMANCE BLACK S-TRONIC",
  "fabrication_year": 2023,
  "model_year": 2024,
  "km": 29562,
  "transmission": "Automática",
  "fuel_type": "Gasolina",
  "body_type": "Hatchback",
  "final_plate": "0",
  "is_armored": false,
  "price": 241900,
  "fipe_price": 247439,
  "fipe_code": "008004-6",
  "fipe_percent": 98,
  "market_price": {
    "fipe_code": "008004-6",
    "reference_month": "2026-09",
    "fipe_price": 248900,
    "market_average": 235400,
    "market_min": 219900,
    "market_max": 259990,
    "price_vs_fipe_pct": -2.8,
    "price_vs_market_pct": 2.8,
    "fipe_history": [
      {"month": "2026-08", "price": 247100},
      {"month": "2026-09", "price": 248900}
    ],
    "market_history": [
      {"month": "2026-08", "price": 233800},
      {"month": "2026-09", "price": 235400}
    ]
  },
  "color": "Cinza",
  "number_of_doors": 4,
  "optionals": [
    "Ar condicionado",
    "Teto solar",
    "Vidros elétricos",
    "Bancos em couro"
  ],
  "attributes": ["Aceita troca"],
  "photos": [
    "https://image.webmotors.com.br/_fotos/anunciousados/gigante/2025/202509/20250924/AUDI-A3-wmimagem11091476721.jpg"
  ],
  "view_360_url": "https://embed.spincar.com/spinbuilder/?vid=1d507d92977c1aafb03468cad375252d#",
  "seller": {
    "id": 3855155,
    "name": "Audi Center",
    "cnpj": "70404822000113",
    "phones": [],
    "seller_type": "PJ",
    "neighborhood": "Lapa",
    "city": "São Paulo",
    "state": "São Paulo (SP)",
    "zip_code": "05038000"
  }
}
```

`fipe_history` and `market_history` hold 13 monthly points each (the current
month plus the previous 12); only the two most recent are shown above for
brevity. `fipe_price` is the FIPE value the listing cached when it was indexed,
while `market_price.fipe_price` is the current month's FIPE from Webmotors' own
Tabela FIPE — the two can differ. For a 0 km listing, `market_price.fipe_price`
is the 0 km FIPE when Webmotors has one for that version; otherwise it falls
back to the page's headline FIPE and no FIPE-based deal score (`price_vs_fipe_pct`)
is computed.

You can download the dataset extracted by **Webmotors 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 automotive market trends and pricing
- **Price comparison platforms** - Build comprehensive vehicle price databases
- **Import/export businesses** - Track vehicle availability and market pricing
- **Mobile apps** - Power vehicle search and comparison features
- **Investment analysis** - Evaluate automotive market opportunities in Brazil
- **Insurance companies** - Access current market values for vehicle assessment
- **Fleet management** - Research vehicle options and market pricing

### Integrations and API access

Webmotors 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. Webmotors.com.br 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.

#### Can I filter by specific brands or models?

Yes. Type the make or model in *Search vehicles* (for example `Tiggo 7` or `chery`); it is matched against Webmotors' own catalog, and the filters (condition, state, city, year, seller type, price, mileage) narrow it down. Or use Webmotors.com.br's search filters in your browser and copy the filtered URL into *Webmotors URLs*; the URL keeps every filter it carries.

#### What's included in the seller add-on?

The seller add-on provides:

- Complete CNPJ (Brazilian tax identification)
- Full phone numbers (not masked)
- Additional contact information when available
- Enhanced seller profile data

#### What's included in the market prices add-on?

The market prices add-on provides, for each vehicle's version and year:

- Webmotors' average, lowest, and highest asking price
- 12-month FIPE and market price history
- The listing price compared to FIPE and to the market, in percent

You're charged only for vehicles the add-on actually returned market data for.

#### How often is the data updated?

Webmotors.com.br 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 Webmotors.com.br. Ensure your URLs match the compatible formats listed above. Typed vehicles do not need a URL. URLs outside these patterns will be automatically blocked.

#### 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/webmotors-scraper/changelog.md

# Actor input Schema

## `vehicles` (type: `array`):

Type it the way you would in Webmotors' search box: a make (`chery`), a model (`Tiggo 7`) or both (`Volkswagen Polo`). One per line, each becomes its own search. Spelling is matched against Webmotors' own catalog, so `cherry` finds CAOA CHERY. Leave empty if you only paste URLs below.

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

Search pages or single listings copied from the browser address bar, e.g. `https://www.webmotors.com.br/carros-usados/sp-campinas/volkswagen/tiguan/de.2022`. A single listing (`https://www.webmotors.com.br/comprar/...`) returns that one vehicle. A URL keeps exactly the filters it carries; the Filters section below does not apply to it.

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

Maximum number of vehicles for each vehicle and each URL above. Each result is a charged event. Default 10.

## `vehicleType` (type: `string`):

Cars or motorcycles. Applies to the vehicles typed above.

## `condition` (type: `string`):

Used, new, or both.

## `state` (type: `string`):

Brazilian state (UF). Leave empty to search the whole country.

## `city` (type: `string`):

A city inside the state above, for example `Campinas`. Leave empty for the whole state. Spelling is checked against Webmotors' own city list.

## `yearFrom` (type: `integer`):

Oldest model year to include.

## `yearTo` (type: `integer`):

Newest model year to include. Leave empty for no upper limit.

## `sellerType` (type: `string`):

Dealers (stores and franchised dealerships), private sellers, or both.

## `priceFrom` (type: `integer`):

Lowest asking price to include, in reais.

## `priceTo` (type: `integer`):

Highest asking price to include, in reais.

## `kmFrom` (type: `integer`):

Lowest mileage to include.

## `kmTo` (type: `integer`):

Highest mileage to include.

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

Seller tax ID, phone, location and everything the listing exposes about the seller. Some phone numbers cannot be fetched; you are charged only for vehicles that got seller data.

## `marketPriceAddon` (type: `boolean`):

Webmotors' FIPE and market data for the vehicle's version and year: average, lowest and highest asking price, 12-month history, and how this listing compares. Charged only for vehicles that got market data.

## Actor input object example

```json
{
  "vehicles": [
    "Tiggo 7",
    "Tiggo 8"
  ],
  "startUrls": [
    "https://www.webmotors.com.br/carros-usados/sp-campinas/volkswagen/tiguan/de.2022"
  ],
  "maxRequests": 10,
  "vehicleType": "car",
  "condition": "all",
  "sellerType": "all",
  "sellerDataAddon": false,
  "marketPriceAddon": false
}
```

# Actor output Schema

## `vehicles` (type: `string`):

Vehicle listings extracted from Webmotors (cars and motorcycles) with prices, specs, photos and optional seller data. Each dataset item is a single vehicle.

# 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 = {
    "vehicles": [
        "Tiggo 7",
        "Tiggo 8"
    ],
    "maxRequests": 10,
    "sellerDataAddon": false,
    "marketPriceAddon": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("ribtools/webmotors-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 = {
    "vehicles": [
        "Tiggo 7",
        "Tiggo 8",
    ],
    "maxRequests": 10,
    "sellerDataAddon": False,
    "marketPriceAddon": False,
}

# Run the Actor and wait for it to finish
run = client.actor("ribtools/webmotors-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 '{
  "vehicles": [
    "Tiggo 7",
    "Tiggo 8"
  ],
  "maxRequests": 10,
  "sellerDataAddon": false,
  "marketPriceAddon": false
}' |
apify call ribtools/webmotors-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ribtools/webmotors-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/4m4ORp0JBpR1c8ay0/builds/qh2VDjT8l2GLIPrfE/openapi.json
