How we rank auto repair shops

Every shop gets four scores from 0 to 25. They add up to a total out of 100. One script computes all of them from public data, with the same formulas for every shop. A shop can't pay for a position, and we don't adjust a score by hand.

Each score answers one question a driver has.

Score Question it answers Points
Review cadence Are customers coming through now? 0 to 25
Review sentiment Do they do a decent job? 0 to 25
Stated capabilities What can they do for you? 0 to 25
Years of experience How long have they been doing it? 0 to 25

Words in this type are column names in our shop table.

1. Review cadence (0 to 25)

Why it counts. Reviews that arrive regularly mean customers are coming through now and the shop is taking on work. A profile that went quiet suggests the shop isn't chasing new customers.

In plain words. A shop earns 1.25 points for each of the last 12 calendar months with at least one Google review, up to 15. It earns 1 more point for every 6 reviews in the last 12 months, up to 10 at 60 reviews. A shop with no review in the last 6 months scores 0.

A steady flow beats a burst. Twelve reviews spread over 12 months score 17. Sixty reviews that all landed in one month score 11.

Formula.

quiet_days = days from last_review_date to data_date
regularity = months_active_12m / 12
volume     = min(reviews_12m, 60) / 60
cadence    = round(15 * regularity + 10 * volume)
cadence    = 0 if the shop has no reviews or quiet_days > 183

months_active_12m counts the 12 full calendar months before the month of data_date. Reviews from the current month count toward volume only.

Busy shops. We read the newest 80 reviews per shop. For the busiest shops those 80 don't reach back 12 months, and reviews_12m_capped is true. We don't guess what the months we can't see would show. Volume is already at its maximum, because 80 is more than 60. Regularity is measured over the months the 80 reviews do cover.

span_months = (year of data_date * 12 + month of data_date)
            - (year of oldest_review_date * 12 + month of oldest_review_date)
regularity  = min(1, months_active_12m / span_months)    if span_months is 1 or more
regularity  = 1                                          if span_months is 0

So 80 reviews that reach back 3 calendar months, with a review in each of the 3, score 25.

2. Review sentiment (0 to 25)

Why it counts. It shows whether customers think the shop does a decent job. Stars give the verdict. The words give the reason: the car was fixed, the price was fair, the shop kept the customer informed.

In plain words. Up to 10 points come from star ratings. Up to 15 come from what the reviews say. A rating built on 3 reviews says less than the same rating built on 300, so every part starts from a cautious baseline.

The star part has two pieces.

  • For the lifetime Google rating, we add 10 imaginary reviews at 3.5 stars to every shop. On that blended rating, 3.5 earns 0 points and 5.0 earns 6.
  • For the share of last-12-month reviews at 4 or 5 stars, we add 5 imaginary reviews, 3 of them good. On that blended share, 60% earns 0 points and 100% earns 4.

The text part covers three topics, each worth up to 5 points. A classifier reads the shop's newest 80 reviews one at a time and answers six yes or no questions about each, two per topic.

Topic Counts as praise Counts as a complaint
Work The problem was fixed or the job was done The problem stayed or came back, or the car was damaged
Price The price was fair or the shop was honest The shop overcharged or was dishonest
Updates The shop explained the work or kept the customer informed The shop left the customer without answers or broke its word on timing

For each topic, we count the reviews that praise it and the reviews that complain about it. We add 5 imaginary reviews, 3 of them praise. On that blended share of praise, 60% earns 0 points and 100% earns 5.

A review that says nothing on a topic counts neither way for that topic. "Great service" names no work, price or update, so it adds nothing to the text part. A star rating with no words adds nothing to it either.

Formula.

lifetime  = max(0, rating - 3.5) * 4 * rating_count / (rating_count + 10)
recent    = max(0, 10 * reviews_4_5_12m - 6 * reviews_12m) / (reviews_12m + 5)
topic     = 5 * max(0, praise - 1.5 * complaints) / (praise + complaints + 5)
text      = topic for work + topic for price + topic for updates
sentiment = round(lifetime + recent + text)
Topic praise complaints
Work reviews_work_done reviews_work_failed
Price reviews_price_fair reviews_price_unfair
Updates reviews_kept_informed reviews_left_uninformed

Take a 4.8 rating from 62 reviews, with 11 of 13 recent reviews at 4 or 5 stars. The lifetime piece is 4.48 and the recent piece is 1.78. Twelve reviews say the work was done and 1 says it failed, which earns 2.92. Nine call the price fair and 2 call it unfair, which earns 1.88. Four say the shop kept them informed and none complain, which earns 2.22. The sum, 13.27, rounds to 13.

A shop with reviews but none in the last 12 months gets no recent piece, so 20 at most. A shop whose reviews carry no words gets the star part only, so 10 at most. A shop with no reviews scores 0. For a busy shop, the recent share covers its newest 80 reviews. The text part reads the newest 80 reviews for every shop, whatever their dates, so a longer review history earns no extra text points. With that 80-review limit, the highest sentiment score a shop can reach is 24.

How each review is read

The classifier gets the words of one review and nothing else. It doesn't see the star rating, the shop's name or the owner's reply.

  • One review can praise one topic and complain about another. It can also do both on the same topic, and then it counts on both sides.
  • A review in Spanish or another language is read in its original words and counts the same way.
  • Each answer comes with a probability. It counts as a yes at or above a threshold that we set on 200 reviews labeled by hand before the classifier ran.
id question counts as yes counts as no
work_done Does the reviewer say the shop fixed the problem or finished a named job? The review says a problem or the vehicle was fixed, repaired or solved. The review names a job, such as brakes, an oil change, an inspection or a diagnosis, and says it was done. The review says the vehicle runs, drives, works or looks right after the visit. The review praises the work, the staff or the service in general words, such as "great job" or "good work", with no problem, job or vehicle condition named. The review talks only about speed, price or manners. The review says only that the vehicle was ready or returned. The review says the problem is still there.
work_failed Does the reviewer say the shop's work failed or harmed the vehicle? The review says the problem stayed or came back after the shop worked on it. The review says a named job was done wrong, left unfinished or misdiagnosed. The review says the vehicle came back with new damage or a new fault. The review says another shop had to fix it afterwards. The review calls the work or the service bad in general words, with no problem, job or vehicle condition named. The review complains only about price, waiting or manners. The review describes a fault the vehicle had before the visit.
price_fair Does the reviewer say the price was fair or the shop was honest? The review calls the price fair, reasonable, good or low, or lower than another shop's. The review says the bill matched the quote or came in under it. The review calls the shop honest or trustworthy, or says the customer trusts it. The review says the shop sold only the work the vehicle needed, or did a small job free. The review praises the work, the speed or the staff and leaves price and honesty out. The review calls the shop reliable, professional or dependable only. The review calls the price high but worth it.
price_unfair Does the reviewer say the shop overcharged or was dishonest? The review calls the price too high, or far above another shop's price for the same job. The review says the shop charged for or pushed parts or work the vehicle had no need for. The review says charges were added without the customer's agreement. The review says the customer paid and the work stayed undone. The review calls the shop dishonest, a scam or a rip-off, says it lied, or tells readers to distrust it. The review complains only about the work, the waiting or the manners. The review calls the price a little high, or high but worth it.
kept_informed Does the reviewer say the shop explained things or kept them informed? The review says the shop explained the problem, the work or the cost. The review says the shop showed the fault, the old parts or photos. The review says the shop answered the customer's questions or laid out options. The review says the shop called or texted with news, or asked before doing extra work. The review calls the shop informative or transparent, or praises its communication. The review says the work was finished on time or when the shop said it would be. The review calls the staff friendly, helpful, polite or fast only. The review reports what the shop found or recommended and gives no credit for explaining it.
left_uninformed Does the reviewer say the shop left them without answers or broke its word on timing? The review says the shop did work or added charges without explaining or asking first. The review says the shop left calls, questions or requests for news unanswered. The review says the shop gave false or changing accounts of the vehicle's status. The review says the shop kept the vehicle or the customer well past the time it gave. The review says the shop withheld what was done to the vehicle or hid damage. The review complains about the shop's communication. The review complains about a long wait with no promised time named. The review complains only about the work, the price or the manners. The review says the customer was ignored at the counter and left.

3. Stated capabilities (0 to 25)

Why it counts. It shows what the shop can do for you: the jobs it takes, the makes it knows, the certifications it holds and what it offers while it has your car.

In plain words. We check each shop against a fixed list of 20 items. Each item found is worth 1.25 points. An item counts when the shop's Google profile or its own website states it, and we record where we found it.

Formula.

capabilities = round(25 * items_found / 20)

items_found is the number of checklist items in capabilities. The Google profile means its name, description, categories, service list and attributes. A service or make in the business name counts when it names the shop's work. A street or place name doesn't. A four-digit opening year in the Google description counts as a founding year and is recorded as google. We check the profile first, and an item found there is recorded as google. An item found only on the website is recorded as website. Website items need a site we could read (website_status is ok). On a chain's branch page, the brand's service menu counts as the branch's statement. A store-finder filter list doesn't. A shop with no website is scored on its Google profile alone.

This score counts what a shop says about itself. A shop that does a job but never mentions it doesn't get that point.

4. Years of experience (0 to 25)

Why it counts. It shows how long the shop has been doing this work. The first years are the hardest for a business, so they count double.

In plain words. A shop earns 2 points a year for its first 5 years and 1 point a year after that. Twenty years or more earns all 25. We use the founding year when the shop states one on its Google profile or website. When it doesn't, we use the date of its oldest Google review, and that route stops at 15 points.

Formula with a stated founding year. Shown as "since 1998".

years  = year of data_date - founding_year    (0 if negative)
points = min(25, years + min(years, 5))

Formula without one. Shown as "reviewed since 2017". The 15-point limit is reached at 10 years of reviews.

years  = full years from oldest_review_date to data_date
points = min(15, years + min(years, 5))

When a shop has more reviews than we read, the oldest review we hold isn't its first, and oldest_review_exact is false. The shop is at least that old. It's shown as "reviewed since at least 2023" and scored on that date. We don't estimate the years we can't see, so a busy shop with no stated founding year scores low here. A founding year on its profile or website replaces the review date.

A founding year counts when the shop itself gives a four-digit year for when it opened or was established. For a branch, the year the parent brand or franchise network started doesn't count. A line such as "over 20 years of experience" with no year doesn't count, because we can't tell when it was written.

A shop with no founding year and no reviews scores 0.

Total, rounding and ties

total = cadence + sentiment + capabilities + years

Each score is a whole number. round means the nearest whole number, and an exact half rounds up. An empty count is read as 0. The script works on whole-number fractions, so a half is never lost to floating point:

round(a / b)  = floor((2 * a + b) / (2 * b))
cadence       = round((90 * min(months_active_12m, span) + span * min(reviews_12m, 60)) / (6 * span))
                span is 12, or span_months for a capped shop
                a capped shop with span_months 0 scores 25
sentiment     = round((4 * S * d1 * d2 * d3 + 25 * E * (t1 * d2 * d3 + t2 * d1 * d3 + t3 * d1 * d2)) / (10 * E * d1 * d2 * d3))
                S = A * n * (N + 5) + B * (n + 10), E = (n + 10) * (N + 5)
                A = max(0, rating in tenths - 35), so 4.7 stars is 47; n = rating_count
                B = max(0, 25 * reviews_4_5_12m - 15 * reviews_12m), N = reviews_12m
                t = max(0, 2 * praise - 3 * complaints), d = praise + complaints + 5
                t1 and d1 are for work, t2 and d2 for price, t3 and d3 for updates
capabilities  = floor((5 * items_found + 2) / 4)

The script writes score_cadence, score_sentiment, score_capabilities, score_years and score_total. It sets years_basis to stated, proxy (the review date route) or none.

Lists sort by total, highest first. A tie goes to the shop with more Google reviews (rating_count), then to the name that comes first from A to Z.

No overrides

No score is edited by hand, for any reason. When a fact about a shop is wrong, we correct the data and the script computes the score again.

Method changes

A change to a formula applies to every shop at once. Each one is listed here with its date.

2026-11-11. Review sentiment now reads what the reviews say.

  • Before. All 25 points came from stars: 15 from the lifetime rating and 10 from the share of recent reviews at 4 or 5 stars.
  • Now. Stars are worth 10 points, with the same two measures scaled to 6 and 4. The other 15 come from the words of the reviews, on three topics: whether the work was done, whether the price was fair, and whether the shop kept the customer informed.
  • Why. Stars alone don't separate shops well. Of the 283,791 reviews we read, 84% give 5 stars, and 23% carry no words at all. A rating can't tell a driver whether the car came back fixed or what the bill looked like. The words can. Praise with no detail earns nothing in the text part, so a shop gains from reviews that say what it did.

Edge cases

Situation Cadence Sentiment Capabilities Years
No reviews at all 0 0 Scored as usual Founding year if stated, else 0
No website, or a website we couldn't read Scored as usual Scored as usual Google profile items only Founding year from the Google profile if stated, else the oldest review
Reviews, but none in the last 12 months 0 Lifetime piece and text part, 20 at most Scored as usual Scored as usual
A review in the last 12 months, but none in the last 183 days 0 Star and text parts all count Scored as usual Scored as usual
Reviews, but none with words Scored as usual Star part only, 10 at most Scored as usual Scored as usual
Reviews with words, but none on a topic Scored as usual That topic earns 0 Scored as usual Scored as usual
The newest 80 reviews don't reach back 12 months Volume is 10, regularity uses the months covered Recent share and text part use the newest 80 Scored as usual Without a founding year: 0, or 2 when the oldest review read is exactly one year old
No founding year Scored as usual Scored as usual Scored as usual Oldest review route, 15 at most
The oldest review we hold isn't the shop's first Scored as usual Scored as usual Scored as usual Without a founding year: scored on that review, shown as "reviewed since at least"

The 20-item checklist

Ten services, five makes, two certifications and three amenities. Each service and each make also has its own ranked list.

How each item is checked

Each item is one yes or no question. We ask it of the shop's Google profile, then of its website text. Two rules apply to every item:

  • The statement has to be about this shop and its own work. A blog post, a customer story, a street name or a parts-for-sale line doesn't count.
  • A Google service title that names the work counts, even with no detail beside it.
id label kind question counts as found
oil-change Oil change service Does the shop state that it does oil changes? An oil change named as a service, the Google category Oil change service, or the Google attribute for oil changes. Selling motor oil or an oil level check alone doesn't count.
brakes Brake repair service Does the shop state that it repairs or replaces brakes? Brake repair, replacement or service named, or the Google category Brake shop. A brake check or inspection alone doesn't count. Brake upgrades or big brake kits alone don't count.
transmission Transmission repair service Does the shop state that it repairs, rebuilds or replaces transmissions? Transmission repair, rebuild, replacement or service named, or the Google category Transmission shop. Transmission swaps count as replacement. "Transmission service" counts unless the same source describes it as a fluid change or flush. A transmission fluid change, a flush or a transmission check alone doesn't count.
ac-repair Air conditioning repair service Does the shop state that it repairs or recharges car air conditioning? Car AC repair, recharge or service named, or the Google category Auto air conditioning service. Vehicle HVAC repair counts. A cabin air filter change, an AC odor treatment or an AC check alone doesn't count.
engine-diagnostics Engine diagnostics service Does the shop state that it diagnoses check engine lights or runs engine or computer diagnostics? Check engine light, engine diagnostics or computer diagnostics named as a service, or the Google category Diagnostic center. "Car diagnostic" or "diagnostics" listed as a service counts. "Advanced diagnostics" describing how the shop works doesn't count. An article about warning lights doesn't count.
wheel-alignment Wheel alignment service Does the shop state that it does wheel alignments? Wheel, front-end or four-wheel alignment named, "alignment" or "alignments" listed as a service, or the Google category Wheel alignment service. Frame alignment, an alignment check or a line about tire wear alone doesn't count.
tires Tire service service Does the shop state that it sells, installs or repairs tires? Tire sales, installation, replacement or flat repair named, "Tires" or "Tire service" in the Google service list, or a Google tire shop category. A website heading "Tires" counts only when the text under it names selling, fitting or repairing tires. Tire rotation, a pressure check or a tire inspection alone doesn't count. Roadside flat-tire help with no repair named doesn't count.
state-inspection State inspection service Does the shop state that it does Texas state inspections or emissions tests? State inspection, safety inspection or emissions test named, or a Google inspection station category. A courtesy or multi-point inspection doesn't count.
diesel Diesel repair service Does the shop state that it repairs or services diesel engines? Diesel repair or diesel engine service named, or the Google category Diesel engine repair service. Selling diesel fuel, changing a diesel fuel filter or a diesel inspection alone doesn't count.
collision Collision repair service Does the shop state that it repairs collision or body damage? Collision repair, auto body repair or dent repair named, or the Google category Auto body shop. Paint, detailing, glass or trim work alone doesn't count. A damage inspection alone doesn't count.
ford Ford make Does the shop name Ford as a make it services? Ford named in a list of makes serviced or as a specialty, a Ford model named as serviced, a make page such as "Ford Collision Repair", or the Google category Ford dealer. "All makes and models" doesn't count. A make in a project gallery, portfolio title or testimonial doesn't count.
chevrolet Chevrolet make Does the shop name Chevrolet or Chevy as a make it services? Chevrolet or Chevy named in a list of makes serviced or as a specialty, a Chevrolet model named as serviced, a make page such as "Chevrolet Collision Repair", or the Google category Chevrolet dealer. "All makes and models" doesn't count. A make in a project gallery, portfolio title or testimonial doesn't count.
toyota Toyota make Does the shop name Toyota as a make it services? Toyota named in a list of makes serviced or as a specialty, a Toyota model named as serviced, a make page such as "Toyota Collision Repair", or the Google category Toyota dealer. "All makes and models" doesn't count. A make in a project gallery, portfolio title or testimonial doesn't count.
bmw BMW make Does the shop name BMW as a make it services? BMW named in a list of makes serviced or as a specialty, a BMW model named as serviced, a make page such as "BMW Collision Repair", or the Google category BMW dealer. "European cars" with no make named doesn't count. A make in a project gallery, portfolio title or testimonial doesn't count.
mercedes-benz Mercedes-Benz make Does the shop name Mercedes-Benz or Mercedes as a make it services? Mercedes-Benz or Mercedes named in a list of makes serviced or as a specialty, a Mercedes-Benz model named as serviced, a make page such as "Mercedes-Benz Collision Repair", or the Google category Mercedes-Benz dealer. "European cars" with no make named doesn't count. A make in a project gallery, portfolio title or testimonial doesn't count.
ase-certified ASE certified technicians certification Does the shop state that its technicians are ASE certified? ASE certified, ASE Master or ASE Blue Seal stated for the shop or its technicians. "Certified technicians" with no mention of ASE doesn't count.
aaa-approved AAA Approved Auto Repair certification Does the shop state that it is a AAA Approved Auto Repair facility? AAA Approved Auto Repair stated by name. A AAA member discount or AAA towing alone doesn't count.
repair-warranty Warranty on repairs amenity Does the shop state a warranty on its own repair work? A warranty or guarantee on the shop's parts and labor, with or without a term. A warranty on any one of the shop's own services counts. A page or link named "Service warranty" counts. Accepting extended warranty plans, a tire road-hazard plan or a parts maker's warranty alone doesn't count. "We guarantee honest service" doesn't count.
shuttle-loaner Shuttle or loaner car amenity Does the shop state that it offers a shuttle, a ride or a loaner car while it has your car? Shuttle, courtesy ride, loaner car or courtesy car stated. Picking up and returning the customer's car counts. A fleet-only pickup doesn't count. Help arranging a rental car alone doesn't count.
towing Towing amenity Does the shop state that it tows cars or arranges a tow to the shop? Towing offered or arranged by the shop, or the Google category Towing service. Tow hitch installation or a trailer towing package doesn't count.

Data and refresh date

  • Google business profile. Name, address, description, categories, service list, attributes, main photo, rating and review count, collected through the DataForSEO Business Listings and Google My Business Info APIs.
  • Google reviews. The newest 80 per shop, each with its date, star rating and words, collected through the DataForSEO Google Reviews API.
  • Shop website. The home page and up to two linked pages about services or the shop itself. We respect robots.txt.
  • Area. Austin, Brazoria, Chambers, Fort Bend, Galveston, Harris, Liberty, Montgomery and Waller counties. Permanently closed shops and parts stores are left out.

Data last refreshed: November 11, 2026. Each shop is scored as of the day its own reviews were read (data_date).

Constants to confirm once reviews land

We set every number above before any shop was scored. Reviews for 6,521 shops then arrived on 2026-11-11, and the first run of each check is shown below. The checks run again on every refresh. A failed check changes a constant here, in public, for every shop at once.

The text part of review sentiment was added on 2026-11-11. Its constants were set before the classifier read any review, and their checks stay open until it has read them all. To set the yes threshold, we first labeled 200 reviews by hand, from the words alone with the star ratings hidden: 130 at 1 to 3 stars and 70 at 4 or 5 stars, 25 of them tagged Spanish, from 196 shops, drawn at random with seeds 20261111 and 20261112. Low-star reviews are oversampled so every complaint question has enough yes answers, and precision is weighted back to the real star mix.

Constant Value Check on the full data Measured on 2026-11-11
Quiet limit 183 days Shops with a review in the last 12 months that still score 0 on cadence stay under 10% of all shops Pass: 8.0% (587 shops)
Volume ceiling 60 reviews in 12 months, never above the 80-review read limit Under 15% of shops reach it Pass: 13.3% (974 shops)
Regularity and volume weights 15 and 10 points Under 15% of shops score the full 25 on cadence Pass: 12.7% (936 shops)
Busy-shop rule Regularity over the months the newest 80 cover List every capped shop whose 80 reviews span one month or less. Each should have 1,000 or more lifetime reviews. A smaller shop on that list may have had a burst and needs a deeper read 826 shops are capped (11.2%). 38 span one month or less, and 7 of those have under 1,000 lifetime reviews. Those 7 need a deeper read
Rating scale 3.5 earns 0, 5.0 earns 6 Among shops with 50 or more reviews, the middle 80% of ratings runs from about 4.0 to 4.9 Pass: 4.0 to 4.9 across 2,938 shops
Imaginary lifetime reviews 10 at 3.5 stars No shop with under 30 reviews is in the top 100 for sentiment Pass: the fewest in the top 100 is 91
Recent share scale 60% earns 0, 100% earns 4, with 5 imaginary reviews Among shops with 10 or more recent reviews, under 10% fall below a 60% share Pass: 5.5%, and the median share is 93%
Years curve 2 points a year for 5 years, then 1, full marks at 20 years Under half of the shops with a stated founding year score the full 25 Open: no founding years read yet
Review date route 15 points at most, reached at 10 years Count shops scored on an oldest review that isn't their first, after founding years are in. Above 15% of shops, read older reviews for those shops Open: 35.3% (2,592 shops) before founding years are in. Shops with over 500 reviews average 0.4 points on this route, against 10.3 for shops with 11 to 50 reviews
Capabilities step 1.25 points per item Every service and make list has 5 or more shops, and no item comes in under half its expected count below Open: expected 264 to 5,558 shops per list
Star and text split 10 points from stars, 15 from review text The sentiment score keeps a standard deviation of at least half the largest of the four Open: sentiment was 7.3 on stars alone, against 9.0 for cadence
Topic weights 5 points each for work, price and updates No topic supplies over half of the text points earned across all shops Open
Topic scale 60% praise earns 0, 100% earns 5 Among shops with 10 or more reviews on a topic, under 10% fall below a 60% share of praise Open
Imaginary topic reviews 5 per topic, 3 of them praise No shop with under 30 reviews is in the top 100 for sentiment Open
Text reach The newest 80 reviews, whatever their dates Under 5% of shops have no review in the last 12 months and still earn 10 or more text points. Above that, the text part moves to a dated window Open
Yes threshold One probability per question On the 200 hand-labeled reviews, each question finds at least 8 in 10 of the reviews labeled yes, and at least 9 in 10 of its own yes answers match the labels. A question that misses is reworded before any shop is scored Open: the labels hold 29, 42, 22, 49, 16 and 36 yes answers, in the order of the question table
Review language Each review is read in its original words Answers on the Spanish reviews match the hand labels as often as answers on the English ones. If they don't, the classifier reads Google's English translation Open
Axis spread Four equal 25-point maximums Standard deviation of each score. None should be under half the largest Cadence 9.0, years by review date 5.7. Capabilities 4.6 on a keyword estimate. Sentiment is open, see the split above

Expected checklist counts on today's evidence, out of 7,345 shops. The Google column is a category, service title or attribute match. The website column is a keyword match in the 2,387 sites we could read, so it runs high. The classifier's own counts replace this table.

id Google profile Website Either
oil-change 5,524 1,132 5,558
brakes 4,072 1,299 4,269
transmission 2,966 975 3,236
ac-repair 3,374 954 3,555
engine-diagnostics 3,269 1,269 3,773
wheel-alignment 1,700 779 1,941
tires 2,140 1,186 2,553
state-inspection 1,318 484 1,432
diesel 446 533 855
collision 865 518 1,004
ford 80 284 348
chevrolet 72 201 265
toyota 67 205 264
bmw 105 226 293
mercedes-benz 87 212 272
ase-certified 8 476 482
aaa-approved 3 40 40
repair-warranty 16 905 917
shuttle-loaner 198 355 473
towing 343 330 567

Spotted a factual error about a shop? Report a factual error to errors@bestautorepairshops.com.