Score a carrier before you tender the load.
Send a USDOT or MC number. Get back a 0–100 DT Score, a booking decision and the reasons for it, built from FMCSA authority, insurance, safety, crash and inspection data.
Sandbox Ghost Transport LLC
USDOT 1000005
MC1000005
GET /v1/dt-score?dot_number=1000005
Disqualified — do not book
- Common and Contract Authority are both inactive.
- No active BIPD insurance filing.
What the API does#
The DT Score API answers one question a broker, shipper or freight platform asks before every tender: is this carrier safe to book?
You send a USDOT or MC number. The API looks the carrier up in FMCSA's authority, insurance, safety, crash, inspection and registration data, runs it through DollarTraq's scoring model, and returns:
- a DT Score from 0 to 100, and a letter grade,
- a decision: approved review high risk or rejected,
- the reasons: every check that found a problem, in plain words, with the facts behind it.
It is the same score DollarTraq brokers see on every carrier profile in the app.
Two environments#
| Sandbox | Live | |
|---|---|---|
| Base URL | https://sandbox-api.dollartraq.com |
https://api.dollartraq.com |
| Keys | dt_test_… |
dt_live_… |
| Carriers | Six fixed test carriers | Every carrier in the FMCSA data |
| Counts against your quota | Never | Each successful score |
Build and test against the sandbox; its carriers cover every decision and error your code needs to handle. Switch to live by changing the base URL and the key, nothing else. See Sandbox and test carriers.
One request#
curl https://sandbox-api.dollartraq.com/v1/dt-score?dot_number=1000003 \
-H "Authorization: Bearer $DT_SCORE_KEY"
const response = await fetch(
"https://sandbox-api.dollartraq.com/v1/dt-score?dot_number=1000003",
{ headers: { Authorization: `Bearer ${process.env.DT_SCORE_KEY}` } }
);
const score = await response.json();
console.log(score.score, score.decision); // 66 "review"
import os, requests
response = requests.get(
"https://sandbox-api.dollartraq.com/v1/dt-score",
params={"dot_number": "1000003"},
headers={"Authorization": f"Bearer {os.environ['DT_SCORE_KEY']}"},
timeout=30,
)
score = response.json()
print(score["score"], score["decision"]) # 66 review
$context = stream_context_create(['http' => [
'header' => 'Authorization: Bearer ' . getenv('DT_SCORE_KEY'),
'ignore_errors' => true,
]]);
$score = json_decode(file_get_contents(
'https://sandbox-api.dollartraq.com/v1/dt-score?dot_number=1000003', false, $context
), true);
echo $score['score'], ' ', $score['decision']; // 66 review
Where to go next#
- Quickstart: from a key to a decision in your code in about ten minutes.
- How the score works: what the number, grade and decision mean, and what moves them.
- API reference: every endpoint, field and error, with a request runner.