Carrier Risk Check: FMCSA vetting verdict + flags avatar

Carrier Risk Check: FMCSA vetting verdict + flags

Pricing

from $20.00 / 1,000 carrier checkeds

Go to Apify Store
Carrier Risk Check: FMCSA vetting verdict + flags

Carrier Risk Check: FMCSA vetting verdict + flags

Should I tender this load to this MC/DOT number? Pass, review or fail with the flags behind it: authority status and age, revocations, insurance on file and cancellations, out-of-service orders and rates, safety rating, name/address changes. From FMCSA public files. $0.02 per check.

Pricing

from $20.00 / 1,000 carrier checkeds

Rating

0.0

(0)

Developer

Jacob

Jacob

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Security

Limited permissions

Share

Should you tender this load to this MC or DOT number? Paste USDOT or MC numbers and get back pass, review or fail for each, with the flags behind the verdict. Everything comes from FMCSA's own public files on data.transportation.gov; no carrier website or login page is scraped.

What each row has

  • verdict and reasons (code, severity, detail, date)
  • USDOT and every MC/MX/FF number, legal and DBA names, physical address, phone
  • USDOT status, operating authority status per docket, authority grant date and age, suspensions and revocations in the last 24 months
  • BI&PD liability required and on file, cargo and bond flags, insurance policies and recent cancellations
  • 24-month vehicle and driver out-of-service rates next to FMCSA's national averages, 24-month crash counts, safety rating, out-of-service orders
  • match_confidence, source_url (the carrier's SAFER snapshot), source_as_of and the date of every FMCSA file used

Verdict rules

fail: not found; USDOT not active; no active motor-carrier authority; an out-of-service order with no rescind date; BI&PD on file below the required amount; safety rating Unsatisfactory.

review: authority younger than 6 months; a BI&PD cancellation in the last 90 days or pending; a suspension or revocation pending, or one in the last 12 months; vehicle or driver out-of-service rate above 1.5 times the national average (with at least 5 inspections); safety rating Conditional; a recent name or address change.

Data currency

FMCSA moved licensing and insurance into its MOTUS system in 2026. The legacy licensing and insurance files say they were "last refreshed on 05/14/2026 and will no longer be updated". This actor reads the MOTUS files, which update daily. For dockets FMCSA has not yet carried into MOTUS, it uses the 2026-05-14 authority status and labels it that way. Inspection counts come from FMCSA's monthly SMS files. The data is rebuilt each time the actor is built.

Pricing

$0.02 per check (found or not found). Rows with an invalid number are free.

Integrations

Use this actor from n8n, Make, Google Sheets, Clay or Zapier with your own Apify token (Apify Console > API & Integrations). Every integration makes the same call:

POST https://api.apify.com/v2/acts/pelicanlabs~carrier-risk-check/run-sync-get-dataset-items?memory=2048
Authorization: Bearer <your Apify token>
Content-Type: application/json
{"carriers":["3262418","MC-1409700"],"maxItems":2}

The response is a JSON array with one item per input row. The main fields are verdict, reason_codes, legal_name, usdot, mc_numbers, authority_status, authority_age_days, bipd_on_file_usd, safety_rating, vehicle_oos_rate, driver_oos_rate, crashes_24m, source_url, source_as_of.

Send a list in one request. Each request is one actor run, and each run has a start-up time of several seconds and a small Apify start fee. A batch of 500 rows costs the same start-up as a batch of 1. The n8n workflow and the Google Sheets menu send batches. Clay, Zapier and the Sheets formula send one row per run, which suits small volumes.

ToolWhat you getDownload
n8nWorkflow to import: reads a Google Sheet, sends up to 500 unchecked rows in one run, writes the results backcarrier-risk-check.json
MakeBlueprint (HTTP module, one run per batch); setup steps for the new HTTP app are belowcarrier-risk-check.blueprint.json
Google SheetsApps Script: =CARRIER_CHECK("MC-1409700") (USDOT or MC number) for single cells, and a menu item that checks a selected range in batches of 200pelican-checks.gs
ClayHTTP API enrichment column (steps below)-
ZapierWebhooks by Zapier, Custom Request (steps below)-

n8n: in the workflow menu (three dots), choose Import from File, or Import from URL with the link above. Open Run actor (run-sync) and create a Header Auth credential with Name Authorization and Value Bearer <your token>. In Read rows and Write results, choose your sheet. Row 1 needs the columns MC or USDOT plus the result columns listed in the workflow's note.

Make: create a scenario, open the three-dots menu, choose Import Blueprint and select the file. In the HTTP module, add an API key keychain that sends Authorization: Bearer <your token> in the header. Edit input_json in the first module, or map it from your sheet. Then add an Iterator on the HTTP module's Data to get one bundle per row. To build the same flow on the new HTTP app (version 4) instead, use the Make a request module with the method, URL, header and body shown above.

Google Sheets: in your sheet, open Extensions > Apps Script, paste the file and save, then reload the sheet. Choose Pelican checks > Set Apify token. Then either type the formula, or select your rows and choose Check selected rows: carrier (select one column of MC or USDOT numbers). Results are written to the columns to the right of your selection. Rows that already have a result are skipped, so you can run it again to continue. A formula must finish within Google's 30-second limit for custom functions, so use the menu for anything more than a few rows.

Clay: Add enrichment > HTTP API > Configure.

  • Method: POST
  • Endpoint: https://api.apify.com/v2/acts/pelicanlabs~carrier-risk-check/run-sync-get-dataset-items?memory=2048&timeout=60
  • Headers: Authorization = Bearer <your token>. You can save this as a header account so the token is not shown in the table.
  • Body: {"carriers": ["/MC or USDOT"]}. Replace the /Column Name parts with your own columns: type / to insert one.
  • Clay sends one request, and so one actor run, per row. The response is an array with one item. Run a single row first, then add the fields you want (verdict first) as columns.

Zapier: use the Webhooks by Zapier action Custom Request.

  • Method: POST
  • URL: https://api.apify.com/v2/acts/pelicanlabs~carrier-risk-check/run-sync-get-dataset-items?memory=2048&timeout=25
  • Data: the JSON body above, with your Zap's fields mapped in.
  • Headers: Authorization = Bearer <your token> and Content-Type = application/json.
  • Zapier stops a step after about 30 seconds, so send one row per Zap run. Apify's own Zapier app also has Run Actor and Fetch Results, which works if you prefer it.

Pricing: $0.02 per check (rows with an invalid number are free), billed by Apify to the account that owns the token.

Limits

  • Informational only. Not a certification, safety rating or approval of any carrier, and not legal advice. Status can change at any time; confirm on the carrier's SAFER snapshot before tendering.
  • No live FMCSA call unless the actor's owner sets an FMCSA_WEBKEY environment variable (then each row also carries a QCMobile live check).