API reference

Carriers

Last updated:

The motor carrier register: name → DOT number → fleet

GET/v2/carrierssince 2026-10-27

Find a carrier by name, DOT number or VIN

One door into the motor carrier register. `q` is read as a US DOT number when it is all digits, as a VIN when it is 17 characters (the carriers that unit was observed under), and otherwise as a name to match against legal and trade names, best match first. `state` and `country` narrow a name match. Each item links to the carrier read and its fleet. Costs 1 credit.

Query parameters

qstringrequired

A carrier name or part of one, a DOT number, or a VIN

statestringoptional

State or province, two letters

countrystringoptional

Country: US, CA or MX

limitintegeroptional

Match cap

curl "https://api.cardog.app/v2/carriers?q=bison%20transport&country=CA" \
  -H "x-api-key: $CARDOG_API_KEY" \
  -H "Cardog-Version: 2026-10-26"

Response

200CarrierSearch
queryobject
qstring
matchedAs"name" | "dotNumber" | "vin"

How q was read: as a name to match, a DOT number to look up, or a VIN to walk from.

statestring | null
countrystring | null
carriersobject
countinteger

Items returned (bounded by limit)

itemsobject[]

Best match first

dotNumberinteger
refstring

"org:usdot/{dotNumber}"

legalNamestring | null
dbaNamestring | null

Trade name, when the carrier filed one

domicileobject
citystring | null
statestring | null

State or province, two letters

countrystring | null

"US", "CA" or "MX"

operation"interstate" | "intrastate-hazmat" | "intrastate" | "unknown"

The carrier's operating classification on its filing: "interstate" (A), "intrastate-hazmat" (B), "intrastate" (C), or "unknown".

powerUnitsinteger | null

Declared power units on the latest filing

linksobject

carrier: the full read. vehicles: the fleet walk.

linksobjectoptional

Related resources, keyed by relation name, each a server-relative path. Example: {"recalls": "/v2/recalls/entity/model-year:toyota/rav4/2021"}

Example response

2 keys
"response": {
"query": {
"q": "bison transport",
"matchedAs": "name",
"state": null,
"country": "CA"
},
"carriers": {
"count": 2,
"items": [2 items]
}
}

Errors400401402429500every non-2xx body is the error envelope

GET/v2/carriers/{dotNumber}since 2026-10-27

The carrier: identity, what it declared, what the road record shows

The carrier on the federal register by DOT number: legal and trade name, domicile (city, state, country), operating classification, the scale it declared on its latest filing (`declared`, self-reported and dated by `filedOn`), and what roadside inspections and crash reports recorded under it (`observed`: distinct units, inspections, crashes, first and last seen). Declared and observed never mix. A DOT number the road record names but the register does not answers 200 with `legalName` and every `declared` field null, the same DOT numbers `/vehicles` answers for; 404 when the DOT number is on neither. Costs 5 credits.

Path parameters

dotNumberintegerrequired

The carrier's US DOT number, e.g. 245330

curl "https://api.cardog.app/v2/carriers/245330" \
  -H "x-api-key: $CARDOG_API_KEY" \
  -H "Cardog-Version: 2026-10-26"

Response

200Carrier
dotNumberinteger
refstring
legalNamestring | null

null when the DOT number is on the road record but not on the register

dbaNamestring | null
domicileobject
citystring | null
statestring | null

State or province, two letters

countrystring | null

"US", "CA" or "MX"

operation"interstate" | "intrastate-hazmat" | "intrastate" | "unknown"

The carrier's operating classification on its filing: "interstate" (A), "intrastate-hazmat" (B), "intrastate" (C), or "unknown".

declaredobject

What the carrier filed about itself. Self-reported; dated by filedOn. Every field null when the DOT number is not on the register.

powerUnitsinteger | null
driversinteger | null
mileageobject | null

Annual mileage as filed. Self-reported and often years old; read filedOn before using it as a denominator.

valueinteger

Miles

yearinteger | null

The year the mileage figure is for

filedOnstring | null

Date of the latest filing these figures come from, YYYY-MM-DD

registeredOnstring | null

Date the DOT number was first registered, YYYY-MM-DD

hazmatboolean | null

Filed as carrying hazardous materials

passengersboolean | null

Filed as a passenger carrier

observedobject

What the roadside record shows. Counts, never rates.

vehiclesinteger

Distinct VINs seen under this carrier on an inspection or crash report

inspectionsinteger

Every roadside inspection under this carrier, with or without a VIN on it; vehicles, firstSeen and lastSeen count only rows that carry a VIN, so do not divide one by the other

crashesinteger
firstSeenstring | null

Earliest event under this carrier, YYYY-MM-DD

lastSeenstring | null

Latest event under this carrier, YYYY-MM-DD

linksobjectoptional

Related resources, keyed by relation name, each a server-relative path. Example: {"recalls": "/v2/recalls/entity/model-year:toyota/rav4/2021"}

Example response

9 keys
"response": {
"dotNumber": 245330,
"ref": "org:usdot/245330",
"legalName": "BISON TRANSPORT INC",
"dbaName": null,
"domicile": {
"city": "WINNIPEG",
"state": "MB",
"country": "CA"
},
"operation": "interstate",
"declared": {
"powerUnits": 1428,
"drivers": 1110,
"mileage": {2 items},
"filedOn": "2026-04-22",
"registeredOn": "1984-04-12",
"hazmat": false,
"passengers": false
},
"observed": {
"vehicles": 2370,
"inspections": 1573,
"crashes": 381,
"firstSeen": "1995-01-27",
"lastSeen": "2026-07-09"
},
"links": {
"vehicles": "/v2/carriers/245330/vehicles",
"search": "/v2/carriers?q=245330"
}
}

Errors400401402404429500every non-2xx body is the error envelope

GET/v2/carriers/{dotNumber}/vehiclessince 2026-10-27

Every unit observed under a carrier

The fleet walk: every VIN an inspector or a crash report put under this DOT number, most recently seen first, with the roles it was seen in, first and last seen, its event counts, and a link to every carrier it was observed under. These are observed associations on dated rows, not a confirmed current fleet and not ownership. Pages by `cursor`; `vehicles.count` is the total across pages. 404 when the DOT number is on neither the register nor the road record. Costs 5 credits per page.

Path parameters

dotNumberintegerrequired

The carrier's US DOT number, e.g. 245330

Query parameters

limitintegeroptional

Page size

cursorstringoptional

page.nextCursor from the previous page

curl "https://api.cardog.app/v2/carriers/245330/vehicles?limit=100" \
  -H "x-api-key: $CARDOG_API_KEY" \
  -H "Cardog-Version: 2026-10-26"

Response

200CarrierVehicles
dotNumberinteger
carrierobject | null

null when the DOT number is not on the register but units were observed under it

dotNumberinteger
refstring

"org:usdot/{dotNumber}"

legalNamestring | null
dbaNamestring | null

Trade name, when the carrier filed one

domicileobject
citystring | null
statestring | null

State or province, two letters

countrystring | null

"US", "CA" or "MX"

operation"interstate" | "intrastate-hazmat" | "intrastate" | "unknown"

The carrier's operating classification on its filing: "interstate" (A), "intrastate-hazmat" (B), "intrastate" (C), or "unknown".

powerUnitsinteger | null

Declared power units on the latest filing

linksobject

carrier: the full read. vehicles: the fleet walk.

vehiclesobject
countinteger

Distinct units observed under this carrier, all pages

itemsobject[]

Most recently seen first

vinstring
roles"power" | "towed"[]

The roles this unit was observed in under this carrier: ["power"], ["towed"], or both

firstSeenstring | null

YYYY-MM-DD

lastSeenstring | null

YYYY-MM-DD

inspectionsinteger
crashesinteger
linksobject

operators: every carrier this unit was observed under

pageobject
limitinteger
nextCursorstring | null

Pass as cursor for the next page; null on the last page

linksobjectoptional

Related resources, keyed by relation name, each a server-relative path. Example: {"recalls": "/v2/recalls/entity/model-year:toyota/rav4/2021"}

Example response

5 keys
"response": {
"dotNumber": 245330,
"carrier": {
"dotNumber": 245330,
"ref": "org:usdot/245330",
"legalName": "BISON TRANSPORT INC",
"dbaName": null,
"domicile": {3 items},
"operation": "interstate",
"powerUnits": 1428,
"links": {2 items}
},
"vehicles": {
"count": 2370,
"items": [5 items]
},
"page": {
"limit": 5,
"nextCursor": "eyJsYXN0U2VlbiI6IjIwMjYtMDYtMjIiLCJ2aW4iOiIxRlVKSFBEVjFNTE1FMzg0NCJ9"
},
"links": {
"carrier": "/v2/carriers/245330"
}
}

Errors400401402404429500every non-2xx body is the error envelope

Generated from the contract. Machine-readable spec: GET https://api.cardog.app/v2/openapi.json · markdown twin: /docs/reference/carriers.md