Cars.com API: Get dealer reviews
Finds a dealership on Cars.com by name and city/state or ZIP and returns its latest customer reviews with its rating, address and phone.
Unofficial. Not affiliated with or endorsed by Cars.com.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Dealer, required
dealer Dealership name, for example Toyota of Naperville.
Select Auto Imports
- Location, required
location City and state or ZIP code, for example Naperville, IL or 60540.
Alexandria, VA
- Max Results optional
max_results Most recent reviews to return, for example 20; maximum 100.
43
Whole number from 1 to 100. Default
20.
Input as JSON
{ "dealer": "Select Auto Imports", "location": "Alexandria, VA", "max_results": 43}Output
{ "phone": "(703) 971-9100", "address": "5630 South Van Dorn St., Alexandria, VA 22310", "reviews": [ { "date": "2026-09-20", "text": "Nazer is exceptional. He exceed expectations. He paid close attention my demands and my husband and drove out the dealership with the car we wanted .", "stars": 5, "title": "Nazer is exceptional.", "page_link": "https://www.cars.com/dealers/2617/select-auto-imports/reviews/?page=1&page_size=40&sort_by=MostRecent" , "reviewer_name": "micheleepee01", "reason_for_visit": "Shopped for a used car" }, { "date": "2026-08-26", "text": "Selection of vehicles at Select Auto plus customer service of Naser made this the most enjoyable and quickest car experience ever. Love my ride.", "stars": 5, "title": "Selection of vehicles at Select Auto plus customer", "page_link": "https://www.cars.com/dealers/2617/select-auto-imports/reviews/?page=1&page_size=40&sort_by=MostRecent" , "reviewer_name": "Libra", "reason_for_visit": "Shopped for a used car" }, { "date": "2026-07-13", "text": "Naser & Bryan made the entire experience seamless & they are both consummate professionals & we could not be more pleased with our new Escalade!", "stars": 5, "title": "Naser & Bryan made the entire experience seamless & they", "page_link": "https://www.cars.com/dealers/2617/select-auto-imports/reviews/?page=1&page_size=40&sort_by=MostRecent" , "reviewer_name": "Keithkullman1", "reason_for_visit": "Shopped for a used car" } ], "dealer_name": "Select Auto Imports", "review_count": 1333, "overall_rating": 5, "dealer_page_link": "https://www.cars.com/dealers/2617/select-auto-imports/" , "facilities_rating": null, "recommend_percent": null, "buying_process_rating": null, "customer_service_rating": null, "quality_of_repair_rating": null}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"cars.com/get_dealer_reviews","input":{"dealer":"Select Auto Imports","location":"Alexandria, VA","max_results":43}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "cars.com/get_dealer_reviews" , "input": { "dealer": "Select Auto Imports", "location": "Alexandria, VA", "max_results": 43 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "cars.com/get_dealer_reviews" , "input": { "dealer": "Select Auto Imports", "location": "Alexandria, VA", "max_results": 43 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run cars.com/get_dealer_reviews# with {"dealer":"Select Auto Imports","location":"Alexandria, VA","max_results":43}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "dealer", "location" ], "properties": { "dealer": { "type": "string", "description": "Dealership name, for example Toyota of Naperville." }, "location": { "type": "string", "description": "City and state or ZIP code, for example Naperville, IL or 60540." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Most recent reviews to return, for example 20; maximum 100." } }}Output schema
{ "type": "object", "required": [ "dealer_name", "address", "phone", "overall_rating", "review_count", "customer_service_rating", "buying_process_rating", "quality_of_repair_rating", "facilities_rating", "recommend_percent", "dealer_page_link", "reviews" ], "properties": { "phone": { "type": [ "string", "null" ] }, "address": { "type": [ "string", "null" ] }, "reviews": { "type": "array", "items": { "type": "object", "required": [ "reviewer_name", "stars", "title", "text", "date", "reason_for_visit", "page_link" ], "properties": { "date": { "type": [ "string", "null" ], "format": "date" }, "text": { "type": [ "string", "null" ] }, "stars": { "type": [ "number", "null" ] }, "title": { "type": [ "string", "null" ] }, "page_link": { "type": "string" }, "reviewer_name": { "type": [ "string", "null" ] }, "reason_for_visit": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "dealer_name": { "type": "string" }, "review_count": { "type": [ "integer", "null" ] }, "overall_rating": { "type": [ "number", "null" ] }, "dealer_page_link": { "type": "string" }, "facilities_rating": { "type": [ "number", "null" ] }, "recommend_percent": { "type": [ "number", "null" ] }, "buying_process_rating": { "type": [ "number", "null" ] }, "customer_service_rating": { "type": [ "number", "null" ] }, "quality_of_repair_rating": { "type": [ "number", "null" ] } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
cars.com/get_dealer_reviews- Returns
- dealer name, address, phone, overall rating, review count, reviews (reviewer, stars, title, text, date, reason for visit)
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method cars.com/get_dealer_reviews with the inputs above.
Ask your agent
- What are customers saying about Toyota of Naperville in Naperville, IL? Show me the latest reviews and their overall rating.
- Pull the 50 most recent Cars.com reviews for Bill Jacobs Mazda near 60540, including star ratings and why people visited.
- I'm thinking of buying from Rick Case Honda in Davie, FL — can you get me its phone number, address, and what recent buyers wrote about it?
- Look up the reviews for Hendrick Chevrolet in Charlotte, NC on cars.com and give me the 10 newest ones with reviewer names and dates.
- How well rated is AutoNation Ford in 85260? I want the review count, overall stars, and the last 30 customer reviews.
See more
All Cars.com methodsSearches Cars.com car listings for a make and model around a US ZIP code within a radius, optionally by condition (new, used or certified pre-owned) and maximum price, in Cars.com search order.
cars.com/search_carsFinds a place on Google Maps by name and location and returns its public reviews in the chosen order.
google.com/get_place_reviewsSearches Autotrader car listings near a US ZIP code by make and model, with condition, price, year and distance filters. Returns up to 100 listings in site order.
autotrader.com/search_carsSearches new and used cars for sale near a US ZIP code for a make and model, with prices, dealer details and CarGurus deal ratings. Used cars come first, then new cars, each in CarGurus order; market difference is positive below market and negative above.
cargurus.com/search_carsGets Kelley Blue Book's expert and consumer ratings, trim prices with the KBB Fair Purchase Price, fuel economy, pros, cons and the expert review's opening verdict for a car model by year, make and model. Some details are unavailable for certain model years.
kbb.com/get_car_reviewGets the latest traveler reviews for a hotel, restaurant or attraction in a city (by name or Tripadvisor listing link), with the place's overall rating and review count. Dates of visit show the month and year when provided.
tripadvisor.com/get_reviewsSearches CARFAX used-car listings for a make and model near a US ZIP code, in CARFAX order, with listing details and free vehicle-history highlights. Paid full history reports are not included.
carfax.com/search_carsFinds a hotel on Google Hotels by name and city and returns its guest reviews in the chosen order, its Google rating and review count, and topic ratings averaged from the returned reviews that rate each topic.
google.com/get_hotel_reviews