The LINQ API gives you programmatic access to the most comprehensive carrier intelligence database ever built — 2.8 million carrier profiles, 26M+ data points across 16 FMCSA datasets, enriched with tech stack intelligence and real-time risk signals.
The API follows REST conventions. All requests and responses use JSON. Authentication uses API key headers. TLS is required on all endpoints.
DetailValue
Base URLapi.linq.morpro.io/v1
ProtocolHTTPS only
FormatJSON (UTF-8)
Authentication
LINQ uses API key authentication. Include your key in the X-Manifest-Key header on every request. Never expose your API key in client-side code — always call the API from your backend.
Key PrefixEnvironmentDescription
mfst_sk_...ProductionCounts against your monthly quota. Use for live applications.
mfst_sk_test_...TestSandbox data only. Free, unlimited calls. No real carrier data.
All API requests are made to the following base URL:
The current version is v1. Version is included in the URL path. When breaking changes are introduced, a new version will be released and the old version will be deprecated with 90 days notice.
text
https://api.linq.morpro.io/v1
Rate Limits
Rate limits are applied per API key, per minute and per month based on your plan. When you exceed a rate limit, the API returns a 429 Too Many Requests response.
Check the X-RateLimit-Remaining and X-RateLimit-Reset response headers to monitor your usage.
LINQ uses standard HTTP status codes. All errors return a JSON body with a code and message field.
CodeStatusDescription
200OKRequest succeeded.
400Bad RequestMissing or invalid parameters.
401UnauthorizedInvalid or missing API key.
404Not FoundCarrier DOT number not found in database.
429Too Many RequestsRate limit exceeded. Check X-RateLimit-Reset.
500Server ErrorSomething went wrong on our end. We're alerted automatically.
json
{
"code": "NOT_FOUND", "message": "No carrier found with DOT number 9999999"}
GET/v1/carriers/:dotCarriers
GET Carrier Profile
Returns a complete operational profile for a carrier by DOT number. Includes authority status, safety rating, fleet size, contact info, and key compliance flags.
Path Parameters
NameTypeDescription
dot*stringUSDOT number of the carrier (e.g. "1234567")
Returns current authority status and full history of authority grants, revocations, and reinstatements. Essential for vetting carrier reliability over time.
Returns all 30 FMCSA cargo capability flags with human-readable labels. Shows exactly what types of freight a carrier is authorized and equipped to haul.
Compares a carrier's fleet size and driver count against state-level benchmarks. Returns the carrier's stats alongside P25/P50/P75/P90 percentiles for their domicile state.
Returns a complete carrier intelligence report as a structured JSON object — or as a PDF download by passing `?format=pdf`. Aggregates all endpoints into one response.
The full report endpoint aggregates all carrier data into a single response. PDF format generates a formatted report suitable for client presentations.
POST/v1/carriers/searchSearch
POST Search Carriers
Powerful carrier search with filtering across 30+ fields. Build targeted lists by state, fleet size, safety score, authority status, cargo type, and more.
Returns national benchmark data for safety scores, fleet sizes, OOS rates, and crash indicators. Use to contextualize a carrier's performance against its peer group.
Query Parameters
NameTypeDescription
segmentstringFilter by carrier type: "OTR", "regional", "local", "hazmat"
statestring2-letter state code to filter by domicile state
Create a watchlist to monitor up to 10,000 carriers for real-time changes — authority revocations, insurance lapses, safety rating changes, OOS rate spikes, and more.
Request Body
NameTypeDescription
carriers*string[]Array of DOT numbers to monitor
webhook_url*stringHTTPS URL to receive event notifications
eventsstring[]Event types to subscribe to (default: all)
When a monitored carrier triggers an alert, LINQ POSTs a signed JSON payload to your webhook URL. Verify the signature using the X-Manifest-Signature header.
All webhook payloads include the event type, carrier DOT number, a human-readable description, and a timestamp. Your endpoint should return a 200 status code within 10 seconds.
These endpoints are explicitly snapshot-based — powered by the 4 official FMCSA SMS Output files (1.7M scored carriers) and the 4 SMS Input files. Every response includes snapshot_date and data_source so you always know exactly which FMCSA release the data reflects.
Data source priority: 1. sms_output table (official FMCSA SMS Output, latest snapshot), 2. Legacy FMCSA Query API data, 3. Calculated live from sms_inspections + sms_violations.
FMCSA uses a time-weighting system for all SMS math. Inspections in the most recent 12 months receive a weight of 3, inspections 12-24 months old receive a weight of 2, and inspections older than 24 months receive a weight of 1.
Returns the 7 BASIC scores with measures, alert flags, and percentile rankings where available. Automatically selects the best data source for each carrier.
Path Parameters
NameTypeDescription
dot*stringUSDOT number of the carrier
Query Parameters
NameTypeDescription
alert_onlybooleanIf true, only return BASICs above the FMCSA intervention threshold
ac_flagbooleanAcute/Critical violation from an investigation in the previous 12 months
rd_alertbooleanRoadside alert — carrier is above the FMCSA intervention threshold
Returns only the inspections that fall within FMCSA's 24-month SMS scoring window. Each record includes a `computed_time_weight` (3/2/1) so your system can replicate the SMS math exactly.
Returns violations within the 24-month SMS window with FMCSA time-weights applied. The `computed_total_weight` field equals `time_weight x severity_weight` — the exact numerator value FMCSA uses in the BASIC measure formula.
FMCSA only scores carriers that meet minimum inspection thresholds. This endpoint tells you instantly whether a carrier is in the SMS scoring universe and eligible for percentile rankings.
Mirrors exactly what FMCSA's SAFER.fmcsa.dot.gov shows for a carrier — registration, operations, safety rating, authority history, active insurance, OOS orders, inspection summary, crash summary, and BASIC scores. All in one call.
Runs a chameleon carrier fraud detection scan. Analyzes address matches, phone overlaps, authority timeline gaps, OOS rates, and other signals to produce a risk score from 0-100.
Path Parameters
NameTypeDescription
dot*stringUSDOT number of the carrier (numeric only)
Risk levels: LOW (0-25), MODERATE (26-50), HIGH (51-75), CRITICAL (76-100). Signal weights: EIN Match (40), Equipment Match (30), Phone Match (25), Timeline Gap (25), Address Match (20), Officer Match (20), High OOS (15).