FMCSA Carrier Authority, Insurance & Safety Monitor
Pricing
from $4.74 / 1,000 current fmcsa carrier profiles
FMCSA Carrier Authority, Insurance & Safety Monitor
Look up and bulk-export official FMCSA carrier profiles, identify fresh registrations, and track explicit MOTUS authority, insurance, suspension and public safety changes.
Pricing
from $4.74 / 1,000 current fmcsa carrier profiles
Rating
0.0
(0)
Developer
Luka
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Find carriers, export up to 500,000 official profiles, build fresh-registration lead lists, and monitor explicit FMCSA authority, insurance, suspension, OOS, inspection, crash, and public-safety changes in one Actor.
The Actor reads only structured first-party FMCSA/DOT datasets over direct HTTPS. It does not call another Actor, scrape SAFER pages, use a browser or proxy, require a QCMobile key, or enrich records from third parties.
🚀 Quick start
Keep the safe default, replace the USDOT number if needed, and run:
{"workflow": "CURRENT_PROFILE","usdotNumbers": ["21800"],"maxResults": 1}
Open the Dataset for carrier rows and the run Output for coverage, source, limit, and billing details.

This product screenshot uses the Actor's current Input and Dataset schemas with a clearly marked deterministic fixture. It shows the buyer-facing field layout and is not a live carrier record.
🎯 Choose the right workflow
Current Profile
Look up carriers by USDOT number, MC/MX/FF docket, or legal/DBA company name. A full normalized profile can include:
- public contact and address fields, fleet size, operating status, carrier operation, entity type, hazmat, MCS-150 date, and registration date;
- current modern MOTUS authority by stable docket and authority-type identity;
- current insurance policies plus separately labeled insurance-history events;
- New Entrant carrier-operation OOS orders;
- safety rating, bounded roadside inspection/OOS and crash-involvement summaries;
- public SMS measures where the official cohort publishes them;
- transparent source-fact lead signals, without an opaque score.
Bulk Export
Export the same normalized carrier profile contract with filters for company name, state, carrier operation, active status, hazmat, fleet size, registration dates, authority type, included data, and detail level.
The real one-run boundary is 500,000 carrier rows. Company Census is read first. Up to 10,000 matching carriers use targeted side-source queries; larger scopes stream the required official full datasets through a disk-partitioned, target-scoped join. Results are delivered in bounded chunks instead of being accumulated in memory. Exactly 500,000 rows are accepted and tested; row 500,001 produces CAPPED and is never delivered.
New Registrations
Find Company Census records added in the last 1–365 days, with the same useful carrier filters. NEW_REGISTRATION means a new USDOT/census registration. It does not mean operating authority was granted. authorityGranted=true appears only when an exhausted targeted AuthHist query confirms the grant; incomplete proof is null, never a guessed false.
Changes
Monitor up to 5,000 USDOT/docket/company targets or use the bounded nationwide daily-difference cycle. The first identical scope seeds versioned state. A repeat run with that same scope, executed sequentially, emits deterministic NEW, UPDATED, or safely confirmed ENDED transitions.
Daily-difference identities are reconciled against matching rows from the corresponding official full baseline. The Actor does not rescan every multi-million-row full file for one small delta, and it never treats an unreconciled tombstone as a deletion.
The Actor does not offer ALL_CHANGES or a generic REVOKED event. Current RevokeSuspend source values are voluntary or involuntary suspension notices. Effective authority inactivity requires explicit AuthHist status evidence.
📦 Output you can use
The mixed Dataset keeps recordType visible:
| Record type | Buyer result |
|---|---|
carrier_profile | Current or bulk carrier profile |
new_registration | New Company Census registration lead |
change | Explicit official event plus state transition |
Stable identities are source-specific and target-scoped: USDOT for carriers, normalized docket plus authority type for authority, hashed policy identity for insurance, and official inspection/crash IDs where published. Duplicate identities with different payloads fail closed.
This is a synthetic fixture showing the declared shape only. Its identifiers and values are invented.
{"schemaVersion": "1.0","recordType": "change","stableId": "authority_history:synthetic","changeId": "transition:synthetic","changeType": "NEW","eventType": "AUTHORITY_REINSTATED","eventCategory": "AUTHORITY","attentionLevel": "MEDIUM","usdotNumber": "99999999","docketNumber": "MC99999999","authorityStatus": "Active","sourceReasonClass": "REINSTATED","statusChangeDate": "2026-08-28","observedAt": "2026-08-28T12:00:00.000Z"}
🎛️ Input guide
| Input | Workflows | What it changes |
|---|---|---|
workflow | All | Selects Current Profile, Bulk Export, New Registrations, or Changes. |
usdotNumbers | Current, Changes | Exact carriers; all watchlist target types combined cannot exceed 5,000. |
docketNumbers | Current, Changes | Exact MC/MX/FF dockets, resolved to USDOT where officially linked. |
companyNames | Current, Bulk, Changes | Legal/DBA contains-match. It narrows results and cannot prove global absence. |
changeScope | Changes | Watchlist or bounded nationwide official cycle. |
eventTypes | Changes | Explicit event allow-list; unsupported or new source values fail closed. |
maxEvents | Changes | Delivery/charge cap from 1 to 5,000; reaching it reports CAPPED. |
maxStateTargets | Changes | Versioned state capacity from 1 to 5,000 monitored targets. |
daysBack | New Registrations | Company Census add-date lookback from 1 to 365 days. |
states | Current, Bulk, New | Optional physical-address state filter. |
carrierOperations | Current, Bulk, New | Exact official Company Census carrier-operation values or codes. |
authorityTypes | Profiles, Changes | Exact modern MOTUS authority types. |
activeOnly | Current, Bulk, New | Company Census active status; not a substitute for authority status. |
hazmatOnly | Current, Bulk, New | Keeps official hazmat-indicated carrier rows. |
minPowerUnits, maxPowerUnits | Current, Bulk, New | Fleet-size range. |
registeredAfter, registeredBefore | Current, Bulk, New | Company Census add-date range in YYYY-MM-DD. |
includeAuthority | Current, Bulk | Adds current modern MOTUS authority joins. |
includeInsurance | Current, Bulk | Adds current/pending policy joins; cancellations remain separate filings. |
includeSafetySummary | Current, Bulk | Adds OOS, rating, SMS, inspection, and crash summaries. This increases source work. |
includeSafetyEvents | Changes | Enables selected stable-ID inspection, violation, and crash events. |
includeSmsMeasures | Profiles, Changes | Adds public monthly measures where officially available. |
includePendingAuthorities | Changes | Permits AUTHORITY_PENDING; pending does not mean permission to operate. |
safetyLookbackMonths | Current, Bulk | Inspection/crash window from 1 to 60 months. Longer windows increase transfer, disk, and runtime. |
outputProfile | Current, Bulk | Essential, Standard, or Full declared fields. |
maxResults | Result workflows | Current ≤5,000; Bulk Export ≤500,000; New Registrations ≤10,000. |
maxBuyerChargeUsd | All | Stops before source work if the configured worst-case Actor charge exceeds the guard. |
Hidden request, byte, page, runtime, disk, and estimated-spend limits are fail-closed resource guards. They cannot silently turn stopped work into complete coverage.
💰 Pricing
The active schedule uses the same complete event prices on Free, Bronze, Silver, Gold, Platinum, and Diamond.
| Workflow | Verified official-source completion | Delivered result |
|---|---|---|
| Current Profile | $0.00875 | $0.00474125 per profile |
| Bulk Export | $0.00875 | $0.00474125 per carrier |
| New Registrations | $0.00875 | $0.00379144 per registration |
| Changes | $0.00875 | $0.0189125 per change |
A completed official scope uses one $0.00875 source-completion event plus its delivered-result events. The fixed event is charged only after usable official evidence exists; blocked or failed source work is free. A positively empty result, Changes seed, or unchanged repeat therefore costs only $0.00875.
Examples: a positively empty successful run is $0.00875; 1,000 Current Profile or Bulk Export records are $4.75; 1,000 New Registrations are $3.80019; and 100 verified Changes are $1.90. Duplicate, suppressed, and undelivered rows add no result event. Result events are delivered atomically with their Dataset rows; state commits only after delivery acknowledgement.
✅ Coverage and limits
| Status | Exact meaning |
|---|---|
COMPLETE | Every required source branch and cursor/file boundary for the requested comparable scope finished. |
FILTERED | Source work finished, but buyer filters intentionally limited visible rows. |
CAPPED | A declared result, event, request, page, byte, runtime, disk, or charge limit stopped work. |
PARTIAL | Some trustworthy branches finished and at least one required branch did not. |
BLOCKED | The official source could not be reached because of access or rate-limit behavior. |
FAILED | Input, source contract, parser, reconciliation, state, or runtime failed without a trustworthy complete result. |
EMPTY_CONFIRMED | The expected source shape was reached and positively proved zero matching rows. |
Every Socrata traversal uses an explicit stable order with a :id tiebreaker, bounded pages, an N+1 overlap check, page receipts, and metadata before/after locking. The platform's default 1,000-row response is never accepted as full-dataset proof. If a required bulk side join is incomplete, the Actor suppresses composite profiles instead of showing empty arrays as if the join were complete.
Current-entity ENDED needs two consecutive comparable complete absences. Historical authority, insurance, inspection, and crash events are not erased because a later file omits them. PARTIAL, FILTERED, CAPPED, BLOCKED, and FAILED runs preserve prior state.
State is schema-versioned, migration-tested, split into bounded shards, and committed only after confirmed event-aware delivery. A durable outbox prevents duplicate charge, duplicate row delivery, or duplicate state advance across retry/fault boundaries.
Exact safety and authority meanings
- Insurance cancellation is a filing, not proof that replacement coverage is absent.
TERM/REPLis a termination/replacement history row; a replacement policy is not invented.- A suspension notice is not automatically an effective inactive authority.
- Roadside inspection OOS is not a carrier-operation OOS order.
- A New Entrant OOS order is not an authority suspension.
- A crash record proves reported involvement, not fault.
- Private driver data, unfiled email addresses, and unavailable property-carrier percentiles are not invented.
🔌 Automation and repeat runs
For repeat monitoring, save a tested Changes input as an Apify Task or in your own scheduler. On each repeat run, use the exact same scope and execute it sequentially so state comparisons remain trustworthy. Upsert downstream by stableId, eventId, or changeId. Dataset exports support JSON, CSV, Excel, XML, and RSS; the run-wide report is in the default key-value store's OUTPUT record.
❓ Support and FAQ
For support, share the Apify run ID, selected workflow, requested scope, and coverage.state. Do not include credentials, private driver data, or unrelated account information. Check the run-wide OUTPUT record first because it identifies reached sources, caps, and incomplete branches.
Why is the result FILTERED instead of COMPLETE?
Name, state, date, authority, and event filters intentionally narrow the result. Filtered emptiness cannot prove deletion.
Why was there no change on the first run?
The first exact Changes scope seeds trusted state. Later comparable runs produce transitions.
Why is there no generic REVOKED event?
The current official source contract distinguishes suspension notices and explicit AuthHist status transitions. A future official value must receive an allow-listed mapping and regression test before becoming a buyer event.
Does local npm start fetch FMCSA?
No. Live extraction fails closed outside Apify Cloud. Local validation uses deterministic fixtures only.