Webmotors Scraper - Brazil Cars, Cheapest Flat Price
Pricing
$3.00 / 1,000 car scrapeds
Webmotors Scraper - Brazil Cars, Cheapest Flat Price
Extract Webmotors.com.br car listings in clean JSON: make, model, version, price, photo and listing URL. Flat $0.003 per car, no tiered plan markup, up to 70% cheaper than other Webmotors scrapers on the Apify Store. No login or CAPTCHA needed.
Pricing
$3.00 / 1,000 car scrapeds
Rating
0.0
(0)
Developer
Gio
Maintained by CommunityActor stats
0
Bookmarked
24
Total users
2
Monthly active users
15 hours
Issues response
11 days ago
Last modified
Categories
Share
Why use this scraper
Webmotors.com.br is Brazil's largest used and new car marketplace, with hundreds of thousands of active listings across every brand, model and city in the country. Pulling that inventory by hand, or scraping it yourself, means fighting a JavaScript-heavy search page, anti-bot defenses, and listing pages that change structure every few months. This actor does the extraction for you: point it at any Webmotors brand, model or search listing page and get back clean, structured JSON of every car on that page, ready to load into a spreadsheet, a pricing model or a lead pipeline, at a flat price that does not punish you for being on a free or lower-tier Apify plan.
Overview
Input is one or more Webmotors listing URLs (brand pages, model pages or filtered search results). Output is one JSON record per car: title, make, model, version/trim, price in BRL, availability, a stable listing ID, the main photo URL, the direct listing URL and the source page it came from. A typical run against a single brand page in a single city returns dozens of cars in under a minute; multiple start URLs (different brands, cities or pages) can be queued in the same run to cover more ground. Billing is per car returned, at $0.003 each, with no per-run platform fee layered on top beyond Apify's own compute minimum.
Supported inputs
- Brand listing pages - e.g.
https://www.webmotors.com.br/carros/sp-sao-paulo/honda, returns every Honda listing shown on that page. - Model or filtered search pages - any Webmotors URL under
/carros/or/comprar/that renders a vehicle search results grid (brand plus model, price range, year range, city, etc., as built by Webmotors' own search filters). - Multiple URLs per run -
startUrlsaccepts an array, so you can combine several cities, brands or filter combinations in a single run instead of starting a new one for each. - The actor reads whatever Webmotors renders on that exact URL; it does not click through Webmotors' own pagination links, so for large result sets pass the URLs for each page you want (Webmotors exposes a
?page=Nstyle parameter on most listing URLs).
Use cases
- Dealership market research - pull every competitor listing for a given make and city to benchmark asking prices before pricing your own stock.
- Price monitoring for marketplaces or classifieds aggregators - track how Webmotors prices for a specific model move week over week.
- Lead generation for car buyers' agents - build a feed of new listings matching a client's brand, budget and trim preferences without manually refreshing search pages.
- Academic or journalistic research on the Brazilian used car market - collect a representative sample of asking prices by brand, model or region for analysis.
- Fintech and insurance pricing models - feed real asking prices into a vehicle valuation or insurance quoting model that needs a live market reference, not a stale catalog.
How it works
Webmotors renders its listing pages with the vehicle catalog embedded as OfferCatalog structured data (JSON-LD) directly in the page HTML, the same schema.org markup Google uses to understand product listings for search. Instead of trying to read prices and titles off the visual layout, which Webmotors restyles periodically, this actor parses that embedded JSON-LD block directly. Each Vehicle entry in the catalog carries its own price, image and canonical listing URL; the actor also derives make, model and version/trim from the listing URL's own path segments, which Webmotors keeps in a consistent, URL-safe format. Reading the structured data instead of the rendered DOM makes the actor noticeably more resistant to Webmotors' routine front-end redesigns.
Input configuration
Single brand, single city:
{"startUrls": ["https://www.webmotors.com.br/carros/sp-sao-paulo/honda"],"maxResults": 100}
Multiple brands and cities in one run:
{"startUrls": ["https://www.webmotors.com.br/carros/rj/honda","https://www.webmotors.com.br/carros/mg-belo-horizonte/toyota","https://www.webmotors.com.br/carros/pr-curitiba/volkswagen"],"maxResults": 300}
Specific model with a higher retry count for a flaky connection window:
{"startUrls": ["https://www.webmotors.com.br/carros/sp-sao-paulo/honda/hr-v"],"maxResults": 50,"maxRetries": 6}
Output sample
Real items from a production run against webmotors.com.br/carros/rj/honda:
[{"position": 1,"title": "HONDA HR-V 1.5 DI I-VTEC FLEX EXL CVT","make": "Honda","model": "Hr V","version": "15 di i vtec flex exl cvt","price": 141000,"currency": "BRL","availability": "https://schema.org/InStock","listingId": "77733151","imageUrl": "https://image.webmotors.com.br/_fotos/anunciousados/gigante/2026/202608/20260815/hondahrv15diivtecflexexlcvt-WMIMAGEM09015220771.jpg","url": "https://www.webmotors.com.br/comprar/honda/hr-v/15-di-i-vtec-flex-exl-cvt/4-portas/2024-2025/77733151","sourceUrl": "https://www.webmotors.com.br/carros/rj/honda"},{"position": 2,"title": "HONDA FIT 1.5 LX 16V FLEX 4P AUTOMATICO","make": "Honda","model": "Fit","version": "15 lx 16v flex 4p automatico","price": 76000,"currency": "BRL","availability": "https://schema.org/InStock","listingId": "78638024","imageUrl": "https://image.webmotors.com.br/_fotos/anunciousados/gigante/2026/202608/20260831/hondafit15lx16vflex4pautomatico-WMIMAGEM15064015642.jpg","url": "https://www.webmotors.com.br/comprar/honda/fit/15-lx-16v-flex-4p-automatico/4-portas/2019/78638024","sourceUrl": "https://www.webmotors.com.br/carros/rj/honda"}]
Key output fields
| Field | Type | Description |
|---|---|---|
title | string | Full listing title as shown on Webmotors |
make | string | Vehicle brand, derived from the listing URL |
model | string | Vehicle model, derived from the listing URL |
version | string | Trim/version string (engine, finish level, transmission) |
price | number | Asking price |
currency | string | Always BRL |
availability | string | Schema.org availability status reported by Webmotors |
listingId | string | Webmotors' own numeric ID for the listing, stable across re-scrapes |
imageUrl | string | Main listing photo |
url | string | Direct link to the listing on Webmotors |
sourceUrl | string | The start URL this record was found on |
Pricing
Pay-per-result, one event per car returned:
| Event | Price |
|---|---|
| Car scraped | $0.003 |
That price is flat: it does not change whether you are on Apify's Free plan or a paid tier. By contrast, the two largest other Webmotors scrapers on the Store charge per-vehicle prices that start at roughly $0.01 on the Free tier (see comparison below). For a 1,000-car run this actor costs $3; a tiered-pricing competitor charging $0.01/vehicle on Free costs $10 for the same run.
What makes this richer than the competition
Two other publishers run Webmotors scrapers on the Apify Store today:
ribtools/webmotors-scraper(24 users in the last 30 days) charges a tiered per-vehicle price starting around $0.00999 on the Free plan (dropping only to $0.00699 on paid tiers), plus a separate "Add-on Seller Data" charge for seller info and a further add-on for FIPE market price data. This actor's flat $0.003 per car is roughly 70% cheaper than that scraper's own Free-tier rate, with no plan-dependent markup and no add-on fees to track.stealth_mode/webmotors-auto-search-scraper(4 users) targets the same search-results use case with a similar tiered pricing model, aimed at dealerships and market-analysis teams.
Where this actor is more limited: it does not offer a seller-data add-on or a FIPE historical price add-on like ribtools/webmotors-scraper. If you need seller contact details or Webmotors' own FIPE valuation history on top of the asking price, that competitor's add-ons cover that; this actor is built for teams that just need clean listing and price data at the lowest possible per-record cost.
Notes & limitations
- The actor reads whatever Webmotors renders at the exact URL you provide. It does not paginate through "load more" or next-page links on its own; queue each page's URL in
startUrlsif you need more results than a single page returns. - Output does not include vehicle year, mileage, seller name or listing location as separate fields. Year and city information can usually be read off the
titlestring and the brand/city segment ofsourceUrl, but they are not broken out into their own fields in this version. versionis the raw trim string from the URL (lowercase, hyphens replaced with spaces); it is not normalized against a fixed trim list.- Webmotors occasionally serves a listing page with no
OfferCatalogblock (empty search results, or a page under maintenance). In that case the actor returns an{error: "no_listings"}record for that URL instead of silently skipping it, so you can tell an empty result from a failed fetch. - Free Apify accounts receive a single mock sample record instead of live data; running this actor against real Webmotors pages requires a paid Apify account in good standing.
FAQ
Does this work for new cars as well as used?
Yes, as long as the Webmotors URL you provide renders a listing grid with the OfferCatalog structured data; both new and used inventory sections use the same markup.
Can I filter by price range or year directly in the actor? There is no in-actor filter. Build the filtered URL on Webmotors itself (using its own search filters) and pass that URL to the actor; the actor returns exactly what that URL shows.
Why is model sometimes written oddly, like "Hr V" instead of "HR-V"?
model is derived automatically from the listing URL's path segment and capitalized word by word; Webmotors' own URL slugs don't always match its marketing capitalization.
What happens if a listing is sold between my scrape and when I view it?
availability reflects Webmotors' status at scrape time. Listings can be sold or removed quickly on a fast-moving marketplace; re-run the actor to refresh availability.
Does the price change based on my Apify plan? No. This actor charges a flat $0.003 per car regardless of your Apify plan tier, unlike the other Webmotors scrapers on the Store, whose per-vehicle price depends on your plan.
Can I run this against multiple cities or brands at once?
Yes, list every URL you want covered in startUrls; each one is fetched and billed independently within the same run.
For AI Agents & LLM Apps
This actor is available over the Apify MCP server (mcp.apify.com) for direct use from Claude, Cursor or any MCP-compatible agent, and over the plain REST API for scripted pipelines.
Synchronous call that returns dataset items directly, no polling required:
curl "https://api.apify.com/v2/acts/gio21~webmotors-scraper-v2/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"startUrls": ["https://www.webmotors.com.br/carros/sp-sao-paulo/honda"], "maxResults": 100}'
Keep maxResults close to what you actually need per call; a single brand/city page usually returns well under 100 listings, so there is rarely a reason to request thousands of results from one start URL.
Disclaimer
This actor is an independent tool that extracts publicly available listing data from Webmotors.com.br. It is not affiliated with, endorsed by or sponsored by Webmotors or its parent companies. "Webmotors" is a registered trademark of its respective owner. Use it in line with Webmotors' own terms and any applicable data protection law in your jurisdiction.
SEO Keywords
Webmotors scraper, Webmotors API, Brazil car listings scraper, Webmotors price scraper, used car data Brazil, Webmotors JSON data, carros Webmotors scraper.