Overview
Pass `dot` (USDOT number), `docket` (MC, MX or FF with digits, in any format such as MC-135797 or mc 0135797) or `mc` (digits of an MC number). A docket is resolved to its USDOT number through FMCSA's licensing file, and every docket the census lists for the carrier is joined in. No record returns 404; an entity can exist in licensing without a census record, in which case the census fields are null.
The record joins six FMCSA datasets published on data.transportation.gov: the Company Census File (identity, operation, fleet, drivers, MCS-150, safety rating, cargo and equipment), the Carrier file (common, contract and broker authority status, pending applications and revocations, BI&PD required and on file, cargo and bond requirements), ActPendInsur (active and pending insurance policies; coverage is published in thousands of dollars and converted), AuthHist (authority actions, which date the first grant behind `authority.firstGrantedDate` and `authorityAgeDays`), Revocation, and Out of Service Orders (only active orders). Authority is reported as active when any of the carrier's dockets has it active; insurance is that of the primary docket. Officer names and cell phone numbers are never collected.
`checks=true` adds `compliance`: usdot_active, operating_authority_active, no_revocation_pending, not_out_of_service, bipd_insurance (BI&PD on file at least `minBipd`, default 750000), cargo_insurance (highest cargo policy at least `minCargo`, skipped at the default 0), no_pending_cancellation, mcs150_current (within `maxMcs150Months`, default 24), authority_age (at least `minAuthorityDays`, default 0) and safety_rating_not_unsatisfactory. `passed` is true only when every check passes and `failed` lists the rest. `fleet.sizeBand` is our band of power units, and `mcs150.ageDays` and `authority.authorityAgeDays` are computed at request time.
Live Test Motor Carrier Lookup Skill →
The tool
Once your client is connected to the VerveKit server, this appears in its tool list as MotorCarrierLookup. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.
{
"name": "MotorCarrierLookup",
"arguments": {}
}Connecting
One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.
{
"mcpServers": {
"vervekit": {
"url": "https://api.vervekit.com/v1/mcp"
}
}
}https://api.vervekit.com/v1/mcpPer-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.
Arguments
These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.
| Argument | Type | Description |
|---|---|---|
dotOptional | string | USDOT number, for example 80806. Use dot, docket or mc length 0–12 |
docketOptional | string | Docket number with its prefix: MC, MX or FF, for example MC135797 length 0–12 |
mcOptional | string | MC number without the prefix, for example 135797 length 0–10 |
checksOptionalPremium | boolean | Add pass/fail compliance checks against the thresholds below |
historyOptionalPremium | boolean | Add authority history and revocations |
minBipdOptionalPremium | integer | Compliance threshold: minimum BI&PD insurance on file in US dollars default 750000 · range 0–∞ |
minCargoOptionalPremium | integer | Compliance threshold: minimum cargo insurance in US dollars; 0 skips the check range 0–∞ |
maxMcs150MonthsOptionalPremium | integer | Compliance threshold: the MCS-150 must be updated within this many months default 24 · range 1–∞ |
minAuthorityDaysOptionalPremium | integer | Compliance threshold: minimum days since operating authority was first granted range 0–∞ |
What the model gets back
The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.
{
"status": "ok",
"error": null,
"data": {
"dotNumber": 80806,
"legalName": "J B HUNT TRANSPORT INC",
"dbaName": "J B HUNT",
"status": "active",
"entityTypes": [
"freight_forwarder",
"carrier",
"shipper",
"broker"
],
"operation": "interstate",
"operationClassifications": [
"AUTHORIZED FOR HIRE"
],
"businessType": "corporation",
"registrationDate": "1974-06-01",
"physicalAddress": {
"street": "615 J B HUNT CORPORATE DRIVE",
"city": "LOWELL",
"state": "AR",
"zip": "72745",
"country": "US"
},
"mailingAddress": {
"street": "615 J B HUNT CORPORATE DRIVE",
"city": "LOWELL",
"state": "AR",
"zip": "72745",
"country": "US"
},
"phone": "4798200000",
"fax": "4798204566",
"email": "[email protected]",
"dockets": [
{
"docket": "MC135797",
"prefix": "MC",
"status": "active"
},
{
"docket": "FF051075",
"prefix": "FF",
"status": "active"
}
],
"fleet": {
"powerUnits": 25280,
"trucks": 25280,
"buses": 0,
"drivers": 24116,
"cdlDrivers": 23669,
"interstateDrivers": 24116,
"intrastateDrivers": 0,
"sizeBand": "1000+"
},
"hazmat": true,
"mcs150": {
"date": "2025-07-07",
"ageDays": 495,
"mileage": 1629835251,
"mileageYear": 2024
},
"safety": {
"rating": "satisfactory",
"ratingDate": "1992-05-08",
"reviewType": "compliance_review",
"reviewDate": "1992-01-31",
"recordableCrashRate": null
},
"outOfService": false,
"outOfServiceOrders": [],
"cargoClasses": [
"General Freight",
"Metal: Sheets, Coils, Rolls",
"Motor Vehicles",
"Logs, Poles, Beams, Lumber",
"Building Materials",
"Fresh Produce",
"Liquids/Gases",
"Intermodal Containers",
"Oilfield Equipment",
"Livestock",
"Grain, Feed, Hay",
"Meat",
"US Mail",
"Chemicals",
"Commodities Dry Bulk",
"Refrigerated Food",
"Beverages",
"Paper Products",
"Agricultural/Farm Supplies",
"Construction",
"Other: IEP"
],
"equipment": {
"straightTrucks": {
"owned": 874,
"termLeased": 415,
"tripLeased": 0
},
"tractors": {
"owned": 20871,
"termLeased": 3120,
"tripLeased": 0
},
"trailers": {
"owned": 146851,
"termLeased": 5330,
"tripLeased": 0
}
},
"dunsNumber": "6338552",
"priorRevocation": null,
"authority": {
"common": "active",
"contract": "active",
"broker": "active",
"applicationPending": {
"common": false,
"contract": false,
"broker": false
},
"revocationPending": {
"common": false,
"contract": false,
"broker": false
},
"authorizedFor": {
"property": true,
"passengers": false,
"householdGoods": true,
"private": false,
"enterprise": false
},
"firstGrantedDate": "1976-12-06",
"authorityAgeDays": 18240
},
"insurance": {
"bipdRequiredUsd": 1000000,
"bipdOnFileUsd": 3500000,
"cargoRequired": true,
"cargoOnFile": true,
"cargoCoverageUsd": null,
"bondRequired": true,
"bondOnFile": true,
"pendingCancellation": false,
"nextCancellationDate": null,
"policies": [
{
"type": "BIPD/Excess",
"form": "91X",
"insurer": "ACE AMERICAN INSURANCE COMPANY",
"policyNumber": "XSAH11347472",
"postedDate": "2026-04-21",
"effectiveDate": "2025-12-31",
"cancellationDate": null,
"coverageUsd": 2500000,
"underlyingLimitUsd": 500000
},
{
"type": "CARGO",
"form": "83",
"insurer": "TRAVELERS CASUALTY & SURETY CO. OF AMERICA",
"policyNumber": "105917743",
"postedDate": "2023-10-23",
"effectiveDate": "2023-10-23",
"cancellationDate": null,
"coverageUsd": 0,
"underlyingLimitUsd": 0
},
{
"type": "SURETY",
"form": "84",
"insurer": "TRAVELERS CASUALTY & SURETY CO. OF AMERICA",
"policyNumber": "105917743",
"postedDate": "2013-12-31",
"effectiveDate": "2014-01-13",
"cancellationDate": null,
"coverageUsd": 0,
"underlyingLimitUsd": 0
},
{
"type": "BIPD/Primary",
"form": "91X",
"insurer": "SELF-INSURED",
"policyNumber": "NONE",
"postedDate": "2019-07-15",
"effectiveDate": "1993-03-01",
"cancellationDate": null,
"coverageUsd": 1000000,
"underlyingLimitUsd": 0
}
]
},
"dataAsOf": {
"census": "2026-11-14T07:58:48.003Z",
"licensing": "2026-11-14T07:58:48.003Z",
"outOfService": "2026-11-14T07:58:54.373Z"
}
}
}
Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
dotNumber | number | 80806 | USDOT number |
legalName | string | J B HUNT TRANSPORT INC | Legal name |
dbaName | string | J B HUNT | Doing-business-as name |
status | string | active | USDOT status: active, inactive or pending |
entityTypes | array | ["freight_forwarder","carrier","shipper"] | carrier, broker, shipper, registrant, freight_forwarder, cargo_tank or intermodal_equipment_provider |
operation | string | interstate | interstate, intrastate_hazmat or intrastate_non_hazmat |
operationClassifications | array | ["AUTHORIZED FOR HIRE"] | FMCSA operation classifications, for example AUTHORIZED FOR HIRE or PRIVATE PROPERTY |
businessType | string | corporation | corporation, individual or partnership |
registrationDate | string | 1974-06-01 | Date the USDOT number was added (YYYY-MM-DD) |
physicalAddress | object | {…} | Physical address |
physicalAddress.street | string | 615 J B HUNT CORPORATE DRIVE | Street |
physicalAddress.city | string | LOWELL | City |
physicalAddress.state | string | AR | State |
physicalAddress.zip | string | 72745 | ZIP code |
physicalAddress.country | string | US | Country code |
mailingAddress | object | {…} | Mailing address, with the same fields |
mailingAddress.street | string | 615 J B HUNT CORPORATE DRIVE | |
mailingAddress.city | string | LOWELL | |
mailingAddress.state | string | AR | |
mailingAddress.zip | string | 72745 | |
mailingAddress.country | string | US | |
phonePremium | string | 4798200000 | Business phone number |
faxPremium | string | 4798204566 | Business fax number |
emailPremium | string | [email protected] | Business email address |
dockets | array[2] | MC, MX and FF dockets | |
dockets.0.docket | string | MC135797 | Docket number with prefix, for example MC135797 |
dockets.0.prefix | string | MC | MC, MX or FF |
dockets.0.status | string | active | Docket status: active or inactive |
fleet | object | {…} | Vehicles and drivers |
fleet.powerUnits | number | 25280 | Power units |
fleet.trucks | number | 25280 | Trucks |
fleet.buses | number | 0 | Buses |
fleet.drivers | number | 24116 | Total drivers |
fleet.cdlDrivers | number | 23669 | Drivers with a CDL |
fleet.interstateDrivers | number | 24116 | Interstate drivers |
fleet.intrastateDrivers | number | 0 | Intrastate drivers |
fleet.sizeBand | string | 1000+ | Fleet size band by power units: 0, 1, 2-5, 6-10, 11-50, 51-100, 101-500, 501-1000 or 1000+ |
hazmat | boolean | true | Whether the carrier hauls hazardous materials |
mcs150 | object | {…} | Latest MCS-150 biennial update |
mcs150.date | string | 2025-07-07 | Date of the latest MCS-150 (YYYY-MM-DD) |
mcs150.ageDays | number | 495 | Days since the latest MCS-150 |
mcs150.mileagePremium | number | 1629835251 | Annual vehicle miles reported on the MCS-150 |
mcs150.mileageYearPremium | number | 2024 | Year the mileage covers |
safety | object | {…} | Safety rating and review |
safety.rating | string | satisfactory | satisfactory, conditional or unsatisfactory; null when unrated |
safety.ratingDate | string | 1992-05-08 | Date of the safety rating |
safety.reviewType | string | compliance_review | Type of the latest review, for example compliance_review |
safety.reviewDate | string | 1992-01-31 | Date of the latest review |
safety.recordableCrashRatePremium | object | null | Recordable crash rate from the latest review |
outOfService | boolean | false | Whether the carrier has an active out-of-service order |
outOfServiceOrders | array | [] | Active out-of-service orders |
cargoClassesPremium | array | ["General Freight","Metal: Sheets, Coils, Rolls","Motor Vehicles"] | Cargo the carrier hauls |
equipmentPremium | object | {…} | Equipment by kind (straightTrucks, tractors, trailers, motorcoaches, schoolBuses, buses, vans, limousines), each with owned, termLeased and tripLeased counts |
equipment.straightTrucksPremium | object | {…} | |
equipment.straightTrucks.ownedPremium | number | 874 | |
equipment.straightTrucks.termLeasedPremium | number | 415 | |
equipment.straightTrucks.tripLeasedPremium | number | 0 | |
equipment.tractorsPremium | object | {…} | |
equipment.tractors.ownedPremium | number | 20871 | |
equipment.tractors.termLeasedPremium | number | 3120 | |
equipment.tractors.tripLeasedPremium | number | 0 | |
equipment.trailersPremium | object | {…} | |
equipment.trailers.ownedPremium | number | 146851 | |
equipment.trailers.termLeasedPremium | number | 5330 | |
equipment.trailers.tripLeasedPremium | number | 0 | |
dunsNumberPremium | string | 6338552 | Dun & Bradstreet number |
priorRevocation | object | null | Set when the carrier had a USDOT number revoked before |
authority | object | {…} | Operating authority across the carrier dockets |
authority.common | string | active | Common carrier authority: active, inactive or none |
authority.contract | string | active | Contract carrier authority: active, inactive or none |
authority.broker | string | active | Broker authority: active, inactive or none |
authority.applicationPending | object | {…} | Pending applications by authority: common, contract and broker booleans |
authority.applicationPending.common | boolean | false | |
authority.applicationPending.contract | boolean | false | |
authority.applicationPending.broker | boolean | false | |
authority.revocationPending | object | {…} | Pending revocations by authority: common, contract and broker booleans |
authority.revocationPending.common | boolean | false | |
authority.revocationPending.contract | boolean | false | |
authority.revocationPending.broker | boolean | false | |
authority.authorizedFor | object | {…} | Authority kinds: property, passengers, householdGoods, private and enterprise booleans |
Failure modes
Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.
| Status | What it means |
|---|---|
400 / 422 | The arguments did not validate. The message names the offending one. |
401 | The OAuth session is invalid or expired — reconnect the server. |
403 | Blocked by a key restriction or an IP allow-list. Never a bad identity. |
404 | This skill is not part of VerveKit. Check the catalog. |
429 | Out of credits, or a brief rate limit. The message tells them apart. |
A call costs 1 credit each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.
Use cases
- Freight Brokers
- Vet a carrier before booking a load: active authority, insurance on file, no out-of-service order and a recent MCS-150, in one call.
- Load Boards and TMS
- Verify carriers at signup and re-check them on a schedule, flagging pending insurance cancellations and revocations.
- Factoring and Lending
- Check how long a carrier has held authority, its fleet size and its safety record before funding invoices.
- Insurance Underwriting
- Pull fleet, driver, mileage, cargo and crash-rate data to pre-fill and price commercial auto quotes.
Other ways to use Motor Carrier Lookup
Set up Motor Carrier Lookup on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.
Related
More in Transportation: