FMCSA Carrier Safety Lookup (SAFER) | Pay per result avatar

FMCSA Carrier Safety Lookup (SAFER) | Pay per result

Pricing

Pay per usage

Go to Apify Store
FMCSA Carrier Safety Lookup (SAFER) | Pay per result

FMCSA Carrier Safety Lookup (SAFER) | Pay per result

Retrieve FMCSA/SAFER carrier records from Company Snapshot pages. Get registration, inspections, crashes, safety ratings, and computed risk fields. Run with a USDOT, MC/MX/FF number, or company name; no buyer API key or source login required. Pricing: check current rates.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

2 days ago

Last modified

Features

Limited permissions

Share

FMCSA Carrier Safety Lookup Scraper (SAFER)

Extract FMCSA/SAFER Company Snapshot data by USDOT, MC/MX/FF number, or company name, including registration, inspections, crashes, safety ratings, contact data, and computed risk fields. Each dataset item is one carrier record.

  • Screen carriers using operating status, fleet size, inspections, crashes, and safety fields.
  • Enrich B2B carrier lists with legal names, addresses, phones, cargo, and operating classifications.
  • Search company names that match multiple carriers and retrieve a snapshot for each.
  • Calculate crashes per power unit, inspection intensity, out-of-service status, and risk flags.
  • No API key or source login is needed.

What you get

Each dataset item is one carrier record. Scalar fields are null when the source does not provide them; arrays are empty when no values are present.

Field(s)TypeWhat it contains
legalName, dotNumber, operatingStatus, entityTypestringRegistration identity.
outOfServiceDate, dbaName, stateCarrierId, dunsNumberstringAdditional identity fields.
physicalAddress, mailingAddress, phonestringAddresses and phone.
mcMxFfNumbersarray of stringsAssociated MC, MX, or FF numbers.
powerUnits, driversintegerReported units and drivers.
mcs150FormDate, mcs150Year, mcs150Mileagestring / integerMCS-150 filing date, year, and mileage.
operationClassification, carrierOperation, hmShipperOperation, cargoCarriedarray of stringsOperation, shipper, and cargo values.
usInspections, canadaInspectionsobjectInspection counts, out-of-service values, percentages, and (US) national averages. Empty when the source has no table.
usCrashes, canadaCrashesobjectFatal, injury, tow, and total crashes; values can be null.
safetyRatingDate, safetyReviewDate, safetyRating, safetyTypestringSafety rating and review data.
latestUpdate, snapshotUrl, scrapedAtstringLatest snapshot update date, lookup URL, UTC extraction timestamp.
totalCrashesintegerTotal US crashes.
crashesPerPowerUnit, inspectionIntensitynumberComputed crash rate and US vehicle inspection intensity.
isOutOfServicebooleanComputed out-of-service indicator.
riskFlagsarray of stringsComputed flags such as no_safety_rating, out_of_service, or high_crash_rate.
parse_confidence, warningsnumber / arrayParse-confidence score and parsing warnings.

Some values are copied as SAFER shows them. For example, an empty percentage appears as "%" and an empty DUNS as "0 - -"; the Actor does not rewrite them.

Sample output

A shortened dataset record:

{
"legalName": "AF SWIFT TRANSPORTATION INC",
"dotNumber": "3317834",
"operatingStatus": "ACTIVE",
"physicalAddress": "101 MOUNTAIN PATH LANE, STAFFORD, VA 22554",
"phone": "(540) 424-9262",
"powerUnits": 9,
"drivers": 9,
"usInspections": {"vehicle": {"inspections": 21, "outOfService": 4, "outOfServicePercent": "19%"}},
"usCrashes": {"fatal": 0, "injury": 0, "tow": 0, "total": 0},
"safetyRating": null,
"totalCrashes": 0,
"crashesPerPowerUnit": 0,
"inspectionIntensity": 2.333,
"isOutOfService": false,
"riskFlags": ["no_safety_rating"]
}

Pricing

This Actor uses pay-per-event billing. carrier-record is one carrier record. apify-actor-start is charged once per GB of run memory, minimum one event. You pay only for these events; compute, proxy traffic, and storage are not billed to you separately.

Planapify-actor-start (per event)carrier-record (per event)
Free plan$0.00005$0.005
Bronze plan$0.0000495$0.00495
Silver plan$0.000049$0.0049
Gold plan$0.0000485$0.00485
Platinum plan$0.000048$0.0048
Diamond plan$0.0000475$0.00475

Examples on the Bronze plan, each with one start event (the minimum, at 1 GB or less of run memory):

  • 100 records: 100 x $0.00495 = $0.495 on the Bronze plan, plus $0.0000495 for the start event.
  • 1,000 records: 1,000 x $0.00495 = $4.95 on the Bronze plan, plus $0.0000495 for the start event.
  • 10,000 records: 10,000 x $0.00495 = $49.50 on the Bronze plan, plus $0.0000495 for the start event.

A lookup that finds nothing, or a failed fetch, adds no record and so creates no carrier-record charge; only the start event applies. These prices apply while the Actor is on pay-per-event billing. The Store pricing history lists a scheduled switch to the FREE pricing model from 2026-11-10, so check the Pricing tab on the Actor page for the model in force when you run.

How to use

  1. Choose dotNumber, mcNumber, or companyName. If several are set, only the first is used, in that order.
  2. Enter an exact USDOT, MC/MX/FF number, or company name. MC/MX/FF input is reduced to digits, so an MC- prefix is dropped.
  3. Set maxItems for a company-name search, which can match several carriers and fetches a snapshot for each.
  4. Start the run and read carrier records from the Apify dataset.
  5. Repeat the run through Apify Schedules, and export the dataset as JSON or CSV.

Example input:

{
"companyName": "swift transportation",
"maxItems": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Input parameters

ParameterWhat it doesDefault
dotNumberDirect USDOT lookup.Unset
mcNumberDirect MC/MX/FF lookup.Unset
companyNameSAFER substring search; can return multiple carriers.Unset; prefilled with swift transportation
maxItemsMaximum carrier records for a company-name search.100
proxyConfigurationProxy settings used for requests when supplied; setup errors stop the run.None

Limits and edge cases

ConditionWhat the buyer seesWhat to do
No lookup parameter is suppliedThe run logs an error and produces zero records.Supply one lookup parameter.
Multiple lookup parameters are suppliedOnly the first one in the order dotNumber, mcNumber, companyName is used.Remove unused parameters.
maxItems is 0The value is treated as 100.Use a positive value for a specific cap.
A lookup does not resolve (USDOT, MC/MX, or name)SAFER returns “Record Not Found” or an empty match list, and no record is added, so no carrier-record charge applies.Check the identifier or broaden the name.
A later snapshot fetch fails in a name searchThat carrier is skipped; records already pushed remain.Review the records and rerun if needed.
FMCSA/SAFER is blocked or a fetch error occursThe affected lookup returns without adding its record.Retry and review supplied proxy settings.
Proxy setup failsThe Actor does not continue with a bare-IP request.Correct the proxy configuration and run again.
The buyer's charge limit is reached during a name searchThe run stops cleanly; records already pushed remain.Raise the charge limit and rerun.
SAFER lacks a field valueThe output can contain null or empty arrays.Treat missing values as source data.

Name-search records are pushed in batches of 20, then a final smaller batch, so you can read the dataset while the run continues.

FAQ

What do I pay for a carrier lookup?

You pay per carrier-record plus one start event per run; the Pricing section has the rates and totals.

The Actor retrieves records from FMCSA/SAFER Company Snapshot pages through unauthenticated web requests. Whether a use is legal or allowed depends on source terms and applicable law for the buyer’s use case; review those requirements before using the data.

Can I run several lookups in one run?

Only a company-name search returns several carriers, up to maxItems. For a list of USDOT or MC numbers, start one run per number or use Apify Schedules.