BOVAG Vehicle Listings Scraper avatar

BOVAG Vehicle Listings Scraper

Pricing

Pay per event

Go to Apify Store
BOVAG Vehicle Listings Scraper

BOVAG Vehicle Listings Scraper

Scrape public viaBOVAG car listings with prices, specs, mileage, images, warranty labels, and dealer contact details.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Scrape public vehicle listings from viaBOVAG.nl and export structured Dutch marketplace data for analysis, monitoring, pricing, and lead workflows.

The actor reads viaBOVAG search or category URLs, paginates the public listing results, extracts the server-rendered Next.js listing data, and saves one dataset row per vehicle.

What does BOVAG Vehicle Listings Scraper do?

BOVAG Vehicle Listings Scraper collects public vehicle listings from viaBOVAG search pages.

It can extract:

  • ๐Ÿš— Listing title and URL
  • ๐Ÿ’ถ Price and VAT flag
  • ๐Ÿท๏ธ Make, model, body type, fuel, transmission, color, and year
  • ๐Ÿงญ Mileage and mileage unit
  • ๐Ÿข Dealer name, city, phone, and website
  • ๐Ÿ–ผ๏ธ Listing image URL
  • โœ… BOVAG, warranty, return warranty, service, and certainty labels
  • ๐Ÿ”— External dealer advertisement URL when available
  • ๐Ÿ•’ Scrape timestamp and source page context

Who is it for?

This actor is useful for teams that need recurring visibility into the Dutch vehicle market.

  • ๐Ÿš˜ Auto dealers monitor comparable inventory and pricing.
  • ๐Ÿ“Š Pricing analysts benchmark mileage, age, and asking prices.
  • ๐Ÿช Marketplace operators compare supply across categories and regions.
  • ๐Ÿงพ Lead generation teams collect dealer contact details from public listings.
  • ๐Ÿ” Researchers analyze vehicle mix, fuel types, warranties, and market availability.
  • ๐Ÿงฐ Data teams feed normalized vehicle listings into BI tools or databases.

Why use this viaBOVAG scraper?

viaBOVAG is a major Dutch vehicle marketplace. This MVP focuses on public car search/listing pages under /auto, where the listing data is server-rendered and reliable.

Manual browsing works for one-off shopping, but it is slow when you need hundreds or thousands of structured rows.

This actor helps you:

  • Save time on repetitive marketplace checks
  • Export data in JSON, CSV, Excel, XML, RSS, or HTML through Apify datasets
  • Run scheduled monitoring jobs
  • Build alerts for price and inventory changes
  • Compare dealers and regions
  • Connect results to external tools via the Apify API

How it works

The actor uses an HTTP-first approach.

  1. You provide one or more viaBOVAG search URLs.
  2. The actor downloads the public HTML.
  3. It reads listing data from the __NEXT_DATA__ JSON embedded in the page.
  4. It paginates by adding or updating the p query parameter.
  5. It saves clean vehicle listing rows to the default dataset.

No browser automation is used for the MVP, which keeps runs fast and cost-efficient.

Supported start URLs

Use public viaBOVAG URLs copied from the website.

Examples:

https://www.viabovag.nl/auto
https://www.viabovag.nl/auto?brandstof=benzine

Filtered car URLs are supported as long as they return public listing results on viaBOVAG.

Data you can extract

FieldDescription
listingUrlPublic viaBOVAG listing URL
titleListing title as shown by viaBOVAG
priceAsking price in EUR
makeVehicle brand
modelVehicle model
yearRegistration/build year when available
mileageMileage value
fuelTypesFuel labels such as benzine, diesel, hybrid, electric
transmissionTransmission type
bodyTypeBody style
dealerNameDealer or seller company name
dealerCityDealer city
imageUrlsListing image URLs
warrantyLabelsWarranty and BOVAG trust labels

How much does it cost to scrape viaBOVAG vehicle listings?

This actor uses pay-per-event pricing with a small run start fee and a per-listing event.

Formula-derived BRONZE pricing from cloud validation is $0.000035757 per listing (about $0.035757 per 1,000 listings) plus a $0.005 run start fee. Higher subscription tiers receive automatic per-listing discounts.

Apify shows the exact maximum charge before you start a run.

Input

The actor input has two main fields.

{
"startUrls": [
{ "url": "https://www.viabovag.nl/auto" }
],
"maxItems": 50
}

startUrls

A list of viaBOVAG search or category URLs.

Use the website to apply filters, then copy the resulting URL into the actor input.

maxItems

Maximum number of vehicle listings to save across all start URLs.

Set a low number for quick checks and a higher number for market analysis.

Output

Each dataset item is one vehicle listing.

{
"listingUrl": "https://www.viabovag.nl/auto/aanbod/example",
"title": "BMW 1 Serie 118i Executive Edition",
"price": 24450,
"priceCurrency": "EUR",
"make": "BMW",
"model": "1-Serie",
"year": 2020,
"mileage": 84437,
"fuelTypes": ["benzine"],
"transmission": "Automatisch",
"bodyType": "hatchback",
"dealerName": "Example Dealer",
"dealerCity": "ROTTERDAM",
"imageUrls": ["https://.../media.0001.jpg"],
"scrapedAt": "2026-06-09T10:00:00.000Z"
}

Tips for best results

  • Start with maxItems: 50 to confirm that your filters return the expected listings.
  • Use specific filtered /auto URLs for focused market segments.
  • Run separate actor runs for very different categories if you want easier dataset comparison.
  • Schedule daily or weekly runs for price and inventory monitoring.
  • Deduplicate by listingUrl in your downstream database.

Example use cases

Dealer price monitoring

Track competing listings for a brand, model, fuel type, and mileage range.

Inventory intelligence

Measure how many public listings exist for specific segments of the Dutch vehicle market.

Lead enrichment

Collect dealer names, cities, websites, and public phone numbers attached to listings.

Warranty analysis

Compare availability of BOVAG, return warranty, service, and certainty labels by vehicle category.

Integrations

You can connect this scraper to:

  • Google Sheets through Apify integrations
  • Make or Zapier for alerts
  • BigQuery, Snowflake, or PostgreSQL through dataset exports
  • BI dashboards for price trend reports
  • CRM tools for dealer research workflows
  • Webhooks that fire when a scheduled run finishes

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/bovag-vehicle-listings-scraper').call({
startUrls: [{ url: 'https://www.viabovag.nl/auto' }],
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 3));

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/bovag-vehicle-listings-scraper').call(run_input={
'startUrls': [{'url': 'https://www.viabovag.nl/auto'}],
'maxItems': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items[:3])

cURL

curl "https://api.apify.com/v2/acts/automation-lab~bovag-vehicle-listings-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"startUrls":[{"url":"https://www.viabovag.nl/auto"}],"maxItems":50}'

MCP usage

Use this actor from MCP-compatible tools through Apify MCP.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/bovag-vehicle-listings-scraper

Claude Code setup:

$claude mcp add apify-bovag "https://mcp.apify.com/?tools=automation-lab/bovag-vehicle-listings-scraper"

Generic MCP JSON configuration:

{
"mcpServers": {
"apify-bovag": {
"url": "https://mcp.apify.com/?tools=automation-lab/bovag-vehicle-listings-scraper"
}
}
}

Example prompts:

  • "Scrape 50 viaBOVAG car listings and summarize the top makes by count."
  • "Get public viaBOVAG listings from this filtered URL and list the cheapest cars."
  • "Monitor this viaBOVAG search weekly and tell me when new BMW listings appear."

Scheduling

Apify lets you schedule this actor without writing infrastructure.

Common schedules:

  • Daily inventory snapshots
  • Weekly price benchmarking
  • Monthly market reports
  • Hourly checks for narrow filtered URLs

Data quality notes

The actor extracts the public data embedded by viaBOVAG in the listing search page.

Some fields may be missing when viaBOVAG does not provide them for a specific listing.

For example, not every listing has the same warranty labels, dealer website, image metadata, or external advertisement URL.

Limits and performance

The actor is designed for public listing pages and polite pagination.

If a URL returns no public results on the website, the actor will also return no dataset rows.

Very large runs should use realistic limits and scheduled batches.

Troubleshooting

Why did my run return fewer listings than maxItems?

The filtered viaBOVAG search may have fewer public listings than your limit, or pagination may stop when the source returns an empty page.

Why are some fields null?

viaBOVAG does not expose every attribute on every listing. Null means the field was not available in the public search result data.

Can I scrape detail pages too?

The MVP focuses on search/listing pages for speed and reliability. Detail-page enrichment can be added later if it is needed and remains publicly accessible.

Legality

This actor extracts publicly available listing data. You are responsible for using the data in compliance with applicable laws, viaBOVAG terms, and privacy rules.

Do not use scraped data for spam, harassment, or unlawful profiling.

Other automation-lab actors you may find useful:

FAQ

Does this actor require a viaBOVAG account?

No. It is built for public search/category listing pages.

Does it use a browser?

No. It reads server-rendered data from HTML, which is faster and cheaper than browser automation.

Can I use filtered URLs?

Yes. Apply filters on viaBOVAG, copy the URL, and use it as a start URL.

What is the best unique key?

Use listingUrl or listingId for deduplication.

Can I run it on a schedule?

Yes. Use Apify schedules to run recurring monitoring jobs.

What export formats are supported?

Apify datasets support JSON, CSV, Excel, XML, HTML, and RSS exports.