ParseForge Scrapers

Carwow UK Car Deals Scraper

parseforge/carwow-scraper

E-commerce

Scrape Carwow UK new, used and lease car deals: 79,390 live listings with price, deal score, specs, dealer contact and model level RRP, cash and PCP pricing.

Run this scraper See the API call
Total runs
52
Bookmarked
0
Last modified
2 days ago

This scraper was last updated on .

What does the Carwow UK Car Deals Scraper return?

ParseForge

Carwow Scraper: UK Car Deals, Leasing and Used Cars

Carwow lists 79,390 live cars in the UK right now, 22,867 new and 58,169 used, plus 6,444 leasing offers, and this scraper reads all of them. Every row carries the price, Carwow's own deal score, the derivative and trim, transmission, fuel, engine size, mileage, registration year and the selling dealer's town and coordinates. No login, no API key, no browser. Exports to CSV, JSON, Excel and XML.

Carwow has no public API and its own site loads every card through a lazy turbo frame, so a normal HTML crawler comes back empty. This actor reads the frame endpoints directly, which is why it returns full rows at 4.4 rows per second on 512 MB of memory instead of driving a headless browser at 4 GB.

Who uses it What they scrape Carwow for
Car dealers Watch what rival forecourts are asking for the same derivative
Leasing brokers Track monthly rentals by contract length, mileage and initial payment
Price comparison sites Feed a UK new and used car price index
Market analysts Measure discount depth against manufacturer RRP, model by model
Fleet buyers Compare cash, PCP and lease cost for a shortlist before tendering

What it does

  • ๐Ÿš— Live stock deals. Every car in Carwow's inventory with price, deal score out of 10, deal rating, condition, derivative, transmission, fuel, engine litres, mileage, registration year, colour and its photo gallery, 41 images on average and up to 123.
  • ๐Ÿ“ Where the car is. Supplier town plus latitude and longitude on every row, so you can map stock or compute distance yourself.
  • ๐Ÿ’ท Model level pricing. RRP, cash price, PCP finance price, representative APR and finance deposit contribution for every derivative of a model, with the CAP derivative id.
  • ๐Ÿท๏ธ Leasing terms. Contract length, annual mileage allowance, initial payment in months, trim, colour and whether it is a Carwow Leasey deal.
  • ๐Ÿงพ Dealer and equipment detail. Optional block adds the selling dealer's name, trading name, town, phone number and rating, the car's full feature list and standard equipment, and the dealer's own notes.
  • โญ Model cards. Carwow's wowscore out of 10, the editorial one line description, average saving, from price and monthly price for each model.
  • ๐Ÿ” 31 verified filters. Make, model, new or used, availability, body style, fuel, transmission, doors, colour, must-have features, price range, mileage, engine size, boot space, electric range, 0-62 time, top speed band, Euro NCAP stars, seats, EV grant, lease terms and sort order.

What you can do with Carwow data

Track new car discounts over time. The model deals pages carry both the manufacturer RRP and the Carwow cash price for every derivative. Run the model-deals mode daily and you have a discount curve per trim, which is the number that actually moves in the UK new car market.

Build a UK leasing price index. Leasing rows carry the monthly rental together with the exact contract that produced it: 48 months, 5,000 miles a year, 12 months upfront. Without those four numbers a monthly price is not comparable to anything, which is why most lease datasets are useless.

Find mispriced used stock. Carwow scores every used car it lists from 0 to 10 and labels it from High price to Amazing deal. Sort by deal score, filter by make and mileage, and you have a buying list that a dealer would otherwise build by hand.

Map dealer inventory. Every row carries the supplier's town and coordinates, and the optional detail block adds the dealership name and phone. That turns a price feed into a competitor map for any postcode area.

Why choose this scraper

What you get
Coverage All 79,390 live cars, not just the 150 cards on the curated deals page
Speed 1,500 rows in 342 seconds on the platform, verified
Cost $5.04 per 1,000 cars, pay per event, with no platform usage or proxy bill on top
Filters 31 filters, each measured against Carwow's own facet counts before shipping
Honesty Filters that do not actually filter were dropped rather than shipped
Depth Four record types: stock deals, model derivative deals, model cards and makes

How it compares

Three other actors target Carwow. miladamirzadeh/carwow-scraper is free and has 2 monthly users. getdataforme/carwow-category-scraper reads category pages. Our own parseforge/carwow-new-car-deals-scraper reads the curated /new-car-deals page, which is 150 model cards. All three stop at the pages Carwow renders server side. This actor is the only one that reads the stock frame endpoints, which is where the other 79,000 cars live, and the only one that returns dealer contact details and per derivative RRP against cash and PCP price.

This actor Curated deals page scrapers
Rows available 79,390 about 150
Used stock Yes, 58,169 cars No
Leasing terms Contract length, mileage, upfront No
Dealer name and phone Optional block No
RRP against cash and PCP Yes No
Deal score Yes No

What a Carwow deal looks like

One unedited row from the verified platform run:

{
  "recordType": "stock-deal",
  "dealId": "d028013037d5cc2b1bb006ab8bc3d814",
  "url": "https://quotes.carwow.co.uk/deals/d028013037d5cc2b1bb006ab8bc3d814",
  "dealPageUrl": "https://quotes.carwow.co.uk/deals/d028013037d5cc2b1bb006ab8bc3d814",
  "dealType": "cash",
  "title": "Suzuki Swift",
  "makeName": "Suzuki",
  "make": "suzuki",
  "model": "Swift",
  "modelSlug": "Not Disclosed",
  "derivative": "1.2 SZ-L Navigation",
  "trim": "Not Disclosed",
  "engineName": "Not Disclosed",
  "condition": "Used",
  "dealScore": null,
  "dealScoreLabel": "High price",
  "price": 9650,
  "priceCurrency": "GBP",
  "priceBasis": "total",
  "priceText": "ยฃ9,650",
  "monthlyPrice": null,
  "transmission": "Manual",
  "fuel": "Petrol",
  "engineLitres": 1.2,
  "colour": "Not Disclosed",
  "registrationYear": 2016,
  "mileage": 16772,
  "contractLengthMonths": null,
  "annualMileage": null,
  "upfrontMonths": null,
  "leaseyDeal": "No",
  "supplierTown": "Nacton",
  "supplierLatitude": 52.0271888,
  "supplierLongitude": 1.2330645,
  "imageUrl": "https://carwow-uk-0.imgix.net/stock-car-custom-images/original/80bc9a6a-361d-62bc-2e59-d7ad444b3346?auto=format&cs=tinysrgb&fit=clip&ixlib=rb-1.1.0&q=60&w=450",
  "scrapedAt": "2026-09-08T14:20:14.532Z",
  "error": null
}

Fields that read Not Disclosed are the ones Carwow only publishes on leasing offers: model slug, trim, engine name and colour. dealScore is null here because Carwow only scores used stock, and this row is a used car it rates as a high price.

Configure the run

Pick a mode, then narrow it with filters. Leaving a filter empty skips it, and every filter here was measured against Carwow's own counts, so a filter that appears in the schema really does change the result set.

Cheapest electric SUVs on a four year lease:

{
  "scrapeMode": "stock-deals",
  "dealType": "leasing",
  "fuels": ["electric"],
  "bodyStyles": ["suv"],
  "contractLengths": ["48"],
  "sortBy": "offer",
  "maxItems": 500
}

Every BMW derivative with its RRP, cash price and PCP price:

{
  "scrapeMode": "model-deals",
  "makeSlug": "bmw",
  "maxItems": 1000
}

Used cars under 20,000 miles with heated seats and a dealer phone number:

{
  "scrapeMode": "stock-deals",
  "vehicleState": "used",
  "maxMileage": 20000,
  "features": ["heated-seats"],
  "includeDealDetails": true,
  "maxItems": 2000
}

One thing worth knowing: Carwow's listing endpoint stops at 100 pages of 100 rows, so a single filter combination tops out at 10,000 rows. Past that it silently repeats the last page instead of returning empty. To sweep the whole inventory, run one job per make: each make gets its own 10,000 row window and no make is anywhere near it.

Free users

Free plan accounts are capped at 10 rows per run so the actor stays previewable. Paid accounts run up to 1,000,000 rows. Create a free account with $5 of credit at console.apify.com.

Run it

  1. Create a free Apify account, which comes with $5 of platform credit.
  2. Open the actor, pick a mode and set maxItems.
  3. Add filters. Start with makeSlug and vehicleState, then narrow.
  4. Run it, then export the dataset as CSV, JSON, Excel or XML.

Use with AI agents (MCP)

claude mcp add apify --transport sse https://mcp.apify.com/sse?actors=parseforge/carwow-scraper

Then ask in plain language:

  • "Find the ten cheapest electric SUV lease deals on Carwow with a 48 month contract."
  • "List every BMW 1 Series derivative with its RRP and its PCP price."
  • "Which used Fords under 30,000 miles does Carwow rate as an amazing deal?"

Troubleshooting

No results at all. The most common cause is a modelSlug that does not exist. Carwow validates make and model exactly. Run the makes mode to get the 50 valid make slugs, then the model-cards mode for that make to get its model slugs.

Fewer rows than I asked for. Either the filter combination has fewer matches than maxItems, or you hit the 10,000 row ceiling on one filter combination. Split the job by make.

A field is empty. Model slug, trim, engine name, colour and the lease terms only exist on leasing offers. Deal score and rating only exist on used stock. Mileage and registration year only exist on used cars. These are gaps in what Carwow publishes, not parser bugs.

The run is slow. Every row is a separate request to Carwow, because Carwow itself loads each card that way. Measured at 4.4 rows per second without the detail block and 2.5 with it, so roughly 5,000 rows inside the default 1,200 second timeout. Raise the timeout for bigger jobs.

Dealer details are missing. includeDealDetails is off by default. Turn it on to get dealer name, phone, town, rating, features and standard equipment.

FAQ

Question Answer
Do I need a Carwow account? No. Everything this actor reads is public and anonymous.
Does it use a proxy? No. Carwow serves plain HTTP with no block, so the actor pays for no proxy.
How many cars can I get? 79,390 are listed. One filter combination tops out at 10,000, so sweep by make.
How fresh is the data? It reads Carwow live at run time. Every row carries scrapedAt.
Can I get new cars only? Yes, set vehicleState to new. That is 22,867 cars.
Can I get lease prices? Yes, set dealType to leasing. That is 6,444 offers with full contract terms.
Why is postcode not a filter? It was tested and dropped. London and Edinburgh return identical results, so Carwow applies distance in the browser, not on the server.
What is a wowscore? Carwow's editorial rating of the model out of 10. It appears on model card rows.
What is a deal score? Carwow's algorithmic rating of an individual used listing out of 10, from High price to Amazing deal.
Can it scrape vans? Not yet. Carwow serves vans under a separate vehicle type and this actor targets cars.

Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

Disclaimer: this is an unofficial scraper and is not affiliated with, endorsed by or connected to Carwow Ltd. It reads only data that Carwow publishes anonymously to any visitor, and collects no personal data about consumers. Dealer contact details are business contact information published on Carwow's own listings. Users are responsible for their own compliance with GDPR, CCPA and PIPL when storing or reusing the output.

What input does the Carwow UK Car Deals Scraper accept?

FieldTypeWhat it doesDefault
scrapeMode string (4 options) Stock deals reads Carwow's live inventory of 79,390 cars. Model deals reads the RRP, cash and PCP price of every derivative of a model. Model cards reads the wowscore and average saving per model. Makes lists the 50 brands Carwow sells. stock-deals
startUrls array Optional carwow.co.uk pages to scrape instead of the search. Accepts /brands/deals, /{make}/deals, /{make}/{model}/deals and the curated /new-car-deals landing pages. Leave empty to use the filters below. []
maxItems integer Free users: limited to 10 items (preview). Paid users: up to 1,000,000. 10
dealType string (2 options) Cash and finance stock (79,390 cars) or leasing offers (6,444). Carwow only splits its inventory these two ways. cash
makeSlug string (51 options) Brand to search. Carwow validates this exactly, so only its 50 published slugs work. Also used as the starting point in the model deals, model cards and makes modes. not set
modelSlug string Carwow model slug, as it appears in the URL, for example 1-series, qashqai or model-3. Needs a make to be set as well. not set
vehicleState string (3 options) New (22,867 cars) or used (58,169). Any covers both. all
availability string (3 options) In stock (76,431 cars) means ready now, factory order (3,863) means built to order. all
bodyStyles array One or more body styles. Leave empty for all. not set
fuels array One or more fuel types. Leave empty for all. not set
transmissions array One or more transmissions. Leave empty for all. not set
doorCategories array Front and rear doors, or front doors only. Leave empty for all. not set
colours array One or more paint colours. Leave empty for all. not set
features array Only cars carrying all of the selected features. Leave empty for all. not set
minPrice integer Lowest asking price for buying, or lowest monthly payment for leasing. not set
maxPrice integer Highest asking price for buying, or highest monthly payment for leasing. not set
maxMileage integer Highest odometer reading in miles. Only meaningful on used stock. not set
minEngineLitres number Smallest engine badge size, for example 1.5. Decimals are kept. not set
maxEngineLitres number Largest engine badge size, for example 2.0. Decimals are kept. not set
minBootSpace integer Smallest boot capacity in litres. not set
minElectricRange integer Smallest quoted electric range. Only applies to electric and hybrid cars. not set
maxZeroToSixty number Slowest acceptable acceleration figure, for example 7.5. not set
topSpeedBand string (5 options) Carwow only exposes top speed as these four bands. not set
minSafetyRating string (6 options) Lowest acceptable Euro NCAP safety rating. not set
minSeats string (8 options) Fewest seats the car must have. not set
maxSeats string (8 options) Most seats the car may have. not set
evGrantOnly boolean Only cars eligible for the UK Electric Car Grant. Carwow currently flags very few, so this narrows the search hard. false
sortBy string (10 options) Buying accepts recommended, price low to high, price high to low, mileage, newest and oldest. Leasing accepts best match, monthly price both ways, best deal score and lowest initial payment. A value the chosen deal type does not support is ignored by Carwow. not set
contractLengths array Leasing only. Carwow publishes 24, 36 and 48 month contracts. not set
annualMileages array Leasing only. Contract mileage allowance per year. not set
upfrontMonths array Leasing only. Initial payment expressed as a multiple of the monthly rental. not set
leaseType string (3 options) Leasing only. Personal contract hire or business contract hire. not set
maintenanceIncluded boolean Leasing only. Restrict to contracts that bundle servicing and maintenance. false
leaseyOnly boolean Leasing only. Restrict to Carwow's own Leasey offers rather than broker listings. false
includeDealDetails boolean Adds the selling dealer's name, phone number, town and rating plus the car's full feature and standard equipment list. Costs one extra request per row, so it roughly doubles the run time. false

How much does the Carwow UK Car Deals Scraper cost?

from $0.20 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.0002 to $0.002
Stock car deal One live car from Carwow stock, 38 fields: price and price basis, Carwow deal score out of 10 and its rating, make, model, derivative, trim, condition, transmission, fuel, engine litres, doors, colour, registration year, mileage, lease contract terms where they apply, supplier town with latitude and longitude, the deduplicated photo gallery and the deal URL. $0.00445 to $0.005
Search page One page of Carwow search results, up to 100 deals, fetched and parsed with your filters applied. This is what paginating costs, charged once per page instead of being buried in the price of every car. $0.00356 to $0.004
Model derivative deal One derivative from a model deals page: manufacturer RRP, Carwow cash price, PCP finance price, representative APR, finance deposit contribution, the CAP derivative id, trim and engine name. This is the row that shows discount depth against list price. $0.00445 to $0.005
Model card One model card: Carwow wowscore out of 10, the editorial one line verdict, average saving, from price, monthly price, body types and the model URL. $0.00356 to $0.004
Make One car make from the Carwow brand index, with its slug and the URL of its deals page. Use it to plan a per make sweep. $0.00178 to $0.002
Dealer and equipment detail Optional, off by default. Adds the selling dealer to a stock car row: name, trading name, town, phone number and rating, plus the car full feature list, its standard equipment and the dealer own notes. Charged only for rows where the detail page actually returned, and only when includeDealDetails is on. $0.00267 to $0.003

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the Carwow UK Car Deals Scraper API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~carwow-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "scrapeMode": "stock-deals",
    "startUrls": [],
    "maxItems": 10,
    "dealType": "cash",
    "vehicleState": "all"
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "scrapeMode": "stock-deals",
  "startUrls": [],
  "maxItems": 10,
  "dealType": "cash",
  "vehicleState": "all"
}

What do users say about the Carwow UK Car Deals Scraper?

No reviews yet. Be the first.

How do I report an issue with the Carwow UK Car Deals Scraper?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run Carwow UK Car Deals Scraper on Apify All scrapers