Code Examples
Python
import requests
# Look up a carrier
resp = requests.get("https://api.dotlookup.dev/v1/carriers/2233855")
carrier = resp.json()
print(f"{carrier['legal_name']} — {carrier['status']}")
print(f" Fleet: {carrier['fleet']['power_units']} trucks, {carrier['fleet']['drivers']} drivers")
print(f" Safety rating: {carrier['safety']['rating']}")
# Search carriers with filters
resp = requests.get("https://api.dotlookup.dev/v1/carriers/search", params={
"q": "swift",
"state": "TX",
"fleet_min": 10,
"sort": "fleet_size_desc",
})
results = resp.json()
for c in results["data"]:
print(f" DOT# {c['dot_number']} {c['legal_name']} — {c['power_units']} units")
# Geo search — carriers within 25 miles of Dallas
resp = requests.get("https://api.dotlookup.dev/v1/carriers/search", params={
"lat": 32.7767,
"lon": -96.797,
"radius": 25,
"sort": "distance",
})
results = resp.json()
for c in results["data"]:
print(f" {c['legal_name']} — {c['distance_miles']:.1f} mi away")
# Safety data
resp = requests.get("https://api.dotlookup.dev/v1/carriers/2233855/safety")
safety = resp.json()
print(f"Driver OOS rate: {safety['inspections']['driver']['oos_rate']}%")
print(f"Total crashes: {safety['crashes']['total']}")
# Sign up for an API key
resp = requests.post("https://api.dotlookup.dev/v1/auth/signup", json={
"email": "you@example.com",
})
api_key = resp.json()["api_key"]
# Bulk lookup (requires API key)
resp = requests.post(
"https://api.dotlookup.dev/v1/carriers/bulk",
headers={"X-API-Key": api_key},
json={"dot_numbers": ["2233855", "1234567"]},
)
carriers = resp.json()
for c in carriers:
print(f" {c['dot_number']} {c['legal_name']}")
JavaScript / TypeScript
// Look up a carrier
const resp = await fetch("https://api.dotlookup.dev/v1/carriers/2233855");
const carrier = await resp.json();
console.log(`${carrier.legal_name} — ${carrier.status}`);
console.log(` Fleet: ${carrier.fleet.power_units} trucks`);
console.log(` Cargo: ${carrier.cargo_carried.join(", ")}`);
// Search carriers
const params = new URLSearchParams({ q: "swift", state: "TX", fleet_min: "10" });
const searchResp = await fetch(`https://api.dotlookup.dev/v1/carriers/search?${params}`);
const { data, pagination } = await searchResp.json();
console.log(`Found ${pagination.total} carriers`);
data.forEach(c => console.log(` ${c.dot_number} ${c.legal_name} (${c.safety_rating})`));
// Bulk lookup (requires API key)
const bulkResp = await fetch("https://api.dotlookup.dev/v1/carriers/bulk", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "your_api_key",
},
body: JSON.stringify({ dot_numbers: ["2233855", "1234567"] }),
});
const carriers = await bulkResp.json();
// Check your usage
const meResp = await fetch("https://api.dotlookup.dev/v1/auth/me", {
headers: { "X-API-Key": "your_api_key" },
});
const { account, usage } = await meResp.json();
console.log(`Requests today: ${usage.requests_today}`);
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
// Look up a carrier
resp, _ := http.Get("https://api.dotlookup.dev/v1/carriers/2233855")
defer resp.Body.Close()
var carrier map[string]any
json.NewDecoder(resp.Body).Decode(&carrier)
fmt.Printf("%s — %s\n", carrier["legal_name"], carrier["status"])
// Search carriers
resp, _ = http.Get("https://api.dotlookup.dev/v1/carriers/search?q=swift&state=TX&sort=fleet_size_desc")
defer resp.Body.Close()
var result struct {
Data []map[string]any `json:"data"`
Pagination struct {
Total int `json:"total"`
} `json:"pagination"`
}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Printf("Found %d carriers\n", result.Pagination.Total)
for _, c := range result.Data {
fmt.Printf(" DOT# %s %s\n", c["dot_number"], c["legal_name"])
}
}