Webmotors Scraper - Brazil Car Listings, Prices & FIPE avatar

Webmotors Scraper - Brazil Car Listings, Prices & FIPE

Pricing

from $6.20 / 1,000 listings

Go to Apify Store
Webmotors Scraper - Brazil Car Listings, Prices & FIPE

Webmotors Scraper - Brazil Car Listings, Prices & FIPE

Webmotors scraper for Brazilian car listings. Make and model with the site's filters, or pasted links: version, both years, price and its FIPE percentage, mileage, gearbox, fuel, colour, body, features, seller type, town and photos. $6.50 per 1,000 listings.

Pricing

from $6.20 / 1,000 listings

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

7 days ago

Last modified

Share

Give it a make and model with the site's own filters, or paste Webmotors search links, and get one row per Brazilian car listing: make, model, version, both years, the asking price and where it sits against the FIPE table, mileage, gearbox, fuel, colour, body, the listing's feature list, dealer or private seller, the town, photos and a link.

One search never reaches past 10,000 listings, which is the site's own ceiling, so a wide search such as every Chevrolet has to be split by price, year or state. Street addresses, postcodes and the phone numbers sellers type into their blurbs are left out on purpose.

InputA make and model with filters, or Webmotors search links
OutputOne row per car listing: make, model, version, both years, price and FIPE position, mileage, gearbox, fuel, colour, body, features, seller type, town, photos
Ceiling10,000 listings per search, 50,000 per run
Account neededNone
Price$6.50 per 1,000 listings on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 750

🔍 What Webmotors Scraper does

Every row comes from the site's own search results. No listing page is opened, so anything that only lives on a car's own page, such as the full options list, the seller's phone or a financing quote, is not here.

fipePercent is the field to sort on. Brazil prices used cars against the FIPE table and Webmotors shows each listing's position on it: 105 means the seller asks 5% above FIPE for that exact version and year, and 92 means 8% below. Across 384 rows from 16 searches in September 2026, 362 carried it, so expect about 1 in 17 to be null.

Listings carry two years, the year built and the model year, and they often differ. Both are in the row, and the year filter works on the model year.

Ask the site for a make it does not know and it answers with every car it has, 353,000 of them. So the run checks that the answer names the make and model you asked for before keeping a row. A typo returns nothing and costs nothing.

Fuel is a filter on the site, not a field on the listing. With the fuel filter set, every row is tagged with it. Without it, the fuel is read from the version text, which names it on about 8 listings in 10, and the rest are null rather than guessed.

The street and house number, the CEP and the neighbourhood are dropped, and a private seller gets no dealer name or id. Phone numbers and email addresses in the free text become [telefone removido] or [email removido]. One typed in an unusual way can still slip through; if you spot one, report it.

📋 What data you get from each Webmotors listing

What you getField
Webmotors' listing id and the linklistingId, url
Title, make, model and versiontitle, make, model, version
Year built and model yearyearFabrication, yearModel
Asking price and its position against the FIPE tableprice, currency, fipePercent
Mileage, gearbox, and the fuel with where it came frommileageKm, transmission, fuel, fuelSource
Colour, body, doors, engine size, power and tractioncolor, bodyType, doors, engineSize, horsePower, traction
Boot, fuel tank and wheel sizetrunkCapacity, fuelTankCapacity, wheelSize
Armoured, auction history, new or usedarmored, hadAuctionHistory, condition
The badges the seller ticked, and the seller's blurbfeatures, description
Dealer or private, the site's seller label, and a dealer's name and idsellerType, sellerCategory, dealerName, dealerId
Town and statecity, state
Photos and how many there areimages, imageCount
Which search found it, where in it, and when it was readsearchUrl, page, position, scrapedAt

▶️ How to scrape Webmotors listings

  1. Open Webmotors Scraper and click Try for free.
  2. Type a Make, and a Model if you want one, or paste results pages into Search links.
  3. Pick any filters from the drop-downs, such as State, Price to (R$) or Gearbox.
  4. Set Maximum listings and an Order.
  5. Click Start, then export the dataset as CSV, JSON or Excel. Open RUN_REPORT if the count looks short.

💰 How much does it cost to scrape Webmotors?

$6.50 per 1,000 listings on the Free plan. Paid plans pay a little less: $6.40 on Starter, $6.30 on Scale and $6.20 on Business. On the free plan, the $5 Apify gives you each month covers about 750 listings.

Not charged: the sample row, a make, model or filter value the site does not know, a search that finds nothing, cars from outside your search, a car found twice in one run, and a search that could not be loaded. If you set a maximum charge for the run, it stops when the next listing is no longer covered and says so. A maximum that does not cover a single listing stops the run before it searches.

📥 What you give it

{
"make": "Fiat",
"model": "Argo",
"state": "São Paulo (SP)",
"priceTo": 90000,
"yearFrom": 2022,
"mileageTo": 60000,
"transmission": "Automática",
"sellerType": "Pessoa Física",
"sort": "price-asc",
"maxItems": 500
}
FieldDefaultWhat it is
makenone: no form search, and a free sample row unless searchUrls is setThe make as Webmotors spells it: Fiat, Volkswagen, Chevrolet, Mercedes-Benz, Caoa Chery.
modelevery model of that makeThe model as the site names it: Argo, Onix, Corolla, Compass. It needs a make.
maxItems100Listings across every search, 1 to 50,000. The form starts at 50. Each search gets an equal share, and what one does not use passes to the next.
sortrelevancerelevance, year-desc, mileage-asc, price-asc or price-desc. When there are more cars than your limit, it decides which ones you get.
searchUrlsnoneUp to 10 results pages from webmotors.com.br. The fields on this form do not apply to a pasted link, and a single car's page is skipped.
statethe whole countryAs the form lists it, such as São Paulo (SP). There is no city filter, but every row carries the town.
priceFrom, priceTono boundAsking price in reais.
yearFrom, yearTono boundModel year.
mileageFrom, mileageTono boundKilometres. A mileageTo of 0 means brand-new cars only.
fuelno filterThe site's own values, such as Gasolina e álcool for a flex car.
transmissionno filterAutomática, Manual, CVT and the site's other gearbox names, kept apart the way the site keeps them.
bodyTypeno filterUtilitário esportivo is an SUV and Perua/SW an estate.
colorno filterThe colour the seller picked. Indefinida is the site's catch-all.
armoredno filterSem blindagem or Com blindagem.
sellerTypeno filterLoja for an independent dealer, Concessionária for a franchised one, Pessoa Física for a private seller.
featuresno filterEquipment, from the site's own list.
attributesno filterListing badges such as Aceita troca (takes a trade-in), IPVA pago or Alienado (still under finance).

📤 What you get back

A real row, a private seller whose blurb had a phone number in it:

{
"listingId": "79971170",
"title": "FIAT ARGO 1.8 E.TORQ FLEX HGT AT6",
"make": "FIAT",
"model": "ARGO",
"version": "1.8 E.TORQ FLEX HGT AT6",
"yearFabrication": 2020,
"yearModel": 2021,
"price": 77968,
"currency": "BRL",
"fipePercent": 100,
"mileageKm": 36000,
"transmission": "Automática",
"fuel": "Gasolina e álcool",
"fuelSource": "version",
"color": "Preto",
"bodyType": "Hatchback",
"doors": 4,
"engineSize": "1.8",
"horsePower": "139 cv",
"traction": "Dianteira",
"trunkCapacity": "300 l",
"fuelTankCapacity": "48 l",
"wheelSize": "16",
"armored": false,
"hadAuctionHistory": false,
"condition": "used",
"features": ["Único dono", "IPVA pago", "Licenciado"],
"description": "Vidro com Insulfime AntiVandalismo / Segredo nos Pneus / Banco de Couro Chamar no Whatsapp [telefone removido]",
"sellerType": "private",
"sellerCategory": "Pessoa Física",
"dealerName": null,
"dealerId": null,
"city": "São Paulo",
"state": "São Paulo (SP)",
"url": "https://www.webmotors.com.br/comprar/fiat/argo/18-etorq-flex-hgt-at6/4-portas/2020-2021/79971170",
"images": ["https://image.webmotors.com.br/_fotos/anunciousados/gigante/2026/202609/20260921/fiatargo18etorqflexhgtat6-WMIMAGEM20300903419.jpg"],
"imageCount": 7,
"searchUrl": "https://www.webmotors.com.br/carros/estoque/fiat/argo?tipoveiculo=carros&marca1=fiat&modelo1=argo",
"page": 1,
"position": 3,
"scrapedAt": "2026-09-29T13:28:10.357Z"
}
FieldHow to read it
fipePercentThe asking price as a percentage of the FIPE price for that version and year. null on about 1 listing in 17.
yearFabrication, yearModelThe year built and the model year.
conditionused or new. The site has no working new-or-used filter, so filter on this after the run.
fuel, fuelSourceThe fuel, and whether it came from your filter or from the version text.
sellerType, sellerCategory, dealerName, dealerIdDealer or private, the site's own seller label, and for a dealer only, its trading name and id.
featuresThe badges the seller ticked, such as IPVA pago.
descriptionThe seller's blurb, with phone numbers and email addresses replaced.
hadAuctionHistory, armoredWhether the car has been through an auction, and whether it is armoured.

Some spec fields are blank because the seller left them blank: across those 384 rows, engine size was on 308 and power on 362, while make, model, version, price, mileage, gearbox, colour, body, town and state were on all of them.

🧾 Reading the output

RowHow to spot itCharged
A listinga listingId, and no _sample or charged fieldyes
The sample row_sample: true, charged: false. Only when the run had no make and no usable linkno
A refused link_diagnostic: true, charged: false, errorCode: "UNKNOWN_FILTER_VALUE", with the parameter, the value and the knownValuesno
errorCodeWhat happened
UNKNOWN_FILTER_VALUEA pasted link carried a value the site would ignore: one missing from the site's own list for that filter, a price, year or mileage that is not a plain number, or a single-choice filter given twice. That link was not searched.

The refused-link row is the only diagnostic one. What happened to each search goes in the RUN_REPORT record in the run's key-value store: the site's answer, how many listings it holds, pages read and failed, repeats and off-search rows left out, and why the run stopped.

A search status of ok, no-results or not-found means the site answered; not-found is a make or model it does not know. Anything else means that search did not load, and nothing was charged for it. stoppedBecause: "site-ceiling" means it hit the 10,000 limit.

A run in which no search got any answer ends as Failed, so a schedule notices. A search that found nothing still counts as an answer.

💡 What people use it for

  • Finding cars priced under the market: filter on fipePercent below 100, which already allows for the version and year.
  • A dealer pricing a trade-in against the live listings of the same version, year and state.
  • Watching one model's asking prices week by week with a scheduled run.
  • Counting how much of a model is sold by dealers against private sellers, by state.

🚧 What it does not do

  • More than 10,000 listings from one search. Split it by price band, year or state.
  • A new-or-used filter or a city filter. The site's own versions of both change nothing. Filter on condition and city after the run.
  • Listing pages. No full options list, no seller phone, no financing quote.
  • Hand-edited links the site would misread. Those get a free UNKNOWN_FILTER_VALUE row instead of a search. For several colours, join them in one filter with |, like cor=Branco|Preto. Parameters with no list here, such as the plate ending, go through unchecked.
  • Motorbikes, trucks or anything but cars.
  • Contact details of any kind.
  • It is not an official Webmotors tool. Dami's Studio is independent and is not affiliated with or endorsed by Webmotors, or by any other company named on this page.

🧭 Which car listings scraper do you need?

If you wantUse
Used and new cars across eight European countriesAutoScout24 Scraper
Cars for sale in Brazil, with each price's position against the FIPE tableThis one
Cars, property and second-hand goods in IsraelYad2 Scraper
Classified ads on OLX Brazil, from any search or category pageOLX Brazil Scraper
A US vehicle's factory specification and open recalls, from its VINVIN Decoder & Recalls API

❓ Questions people ask

Does it need a Webmotors account or an API key?

No. There is nothing to sign in to.

Can I get the seller's phone number?

No, by design.

Why is my search capped at 10,000?

That is how deep the site lets any one search go. Split the search by state, price band or model year and run the parts.

Can it do motorbikes?

Not at the moment. Webmotors lists them, but this searches cars only.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab has ready-made code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/webmotors-scraper. Either way the run happens on your Apify account at the same price.

These are public listings, and the run leaves out addresses, postcodes and the phone numbers sellers type in. Rows still carry dealer names and sellers' blurbs, which Brazil's LGPD can cover, so have a reason for collecting them. Apify's write-up on the legality of web scraping is a fair start, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Include the run ID, the search you ran, and the RUN_REPORT record if you can.