Technical writing

FMCSA Carrier Safety Ratings: The Federal Database Behind 550,000 Trucking Companies

· 12 min read· AI Analytics
Federal DataFMCSATransportationSafety

Every commercial motor carrier operating in interstate commerce in the United States is registered in a pair of federal databases that the public can query by name, USDOT number, or operating authority. The Safety and Fitness Electronic Records system—SAFER—and the Motor Carrier Management Information System—MCMIS—together hold records on more than 550,000 active carriers: their fleet size, inspection history, violation counts, out-of-service rates, and where applicable, an official safety rating from a federal compliance review. The data is public. Most of the people who should be reading it are not.

The two systems and what they cover

The Federal Motor Carrier Safety Administration operates within the Department of Transportation and has primary regulatory authority over commercial motor vehicles engaged in interstate commerce under 49 CFR Parts 380–399. FMCSA's regulatory mandate covers carriers that operate commercial motor vehicles—broadly, trucks over 10,001 lbs gross vehicle weight rating, vehicles carrying hazardous materials in quantities requiring placarding, and vehicles designed to carry 16 or more passengers. Any carrier meeting these definitions and crossing state lines must register with FMCSA and is assigned a USDOT number.

SAFER—Safety and Fitness Electronic Records—is the public-facing registration and safety information system. A SAFER search at safer.fmcsa.dot.gov returns the carrier's registration record: legal name, DBA name, physical address, mailing address, phone number, USDOT number, MC/MX docket number (the operating authority number for for-hire carriers), entity type (carrier, broker, freight forwarder), operation classification (authorized for hire, private, exempt for hire), cargo classification, fleet size in power units and drivers, and the official safety rating if one has been assigned. SAFER is updated daily with registration changes but reflects point-in-time snapshots rather than a full historical record.

MCMIS—Motor Carrier Management Information System—is FMCSA's internal operational database and the source of record for inspection results, violations, crash reports, compliance review findings, and enforcement actions. MCMIS is not publicly searchable directly, but its data surfaces through three public channels: the SAFER carrier profile, the SMS Public portal, and bulk data downloads through the FMCSA Portal. The MCMIS data dictionary, published on the FMCSA website, documents the full field set.

The three official safety ratings

FMCSA assigns official safety ratings through on-site compliance reviews conducted by federal or state safety investigators. The rating system has three possible outcomes:

  • Satisfactory—the carrier has adequate safety management controls in place to ensure compliance with FMCSA regulations and is operating safely. A satisfactory rating is issued when the compliance review finds no pattern of critical or acute violations, the carrier's safety management processes are functional, and the out-of-service order rate is within acceptable bounds. In practice, satisfactory ratings are issued after compliance reviews of carriers with no significant prior enforcement history or carriers that have corrected deficiencies identified in earlier reviews.
  • Conditional—the carrier has inadequate safety management controls in at least one regulatory area but has not yet failed to the level that warrants an unsatisfactory rating. A conditional rating signals that one or more acute or critical violations were found, or that a pattern of serious violations exists, but that the overall safety posture does not yet represent an imminent hazard to public safety. Carriers with conditional ratings remain authorized to operate but are subject to increased oversight and may be re-reviewed within 12 months.
  • Unsatisfactory—the carrier has failed to maintain adequate safety management controls, and continued operation presents an imminent hazard. An unsatisfactory rating triggers a 45-day period during which the carrier must correct deficiencies or cease operations. If the carrier has not corrected the rated deficiencies at the end of the 45-day period, FMCSA issues an out-of-service order that prohibits the carrier from operating in interstate commerce until the rating is upgraded. Carriers with unsatisfactory ratings appear in the SAFER system and can be queried by shippers and brokers.

A critical limitation of the official rating system is coverage. As of recent data, FMCSA has assigned official safety ratings to fewer than 60,000 of the more than 550,000 active carriers in the registry. The large majority of active carriers have never received a compliance review and carry no official rating—displayed in SAFER as “None.” A carrier with no rating is not necessarily safe; it has simply not been reviewed. The SMS system, described below, was developed specifically to address this gap.

The Safety Measurement System: seven BASICs

The Safety Measurement System—SMS—is FMCSA's data-driven framework for prioritizing carrier oversight. Rather than relying solely on infrequent compliance reviews, SMS uses roadside inspection results, violation records, and crash data to compute ongoing safety performance metrics for every carrier with sufficient activity data. The core unit of SMS analysis is the BASIC—Behavior Analysis and Safety Improvement Category. There are seven BASICs, each measuring a different dimension of carrier safety performance:

  • Unsafe Driving—violations from roadside inspections related to speeding, reckless driving, improper lane changes, inattention, and other moving violations. This BASIC captures driver behavior that is immediately observable during a traffic stop or inspection. Speeding citations, particularly at 15 mph or more over the limit, carry the highest violation weights in the SMS calculation. Unsafe Driving is one of the two BASICs that FMCSA considers most predictive of crash involvement.
  • Hours-of-Service Compliance—violations of FMCSA's hours-of-service regulations under 49 CFR Part 395, which limit the number of consecutive hours a commercial driver may operate and require mandatory rest periods. HOS violations include false logs, log falsification, operating beyond the 11-hour driving limit, and failure to take required off-duty time. The transition to electronic logging devices (ELDs), mandated by FMCSA beginning in December 2017, substantially changed the detection rate for HOS violations by replacing paper logbooks that could be falsified with tamper-resistant electronic records.
  • Driver Fitness—violations related to driver qualifications: operating with an invalid or expired commercial driver's license (CDL), failing to have a valid medical examiner's certificate, operating while disqualified, and failing to meet vision or physical qualification standards. Driver Fitness violations are particularly significant for smaller carriers where owner-operators may have lapsed CDL or medical certificate status.
  • Controlled Substances/Alcohol—violations related to drug and alcohol testing program compliance and detected impairment: positive drug tests, alcohol testing violations, operating while impaired, and failure to maintain a compliant testing program under 49 CFR Part 382. This BASIC has the highest per-violation severity weight in the SMS system; a single confirmed positive test or operating-while-impaired violation generates a large percentile increase.
  • Vehicle Maintenance—violations from roadside inspections related to the mechanical condition of commercial vehicles: brake defects (the most frequently cited category), tire defects, lighting defects, coupling system defects, and cargo securement failures. Vehicle Maintenance is the most citation-dense BASIC in the national data, driven by the high frequency of brake and lighting violations found during Level I (full-vehicle) inspections. The national average vehicle out-of-service rate—the share of vehicle inspections that result in an OOS order placing the vehicle out of service on the spot—is approximately 20 percent.
  • Hazardous Materials Compliance—violations of PHMSA and FMCSA hazardous materials transportation regulations: improper placarding, failure to maintain shipping papers, improper packaging, and carrier registration violations for HAZMAT transport. This BASIC applies only to carriers that transport hazardous materials in regulated quantities. The FMCSA and PHMSA jointly enforce HAZMAT transport rules; violations found at roadside feed the FMCSA BASIC while civil penalties are handled through PHMSA enforcement channels.
  • Crash Indicator—a measure of crash history relative to the carrier's peer group, based on DOT-reportable crashes in the prior 24 months. DOT-reportable crashes are those resulting in a fatality, an injury, or a vehicle being towed from the scene. The Crash Indicator does not assign fault: a carrier that was struck by an impaired motorist and had its trailer totaled is counted the same as a carrier whose driver ran a red light. FMCSA acknowledges this limitation in the SMS methodology documentation and has evaluated but not implemented a fault-attribution adjustment.

Each BASIC is scored as a percentile from 0 to 100 among carriers in the same peer group—carriers of similar size and operation type, measured by the number of inspections that generated data points for that BASIC. A percentile of 80 on Unsafe Driving means the carrier performed worse than 80 percent of its peer group on that metric. FMCSA sets alert thresholds by BASIC: a carrier that exceeds the alert threshold is flagged for intervention prioritization. The thresholds vary by BASIC—65th percentile for Unsafe Driving and Crash Indicator, 80th percentile for most others—reflecting differences in the relative predictive weight of each BASIC for crash involvement.

What each carrier record contains

A full FMCSA carrier profile, assembled from SAFER and SMS, contains the following data elements:

  • USDOT number—the primary federal identifier assigned at registration and required to be displayed on commercial vehicles. The USDOT number is persistent; it does not change when a carrier reorganizes, changes its name, or changes its operating authority, though FMCSA has specific provisions for chameleon carrier investigations when a carrier attempts to shed a bad safety record by reforming under a new entity.
  • MC/MX docket number—the operating authority number assigned to for-hire carriers. MC numbers apply to domestic interstate for-hire carriers; MX numbers apply to carriers based in Mexico. The MC number is the identifier used in freight contracts and broker-carrier agreements; it is distinct from the USDOT number and both are typically required in carrier vetting.
  • Carrier name and address—the legal entity name, DBA name if applicable, physical address, and mailing address. These fields are self-reported at registration and are not independently verified by FMCSA at the time of registration, creating opportunities for registration fraud that chameleon carrier enforcement targets.
  • Fleet size—the number of power units (trucks, tractors, and other self-propelled commercial vehicles) and the number of CDL drivers employed or contracted by the carrier, as self-reported on the MCS-150 biennial update form. Fleet size data is lagged by up to two years and may not reflect current operations; owner-operators frequently operate as their own carrier with a fleet size of one.
  • Commodity type—the carrier's primary cargo classification from the MCS-150 form: general freight, household goods, metal sheets, motor vehicles, grain, coal, livestock, refrigerated food, chemicals, and approximately 20 other categories. Commodity type affects the SMS peer group assignment and the applicable HAZMAT BASIC.
  • Inspection counts and violation counts—the number of inspections in the prior 24 months by inspection level (Level I through VI), the number of violations found, and the number of OOS orders issued at each inspection. These counts are the raw inputs to the BASIC calculations.
  • Out-of-service rates—the vehicle OOS rate (vehicle inspections resulting in OOS orders divided by total vehicle inspections) and the driver OOS rate (driver inspections resulting in OOS orders divided by total driver inspections). The national average vehicle OOS rate is approximately 20 percent; the national average driver OOS rate is approximately 5 percent. These benchmarks are published quarterly by the Commercial Vehicle Safety Alliance (CVSA) and are the primary reference points for carrier OOS rate evaluation.
  • Crash data—DOT-reportable crashes in the prior 24 months, disaggregated by severity: crashes with fatalities, crashes with injuries, and tow-away crashes. The crash data is collected from state crash reports submitted to FMCSA and is subject to state reporting lag of several months.
  • Official safety rating—where assigned: Satisfactory, Conditional, or Unsatisfactory, with the date of the compliance review that produced it.

How to access the data

FMCSA provides three primary access channels for carrier safety data, serving different use cases:

SAFER Web—the public carrier search at safer.fmcsa.dot.gov—provides individual carrier lookups by USDOT number, MC/MX number, or carrier name. The result page shows the carrier's registration profile, safety rating, and a summary of inspection and crash activity. SAFER Web is the right tool for vetting individual carriers before contracting, but it is not suitable for bulk analysis.

SMS Public Portal—at ai.fmcsa.dot.gov—provides carrier-specific SMS BASIC percentile scores. The portal displays the seven BASIC percentiles for a given carrier, whether any BASICs are above alert thresholds, and the inspection-level details underlying each score. The SMS portal also provides national and state-level summary statistics on BASIC distributions and alert threshold exceedance rates. The portal's data is updated monthly.

FMCSA Portal data downloads—at ai.fmcsa.dot.gov/SMS/Tools/Downloads.aspx—provide bulk flat-file downloads of the carrier census, inspection records, violation records, and crash data. The principal file, FMCSA_CENSUS1, contains one row per active carrier with the full profile including fleet size, OOS rates, and safety rating. Supplemental files provide inspection-level and violation-level detail for building a research database. These files are tab-delimited text, updated monthly, and can be loaded directly into pandas, DuckDB, or any relational database without transformation.

For programmatic access to individual carrier profiles, FMCSA provides a REST API at mobile.fmcsa.dot.gov/qc/services that accepts a USDOT number and returns carrier profile JSON including SMS BASIC percentiles. API access requires a registration key available at no cost from the FMCSA developer portal.

The out-of-service rate as a safety signal

Among all the metrics in the FMCSA dataset, the vehicle out-of-service rate is the most operationally concrete. When a federal or state inspector conducts a roadside inspection and finds a violation severe enough to place the vehicle out of service, that vehicle cannot legally move until the defect is corrected. Brake failures, steering defects, and tire defects with imminent blowout risk are the most common OOS-level conditions. A carrier with a vehicle OOS rate of 40 percent is having its trucks put out of service—on the spot, by federal inspectors—in 40 percent of inspections. That is not a paperwork problem.

The national benchmark of approximately 20 percent vehicle OOS rate means that one in five vehicles inspected at the federal level has a defect serious enough to require immediate remediation. Carriers that consistently exceed this benchmark—particularly those above 30 or 40 percent—represent a qualitatively different maintenance culture than the industry average. The driver OOS rate benchmark of approximately 5 percent reflects the threshold at which HOS, CDL, or medical certificate violations are prevalent enough to put drivers out of service.

OOS rates are the most fraud-resistant metric in the FMCSA dataset because they are based on inspector findings at the roadside, not self-reported data. Inspection counts can be gamed by avoiding high-inspection corridors; OOS rates among conducted inspections are harder to manipulate because they depend on the actual mechanical and regulatory condition of the vehicles presented for inspection.

How insurers and freight brokers use FMCSA data

Commercial trucking insurance underwriting has relied on FMCSA safety data for more than two decades. Insurers writing commercial auto liability for motor carriers pull SAFER profiles and SMS BASIC percentiles as part of the underwriting workflow. A carrier with an Unsatisfactory safety rating is generally uninsurable at standard market rates; a carrier with multiple BASICs above alert thresholds faces premium surcharges that can make the economics of continued operation difficult. The largest commercial auto insurers—including Old Republic, Protective Insurance, and Canal Insurance—maintain proprietary carrier scoring models built on top of the public FMCSA data, supplemented by loss history from their own books of business.

Freight brokers are the intermediary layer between shippers and carriers in the spot market, arranging loads and selecting carriers for individual shipments. FMCSA data is the primary input to broker carrier vetting workflows. Reputable brokers check SAFER registration status, operating authority, safety rating, and SMS BASIC percentiles before adding a carrier to their approved network. Carriers with revoked operating authority, Unsatisfactory ratings, or multiple BASICs above alert thresholds are typically excluded from approved carrier lists at major brokers.

The broker liability question—whether a freight broker bears legal responsibility when a carrier it selected causes a fatal accident—came to national attention in Sperl v. C.H. Robinson Worldwide, Inc., a 2012 Illinois appellate court decision. The Sperl court held that C.H. Robinson, as the broker that arranged the load, could face negligent hiring liability for selecting a carrier with a documented poor safety record, because the broker had a duty to exercise reasonable care in carrier selection and had access to the same FMCSA data available to the public. The case resulted in a $23 million verdict against the broker. The FMSA Safety Act of 2012 included a provision—section 32105—intended to preempt state-law negligent hiring claims against brokers, but federal courts have split on its scope and several jurisdictions have continued to allow such claims. The result is a legal landscape in which the publicly available FMCSA safety record of a carrier selected for a load is potentially relevant evidence in post-accident litigation against the broker that arranged the load.

Python workflow: bulk carrier identification by OOS rate and BASIC percentiles

The following Python workflow demonstrates how to download the FMCSA carrier census, compute out-of-service rates, identify high-risk carriers against national benchmarks, and pull SMS BASIC percentiles from the FMCSA API for flagged carriers. The workflow is intended as a starting point for compliance monitoring, insurance underwriting screening, or investigative research.

import pandas as pd
import requests
import time

# FMCSA provides bulk carrier data snapshots through the FMCSA Portal.
# Download the carrier census file from:
#   https://ai.fmcsa.dot.gov/SMS/Tools/Downloads.aspx
# The principal file is "FMCSA_CENSUS1.zip" — one row per active carrier.

census = pd.read_csv(
    "FMCSA_CENSUS1.txt",
    sep="\t",
    dtype={
        "DOT_NUMBER": str,
        "CARRIER_NAME": str,
        "PHYSICAL_STATE": str,
        "TOTAL_POWER_UNITS": "Int64",
        "TOTAL_DRIVERS": "Int64",
        "UNSAFE_DRV_INSP": "Int64",
        "UNSAFE_DRV_OOS": "Int64",
        "VEH_MAINT_INSP": "Int64",
        "VEH_MAINT_OOS": "Int64",
        "SAFETY_RATING": str,
    },
    low_memory=False,
)

# Compute out-of-service rates
census["vehicle_oos_rate"] = (
    census["VEH_MAINT_OOS"] / census["VEH_MAINT_INSP"].replace(0, float("nan"))
)
census["driver_oos_rate"] = (
    census["UNSAFE_DRV_OOS"] / census["UNSAFE_DRV_INSP"].replace(0, float("nan"))
)

# National averages (approximate, updated quarterly by FMCSA)
VEHICLE_OOS_NATIONAL_AVG = 0.20
DRIVER_OOS_NATIONAL_AVG  = 0.05

# Flag carriers exceeding 2x national average on either rate (min 10 inspections)
high_risk = census[
    (census["VEH_MAINT_INSP"] >= 10) &
    (
        (census["vehicle_oos_rate"] > VEHICLE_OOS_NATIONAL_AVG * 2) |
        (census["driver_oos_rate"]  > DRIVER_OOS_NATIONAL_AVG  * 2)
    )
].copy()

high_risk = high_risk.sort_values("vehicle_oos_rate", ascending=False)

print("High-risk carriers identified: " + str(len(high_risk)))

# Pull SMS BASIC percentiles from the public SMS API for each flagged carrier.
# Rate-limit to 1 request/second — FMCSA enforces limits on ai.fmcsa.dot.gov.
def get_sms_basics(dot_number, api_key):
    url = "https://mobile.fmcsa.dot.gov/qc/services/carriers/" + dot_number + "/basics"
    resp = requests.get(url, params={"webKey": api_key}, timeout=15)
    if resp.status_code != 200:
        return {}
    data = resp.json().get("content", {})
    return {b["basicType"]: b["percentile"] for b in (data.get("basics") or [])}

API_KEY = "YOUR_FMCSA_API_KEY"  # register at https://mobile.fmcsa.dot.gov/QCDevsite/

results = []
for dot in high_risk["DOT_NUMBER"].head(100):
    basics = get_sms_basics(dot, API_KEY)
    results.append({"DOT_NUMBER": dot, **basics})
    time.sleep(1)

basics_df = pd.DataFrame(results)
flagged = high_risk.merge(basics_df, on="DOT_NUMBER", how="left")

# Carriers with Unsafe Driving BASIC > 90th percentile AND high vehicle OOS rate
critical = flagged[
    flagged.get("UNSAFE DRIVING", pd.Series(dtype=float)).fillna(0) > 90
]
print("Critical priority carriers: " + str(len(critical)))
critical[["DOT_NUMBER", "CARRIER_NAME", "PHYSICAL_STATE",
          "SAFETY_RATING", "vehicle_oos_rate", "driver_oos_rate"]].to_csv(
    "critical_carriers.csv", index=False
)

The FMCSA API rate limit is enforced at the application level; exceeding it results in temporary blocking rather than a formal error code, so the one-second sleep between requests is conservative but appropriate for production use. For full-registry screening (550,000+ carriers), the bulk census file is more efficient than individual API calls—use the API only for the flagged subset where BASIC percentile detail is needed.

Connection to NTSB truck accident investigations

When a commercial motor carrier crash rises to the level of National Transportation Safety Board investigation—typically a crash involving multiple fatalities, a motorcoach, or a systemic safety question—the NTSB investigation record and the carrier's FMCSA profile together provide a chain of evidence that neither source can supply alone.

NTSB highway accident investigation reports for truck crashes consistently include a section reviewing the carrier's FMCSA safety record at the time of the crash: the safety rating, the SMS BASIC percentiles in the months before the crash, any prior compliance reviews, and the inspection and violation history. In cases where a carrier had BASICs above alert thresholds or a prior conditional rating that was not followed by a compliance review, the NTSB investigation documents whether FMCSA oversight was commensurate with the carrier's risk profile. Several NTSB investigation reports have found that carriers involved in fatal crashes had been flagged by SMS as high-risk but had not received a compliance review within the preceding two years.

The NTSB publishes its most probable cause findings for highway accidents in its searchable accident database at ntsb.gov. NTSB accident reports are searchable by carrier name and USDOT number, enabling direct linkage between an NTSB investigation record and the carrier's FMCSA profile at the time of the crash. For carriers that have been involved in NTSB-investigated crashes, the NTSB safety recommendations directed at FMCSA—published in the report and tracked in NTSB's recommendation database—document whether the systemic issues identified in the investigation led to regulatory changes, and whether those changes were implemented.

Limitations and analytical notes

Rating coverage gap. Fewer than 60,000 of 550,000+ active carriers have official safety ratings. A carrier without a rating is not verified safe—it is unreviewed. The SMS system addresses this partially, but SMS requires sufficient inspection activity to generate meaningful percentile scores; very small carriers with few inspections may have statistically unreliable BASIC scores even when they have sufficient inspection counts to generate a score at all.

Self-reported fleet size and commodity data.Fleet size and commodity type are self-reported on the MCS-150 biennial update form, required to be filed every two years. Carriers are not always compliant with the biennial update requirement; FMCSA estimated in a 2019 analysis that a substantial fraction of the carrier registry had outdated MCS-150 data. Fleet size in SAFER may not reflect current operations.

Crash Indicator does not assign fault. A carrier that is consistently struck by impaired drivers, or that operates in a geographic area with higher crash rates, will accumulate Crash Indicator points without being an unsafe operator. FMCSA's DataQs system allows carriers to challenge individual crash data points if they believe the crash was not preventable; accepted challenges remove the crash from the BASIC calculation. DataQs challenge rates and outcomes are published in the SMS methodology documentation.

Chameleon carrier problem. Carriers that accumulate poor safety records sometimes attempt to shed them by closing the existing legal entity and reregistering under a new name, a new state, or through a related entity. FMCSA's chameleon carrier investigation program identifies these reregistrations by looking for common ownership, drivers, vehicles, insurance, and physical address across entities. Chameleon carrier flags are not displayed prominently in public SAFER profiles but are documented in FMCSA enforcement actions, which are available through the FMCSA enforcement database.

Related writing

For NHTSA's Fatality Analysis Reporting System—how FARS structures 1.1 million crash deaths since 1975, what the 30+ per-year files contain, and how to cross-reference crash vehicles against open NHTSA recall campaigns: Every US traffic death since 1975: using NHTSA FARS to analyze road safety, vehicle defects, and enforcement gaps →

For the NTSB aviation accident database—how the National Transportation Safety Board structures 90,000+ investigation records since 1962, what the probable cause taxonomy reveals, and how investigation findings translate into FAA rulemaking: Every US plane crash since 1962: using the NTSB aviation accident database →

For PHMSA pipeline incident data—how the four pipeline safety databases are structured, what the cause taxonomy reveals about corrosion and excavation damage, and the gap between statutory penalties and assessed penalties in major pipeline incidents: Pipeline spills and explosions: using PHMSA incident data to map 50 years of pipeline failures →