FMCSA SAFER Risk Event Monitor
Pricing
from $25.00 / 1,000 risk event delivereds
FMCSA SAFER Risk Event Monitor
Watch a book of USDOT numbers and emit typed FMCSA risk events (insurance, OOS, safety rating, SMS BASIC alerts, authority, MCS-150 stale) from official public SAFER / census / Motus open data. Scheduled poll — not real-time. Pay only for unique delivered risk events.
Pricing
from $25.00 / 1,000 risk event delivereds
Rating
0.0
(0)
Developer
Daniel Witney
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Watch a book of USDOT numbers and receive typed risk events when official FMCSA public data shows material changes — insurance filings, out-of-service (OOS), safety rating, SMS BASIC alerts (optional QCMobile), operating authority, and MCS-150 staleness — not another census dump and not an insurance/authority-only clone.
Honest title: this is a scheduled poll / catch-up monitor, not a real-time push feed. Detection latency ≈ your schedule interval + FMCSA open-data lag (often ~24h for Motus / census).
Value proposition
- Multi-signal events:
INSURANCE_*,OOS_*,SAFETY_RATING_*,SMS_*,AUTHORITY_*,MCS150_*— broader than insurance/authority-only Store ghosts. - Official / public HTTP only (SAFER Company Snapshot, DOT census SODA, Motus InsHist / AuthHist / RevokeSuspend). Optional free QCMobile
webKeyfor SMS BASICs. No paid CarrierOK. - Pay only for unique delivered risk events. First observation stores a baseline (no charge). Quiet days ≈ $0.
- Durable KVS checkpoint +
event_uiddedupe.
PRODUCTION USE (required for real monitoring)
Store default ≠ product. Schema defaults use
sourceMode=fixtureso Apify Store daily auto-tests leave a non-empty health dataset without calling FMCSA. That fixture path only writes a non-billableRUN_STATUS/FIXTURE_HEALTHrow. It is not carrier monitoring.
For production monitoring you must:
- Set
sourceMode=live - Provide your
usdotNumberswatchlist / book - Schedule short runs (e.g. daily or every few hours) with fair-use
requestPaceMs - Optionally add secret
fmcsaQcMobileWebKeyfor SMS BASIC enrichment (QCMobile developer site)
Official references:
- SAFER Company Snapshot
- FMCSA Open Data / SMS Tools Downloads
- DOT Data Portal Motus datasets (InsHist, AuthHist, RevokeSuspend) and MCMIS census (
az4n-8mr2)
Data limitations (read before buying)
- Not real-time. Open-data tables and SAFER HTML update on FMCSA schedules; Motus incremental feeds are typically next-day.
- SMS BASICs require a free QCMobile webKey; without it, SMS_* events are not emitted.
- SAFER HTML layout can change; parsing is best-effort and may miss fields for inactive / unusual entities.
- First run stores baselines only — you will not be charged for “current state” snapshots.
- MCS150_STALE uses the official MCS-150 form date vs
mcs150StaleMonths(default 24). It is a justified heuristic from public filing dates, not a separate FMCSA “stale” flag. - Fair-use pacing applies; large books need longer
maxRunSecondsor more frequent smaller batches. - We cite FMCSA / U.S. DOT as the data origin. This Actor is not affiliated with or endorsed by FMCSA.
Apify Store daily auto-test / default input
| Field | Default |
|---|---|
usdotNumbers | ["44110","294837"] |
signalGroups | all six |
sourceMode | fixture |
emitFixtureDemoEvents | false |
maxRunSeconds | 55 |
maxEvents | 500 |
On that path the Actor SUCCEEDS quickly, pushes exactly one RUN_STATUS / FIXTURE_HEALTH row (billable: false), and does not charge risk-event-delivered.
Input (summary)
| Field | Notes |
|---|---|
usdotNumbers | Watchlist (required) |
signalGroups | insurance, oos, safety_rating, sms, authority, mcs150 |
mcs150StaleMonths | Default 24 |
smsAlertPercentile | Default 65 (QCMobile path) |
sourceMode | fixture (default) or live |
emitFixtureDemoEvents | Default false |
fmcsaQcMobileWebKey | Optional secret |
maxRunSeconds / maxEvents | Budgets |
resumeFromCheckpoint | Default true |
requestPaceMs | Fair-use delay (default 400) |
Production example
{"usdotNumbers": ["44110", "294837", "1000287"],"signalGroups": ["insurance", "oos", "safety_rating", "sms", "authority", "mcs150"],"sourceMode": "live","maxRunSeconds": 120,"requestPaceMs": 400,"resumeFromCheckpoint": true}
Output
Risk events (billable under PPE)
Typed rows include: usdot_number, legal_name, event_type, event_subtype, changed_fields, previous_value, new_value, effective_date, evidence, summary, source_url, event_uid, billable: true.
RUN_STATUS (never billed)
Every successful run pushes one health row (FIXTURE_HEALTH | MONITOR_IDLE | CATCHUP_COMPLETE | HEALTH_OK).
Pricing
Pay-per-event: risk-event-delivered at $0.025 per delivered unique risk event ($25 / 1,000). Single tier (see docs/monetization.md and ADR 0010). Health / baseline / duplicate / fixture rows are never charged.
Local development
cd actors/fmcsa-safer-risk-event-monitornpm installnpm testnpm run build# Store-safe fixture health:apify run -p# Demo typed events locally:# set input emitFixtureDemoEvents=true (still sourceMode=fixture)
Attribution
Data originates from the Federal Motor Carrier Safety Administration (FMCSA) and U.S. DOT open data. Not an official FMCSA product.