Automotive
CarGurus Scraper
cargurus.com
CarGurus ranks used-car listings with its own deal ratings and gates them behind bot detection. ScrapeUnblocker renders the listing pages in a real browser and returns the make, model, price and deal rating for each car, holding 93.4% across a spread of model searches.
What you can extract
- Make, model, trim and year
- Price and deal rating
- Mileage and days on market
- Dealer name, rating and location
- Vehicle history and listing URL
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/getPageSource?url=https%3A%2F%2Fwww.cargurus.com%2FCars%2Fl-Used-BMW-3-Series-d309&parsed_data=true"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/getPageSource",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"url": "https://www.cargurus.com/Cars/l-Used-BMW-3-Series-d309", "parsed_data": True},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const results = await su.getPageSource({
url: 'https://www.cargurus.com/Cars/l-Used-BMW-3-Series-d309',
parsedData: true,
});
console.log(results); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Frequently asked questions
Is it legal to scrape CarGurus?
Collecting publicly available CarGurus data such as car prices, deal ratings and dealer names is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. Some of it can be personal data, so follow the privacy rules that apply to you. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.
How do I scrape CarGurus without getting blocked?
CarGurus uses bot detection and rate limiting. ScrapeUnblocker renders the page in a real browser, rotates residential and ISP exits and handles challenges, so you get the page a visitor sees rather than a block page. In ScrapeUnblocker's benchmark it returned real content on 93.4% of 1,000 calls, about 14.1s per call.
What CarGurus data can I get?
CarGurus listing pages give you each car's make, model, trim and year, the price and CarGurus deal rating, mileage and days on market, the dealer name, rating and location, vehicle history and the listing URL. Take the rendered HTML, or pass parsed_data=true for structured JSON.
Do I need a CarGurus API or account?
No. ScrapeUnblocker returns the public CarGurus page as HTML, or structured JSON with parsed_data=true, so you do not need a CarGurus API account. Send a CarGurus listing or search URL to /getPageSource with your ScrapeUnblocker key. Use steps for clicks, typing or scrolling when a page needs them.
Can I monitor CarGurus at scale?
Yes. Calls run in parallel up to your plan's concurrency limit: 20 to 100 concurrent requests on Pay as you go, Starter and Pro, and 200 to 400 on Business, Scale and Ultimate. Send many model searches at once to follow prices, deal ratings and days on market over time.
How much does it cost to scrape CarGurus?
Each CarGurus request costs 1 credit, from EUR 1.00 per 1,000 on pay as you go to about EUR 0.55 per 1,000 on the Ultimate plan. Delivered pages are billed, including a site's own 404 or 410 page. A 403 block, a timeout, a 523 origin unreachable, a 429 and errors on ScrapeUnblocker's side are not billed. The free trial includes 500 requests, no card.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.