FMCSA API

    FMCSA API Documentation

    Complete reference for AlphaLoops's carrier data API. Look up carriers by DOT number, MC number, or name. Access safety data, authority status, technology stack, and more.

    Enterprise PlanAPI access is available exclusively on our Enterprise plan.

    New to FMCSA data? Start with our complete guide →

    OpenAPI Spec

    Quick Start

    Base URL

    https://api.runalphaloops.com

    Authentication

    Include your API key in the Authorization header:

    Authorization: Bearer YOUR_API_KEY

    Rate Limits

    Enterprise API access includes 60 requests per minute and 5,000 requests per day. Need more? Additional credits are available for purchase. Rate limit headers are included in every response:

    X-RateLimit-Limit: 60 X-RateLimit-Remaining: 47 X-RateLimit-Reset: 1709325600 X-DailyLimit-Limit: 5000 X-DailyLimit-Remaining: 4832 X-DailyLimit-Reset: 1709337600

    Endpoints

    GET/v1/carriers/{dot_number}

    Look up a carrier by DOT number. Returns the full carrier profile with 200+ fields. Use the fields parameter to project only the fields you need.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    fields string No Comma-separated list of fields to return (e.g. "legal_name,power_units,latitude,longitude"). Omit to return all fields.

    Response Example

    {
      "dot_number": "2247505",
      "legal_name": "SWIFT TRANSPORTATION CO OF ARIZONA LLC",
      "dba_name": "SWIFT TRANSPORTATION",
      "mc_number": "MC-728261",
      "operating_authority_status": "AUTHORIZED",
      "authority_types": ["COMMON", "CONTRACT"],
      "carrier_type": "CARRIER",
      "carrier_operation": "INTERSTATE",
      "phone": "+1 800-800-2200",
      "fax": "+1 602-269-9700",
      "cell_phone": "+1 602-555-0147",
      "timezone": "America/Phoenix",
      "date_added": "2004-03-15",
      "company_description": "One of North America's largest truckload carriers...",
      "physical_address": { "street": "2200 S 75TH AVE", "city": "PHOENIX", "state": "AZ", "zip": "85043" },
      "latitude": 33.4373,
      "longitude": -112.1430,
      "power_units": 18643,
      "drivers": 22891,
      // ... 200+ fields — expand to see full response
    }
    GET/v1/carriers/mc/{mc_number}

    Look up a carrier by MC/MX docket number. Returns the full carrier profile (same fields as the DOT lookup). Supports the same ?fields= projection parameter.

    Parameters

    Name Type Required Description
    mc_number string Yes The carrier's MC or MX docket number
    fields string No Comma-separated list of fields to return. Omit to return all fields.

    Response Example

    {
      "dot_number": "2247505",
      "mc_number": "MC-728261",
      "legal_name": "SWIFT TRANSPORTATION CO OF ARIZONA LLC",
      "dba_name": "SWIFT TRANSPORTATION",
      "operating_authority_status": "AUTHORIZED",
      "authority_types": ["COMMON", "CONTRACT"],
      "carrier_type": "CARRIER",
      "carrier_operation": "INTERSTATE",
      "safety_rating": "SATISFACTORY",
      "phone": "+1 800-800-2200",
      "physical_address": {
        "street": "2200 S 75TH AVE",
        "city": "PHOENIX",
        "state": "AZ",
        "zip": "85043"
      },
      "power_units": 18643,
      "drivers": 22891
      // ... full carrier profile (200+ fields, same as /v1/carriers/{dot_number})
    }
    POST/v1/carriers/query

    Advanced filtered search with include/exclude conditions, geo-radius search, sorting, and field projection. No company name required — filter by state, fleet size, cargo type, technology, authority status, revenue, and more.

    Parameters

    Name Type Required Description
    include object No Filter conditions to include (see filter options below)
    exclude object No Filter conditions to exclude
    fields string[] No Array of fields to return (e.g. ["dot_number", "legal_name", "power_units"])
    limit number No Results per page (default: 25)
    page number No Page number (default: 1)
    sort_by string No Sort field: power_units, drivers, date_added, safety_rating, annual_revenue, distance, etc.
    sort_order string No "asc" or "desc" (default: "desc")

    Response Example

    // Request body
    {
      "include": {
        "state": "TX",
        "power_units": { "min": 50 },
        "cargo_type": ["Van", "Reefer"],
        "operating_authority_status": "Active",
        "location": { "latitude": 29.76, "longitude": -95.37, "radius_miles": 100 }
      },
      "exclude": {
        "safety_rating": "Unsatisfactory"
      },
      "fields": ["dot_number", "legal_name", "power_units", "state"],
      "sort_by": "power_units",
      "sort_order": "desc",
      "limit": 25,
      "page": 1
    }
    
    // Response
    {
      "total_results": 847,
      "results": [
        {
          "dot_number": "2233855",
          "legal_name": "SCHNEIDER NATIONAL CARRIERS INC",
          "power_units": 9500,
          "distance_miles": 42.3
        }
      ],
      "pagination": {
        "page": 1,
        "limit": 25,
        "total_results": 847,
        "total_pages": 34
      }
    }
    GET/v1/carriers/{dot_number}/safetyCOMING SOON

    Get detailed safety data including BASIC scores, inspection history, and crash records.

    GET/v1/carriers/{dot_number}/authority

    Get the carrier's operating authority history. Returns all authority actions including grants, revocations, and reinstatements.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    limit number No Results per page (default: 50)
    offset number No Number of results to skip (default: 0)

    Response Example

    {
      "dot_number": "2247505",
      "total_records": 5,
      "limit": 50,
      "offset": 0,
      "authority_history": [
        {
          "docket_number": "MC-728261",
          "sub_number": "1",
          "authority_type": "COMMON",
          "original_action": "GRANT",
          "original_served_date": "1990-06-15",
          "disposition_action": "GRANT",
          "disposition_decided_date": "1990-06-15",
          "disposition_served_date": "1990-06-20"
        }
      ]
    }
    GET/v1/carriers/{dot_number}/insurance

    Retrieve insurance filings (BIPD, cargo, bond) for a carrier from the FMCSA insurance table. Includes policy numbers, coverage limits, and insurer details.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    limit number No Results per page (default: 50, max: 500)
    page number No Page number (default: 1)
    sort_by string No Sort field: effective_date, insurance_type_code, bipd_maximum_dollar_limit, insurance_company_name (default: effective_date)
    sort_order string No "asc" or "desc" (default: "desc")
    insurance_type string No Filter by insurance type code
    insurer string No Partial match on insurance company name
    min_coverage number No Minimum BIPD dollar limit
    date_from string No Effective date start (ISO date)
    date_to string No Effective date end (ISO date)

    Response Example

    {
      "dot_number": "2233855",
      "total_policies": 8,
      "insurance": [
        {
          "id": 123456,
          "docket_number": "MC133655",
          "dot_number": "2233855",
          "mc_number": 133655,
          "insurance_type": {
            "code": "BIPD",
            "description": "Bodily Injury & Property Damage"
          },
          "bipd": {
            "class_code": "PRIMARY",
            "class_description": "Primary BIPD",
            "maximum_dollar_limit": 5000000,
            "underlying_dollar_limit": null
          },
          "policy_number": "PLC-2024-001234",
          "effective_date": "2024-01-15",
          "form": {
            "code": "BMC91X",
            "description": "Motor Carrier Surety Bond"
          },
          "insurance_company_name": "National Union Fire Ins Co Of Pittsburgh"
        }
      ],
      "pagination": {
        "page": 1,
        "limit": 50,
        "total_results": 8,
        "total_pages": 1
      }
    }
    GET/v1/carriers/mc/{mc_number}/insurance

    Retrieve insurance filings by MC docket number. Same response shape and filters as the DOT-based insurance endpoint.

    Parameters

    Name Type Required Description
    mc_number string Yes MC docket number (numeric)
    limit number No Results per page (default: 50, max: 500)
    page number No Page number (default: 1)
    sort_by string No Sort field: effective_date, insurance_type_code, bipd_maximum_dollar_limit, insurance_company_name (default: effective_date)
    sort_order string No "asc" or "desc" (default: "desc")
    insurance_type string No Filter by insurance type code
    insurer string No Partial match on insurance company name
    min_coverage number No Minimum BIPD dollar limit

    Response Example

    {
      "mc_number": 133655,
      "total_policies": 8,
      "insurance": [
        {
          "id": 123456,
          "docket_number": "MC133655",
          "dot_number": "2233855",
          "mc_number": 133655,
          "insurance_type": {
            "code": "BIPD",
            "description": "Bodily Injury & Property Damage"
          },
          "bipd": {
            "class_code": "PRIMARY",
            "class_description": "Primary BIPD",
            "maximum_dollar_limit": 5000000
          },
          "policy_number": "PLC-2024-001234",
          "effective_date": "2024-01-15",
          "form": {
            "code": "BMC91X",
            "description": "Motor Carrier Surety Bond"
          },
          "insurance_company_name": "National Union Fire Ins Co Of Pittsburgh"
        }
      ],
      "pagination": {
        "page": 1,
        "limit": 50,
        "total_results": 8,
        "total_pages": 1
      }
    }
    GET/v1/carriers/{dot_number}/timeline

    Retrieve a merged chronological feed of carrier change events and authority history. Combines field-level changes from monthly FMCSA census diffs (contact, address, fleet, operations, authority, people) with authority history records.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    limit number No Max results (default: 50, max: 200)
    offset number No Pagination offset (default: 0)
    category string No Comma-separated categories: contact, address, fleet, operations, authority, people
    date_from string No Start date (ISO date)
    date_to string No End date (ISO date)

    Response Example

    {
      "dot_number": "2233855",
      "total": 127,
      "category_counts": {
        "fleet": 25,
        "authority": 12,
        "operations": 45,
        "contact": 18,
        "address": 8,
        "people": 19
      },
      "limit": 50,
      "offset": 0,
      "events": [
        {
          "id": 98765,
          "dot_number": "2233855",
          "detected_at": "2024-03-01",
          "category": "fleet",
          "event_type": "fleet_size_changed",
          "headline": "Power units changed from 9,200 to 9,500",
          "field_name": "power_units",
          "old_value": "9200",
          "new_value": "9500",
          "metadata": null,
          "source": "census_diff"
        },
        {
          "id": "auth_44321",
          "dot_number": "2233855",
          "detected_at": "2024-01-10",
          "category": "authority",
          "event_type": "authority_action",
          "headline": "[COMMON] GRANTED",
          "field_name": null,
          "old_value": null,
          "new_value": null,
          "metadata": {
            "docket_number": "MC-133655",
            "sub_number": "1",
            "authority_type": "COMMON",
            "original_action": "GRANTED",
            "disposition_action": "GRANTED",
            "disposition_decided_date": "2024-01-08",
            "disposition_served_date": "2024-01-10"
          },
          "source": "fmcsa_authority"
        }
      ]
    }
    GET/v1/carriers/{dot_number}/trucks

    Get the carrier's registered truck (power unit) fleet. Includes VIN, make, model, engine specs, weight, and manufacturing details.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    limit number No Results per page (default: 50, max: 200)
    offset number No Number of results to skip (default: 0)

    Response Example

    {
      "dot_number": "2247505",
      "total_trucks": 18643,
      "trucks": [
        {
          "vin": "1XKYD49X0MJ441234",
          "dot_number": "2247505",
          "cab_type": "CONVENTIONAL",
          "make": "KENWORTH",
          "model": "T680",
          "model_year": 2022,
          "engine_manufacturer": "PACCAR",
          "license_plate": "AZ-4821",
          "manufactured_by": "KENWORTH TRUCK CO",
          "manufactured_in": "UNITED STATES",
          "gross_weight": 80000,
          "body_type": "TRUCK TRACTOR",
          "engine_displacement": "12.9L",
          "engine_type": "DIESEL",
          "engine_cylinders": 6,
          "engine_model": "MX-13",
          "brake_system_type": "AIR",
          "plant_city": "CHILLICOTHE",
          "plant_state": "OH"
        }
      ],
      "limit": 50,
      "offset": 0,
      "total_results": 18643
    }
    GET/v1/carriers/{dot_number}/trailers

    Get the carrier's registered trailer fleet. Includes VIN, manufacturer, type, and reefer status.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    limit number No Results per page (default: 50, max: 200)
    offset number No Number of results to skip (default: 0)

    Response Example

    {
      "dot_number": "2247505",
      "total_trailers": 62104,
      "trailers": [
        {
          "vin": "1JJV532D8ML920456",
          "dot_number": "2247505",
          "manufacturer": "WABASH",
          "model_year": 2021,
          "trailer_type": "VAN/ENCLOSED BOX",
          "reefer": false,
          "license_plate": "AZ-11204"
        }
      ],
      "limit": 50,
      "offset": 0,
      "total_results": 62104
    }
    GET/v1/carriers/{dot_number}/inspections

    Get the carrier's roadside inspection history. Returns inspection metadata and out-of-service counts. Use /v1/inspections/{inspection_id}/violations to get violation details for a specific inspection.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    limit number No Results per page (default: 50, max: 200)
    offset number No Number of results to skip (default: 0)

    Response Example

    {
      "dot_number": "2247505",
      "total_inspections": 4521,
      "inspections": [
        {
          "inspection_id": "AZ2024061512345",
          "report_number": "AZ2024061512345",
          "date": "2024-06-15",
          "state": "AZ",
          "level": 1,
          "start_time": "08:30",
          "end_time": "09:45",
          "location": "I-10 MM 142",
          "facility": "ROADSIDE",
          "carrier_name": "SWIFT TRANSPORTATION CO OF ARIZONA LLC",
          "shipper_name": "ACME CORP",
          "gross_vehicle_weight": 72000,
          "violations_total": 2,
          "driver_violations": 1,
          "vehicle_violations": 1,
          "hazmat_violations": 0,
          "oos_total": 0,
          "oos_driver": false,
          "oos_vehicle": false,
          "oos_hazmat": false,
          "traffic_enforcement": false,
          "size_weight_enforcement": false
        }
      ],
      "limit": 50,
      "offset": 0,
      "total_results": 4521
    }
    GET/v1/carriers/{dot_number}/mc-sales

    Get any authority-for-sale listings (Facebook groups, Telegram channels, BizBuySell, etc.) that have been linked to this carrier's DOT number. Returns all detected occurrences with seller info, asking prices, post URLs, and matching reasoning. Returns `found: false` with `mc_sale: null` when no listings have been linked to this carrier.

    Parameters

    Name Type Required Description
    dot_number integer Yes The carrier's USDOT number

    Response Example

    {
      "dot_number": 2567323,
      "found": true,
      "mc_sale": {
        "mc_numbers": ["896740"],
        "carrier": {
          "legal_name": "DRZ TRANSPORT LLC",
          "dba_name": null,
          "state": "MN",
          "city": null,
          "phone": null,
          "email": null,
          "officers": []
        },
        "summary": {
          "occurrence_count": 1,
          "avg_confidence": 0.75,
          "max_confidence": 0.75
        },
        "listings": [
          {
            "seller_name": "JJ Junior (Mohamed Yusuf)",
            "phone": null,
            "email": null,
            "asking_price": null,
            "authority_age": "10 years",
            "post_url": "https://www.facebook.com/groups/.../permalink/...",
            "source_file": null,
            "confidence": 0.75,
            "reasoning": "Seller \"JJ Junior\" Facebook profile shows Minneapolis, MN..."
          }
        ],
        "first_seen": "2026-05-25T20:59:29.761414+00:00",
        "last_seen": "2026-05-25T20:59:29.733220+00:00"
      }
    }
    
    // 200 OK — no match
    { "dot_number": 999999999, "found": false, "mc_sale": null }
    
    // Field notes
    // - mc_sale.listings[] is a per-occurrence array. Each item represents one
    //   detected sales post; the parallel fields (seller_name, phone, confidence,
    //   reasoning, ...) come from a single observation.
    // - summary.max_confidence and summary.avg_confidence are 0-1 floats from the
    //   matching pipeline; treat low scores (<0.4) as weak/uncertain matches.
    // - first_seen / last_seen are ISO-8601 timestamps showing when this carrier
    //   first/last appeared in the sales-monitoring pipeline.
    GET/v1/carriers/{dot_number}/equipment-for-sale

    Cross-references the VINs this carrier has been inspected with against a marketplace dataset of trucks and trailers currently (or recently) listed for sale. Returns one row per matching VIN, sorted by most recent inspection date. Each row's `equipment_type` field ("truck" or "trailer") determines which extra fields are populated. Empty results are common — most carriers' equipment is never listed publicly.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    limit number No Results per page (default: 25, max: 200)
    page number No Page number, 1-based (default: 1)

    Response Example

    {
      "dot_number": "3701071",
      "total_listings": 12,
      "equipment": [
        {
          "equipment_type": "truck",
          "vin": "3AKJHHDR3RSUV5213",
          "last_seen_in_inspection": "2026-05-12",
          "inspection_count": 2,
          "listing_title": "2024 FREIGHTLINER CASCADIA 126",
          "manufacturer": "FREIGHTLINER",
          "model": "CASCADIA 126",
          "model_year": 2024,
          "category": null,
          "sub_category": null,
          "color": null,
          "price": 128900,
          "mileage": 249855,
          "fuel_type": null,
          "engine": {
            "manufacturer": "DETROIT",
            "model": null,
            "type": null,
            "displacement": null,
            "horsepower": "505 HP",
            "brake": null
          },
          "transmission": {
            "raw": null,
            "type": "Detroit DT12",
            "manufacturer": "DETROIT",
            "speeds": "12 Spd"
          },
          "cab": "SLEEPERCAB",
          "sleeper": { "type": null, "size": null },
          "cab_style": null,
          "drive": null,
          "suspension": "Air Ride",
          "axle_configuration": null,
          "wheelbase": null,
          "gvwr": null,
          "apu": null,
          "stock_number": null,
          "source": null,
          "description": "VEHICLE HIGHLIGHTS\nStock #: SUV5213..."
        }
      ],
      "pagination": {
        "page": 1,
        "limit": 25,
        "total_results": 12,
        "total_pages": 1
      }
    }
    
    // Equipment shape — common fields (both types):
    //   equipment_type ("truck" | "trailer") — discriminator
    //   vin — normalized uppercase
    //   last_seen_in_inspection — most recent FMCSA inspection where this VIN
    //     appeared under this DOT
    //   inspection_count — how many distinct inspections that VIN appeared in
    //     for this DOT
    //   listing_title, manufacturer, model, model_year, price (USD),
    //   category, description, stock_number
    //
    // equipment_type: "trailer" extra fields:
    //   trailer_type, length, condition, retail_price, reefer,
    //   reefer_manufacturer, reefer_model, dealer, dealer_location,
    //   location: { city, state, postal_code, country },
    //   listing_url, image_count, listing_updated
    //
    // equipment_type: "truck" extra fields:
    //   sub_category, color, mileage (numeric), fuel_type,
    //   engine: { manufacturer, model, type, displacement, horsepower, brake },
    //   transmission: { raw, type, manufacturer, speeds },
    //   cab (e.g. DAYCAB/SLEEPERCAB), sleeper: { type, size },
    //   cab_style, drive, suspension, axle_configuration, wheelbase, gvwr,
    //   apu, source
    //
    // Matching is VIN-based: a result means the same VIN appears in both the
    // carrier's inspection-unit history and a listing record. inspection_count
    // and last_seen_in_inspection help judge how strongly the VIN is tied to
    // that carrier (e.g. a single 5-year-old inspection vs. 12 inspections
    // over the past year). Garbage placeholder VINs (all-zeros, repeated chars,
    // UNKNOWN/N/A) are filtered out before matching.
    GET/v1/inspections/vin/{vin}

    Look up the inspection history for a Vehicle Identification Number (VIN). Returns the unique DOT numbers the VIN has been associated with (with the last date seen on each), plus the unique locations (FIPS-coded counties enriched with county name, state abbreviation, latitude, and longitude) where the VIN has been inspected. Designed for verification workflows — confirming which carriers a tractor/trailer has run for and where it's been operating. Capped at the 5,000 most-recent inspections; when truncated, aggregations are computed over the returned sample. Successful responses are edge-cached for 24h; 404s for 1h.

    Parameters

    Name Type Required Description
    vin string Yes Vehicle Identification Number (case-insensitive — normalized to uppercase server-side)

    Response Example

    {
      "vin": "1FUJGLDR8DSBJ8237",
      "inspection_count": 47,
      "sample_size": 47,
      "truncated": false,
      "dot_numbers": [
        {
          "dot_number": "2233855",
          "last_seen": "2025-09-12",
          "inspection_count": 31
        },
        {
          "dot_number": "1287194",
          "last_seen": "2023-04-08",
          "inspection_count": 16
        }
      ],
      "locations": [
        {
          "fips": "48201",
          "state_fips": "48",
          "county_fips": "201",
          "county_name": "Harris County",
          "state_abbrev": "TX",
          "latitude": 29.857908,
          "longitude": -95.392479,
          "last_seen": "2025-09-12",
          "inspection_count": 9
        },
        {
          "fips": "06037",
          "state_fips": "06",
          "county_fips": "037",
          "county_name": "Los Angeles County",
          "state_abbrev": "CA",
          "latitude": 34.196869,
          "longitude": -118.261862,
          "last_seen": "2025-07-22",
          "inspection_count": 5
        }
      ]
    }
    GET / POST/v1/vins

    Look up one or more VINs. For each VIN, returns its FMCSA inspection-unit history (where the equipment has been), its most recent sighting, every DOT it has been associated with, and whether it has ever been listed for sale (as a truck or trailer). Accepts a single VIN, a comma-separated list, or a JSON array (POST). VINs are uppercased, trimmed, and de-duplicated server-side; matching is case-insensitive. Max 100 VINs per request. Results preserve input order and include misses (found: false), so callers can tell which VINs had no data.

    Parameters

    Name Type Required Description
    vin string No A single VIN to look up — GET query form (e.g. ?vin=3AKJHHDR3RSUV5213). Case-insensitive.
    vins string | string[] No Multiple VINs. GET: comma-separated query string (?vins=VIN1,VIN2,VIN3). POST: JSON array in the request body ({ "vins": [...] }). Max 100 VINs per request.

    Request Examples

    # Single VIN (GET)
    curl "https://api.runalphaloops.com/v1/vins?vin=3AKJHHDR3RSUV5213" \
      -H "Authorization: Bearer YOUR_API_KEY"
    
    # Comma-separated list (GET)
    curl "https://api.runalphaloops.com/v1/vins?vins=3AKJHHDR3RSUV5213,1XKYDP9X3KJ239110" \
      -H "Authorization: Bearer YOUR_API_KEY"
    
    # Batch (POST)
    curl -X POST "https://api.runalphaloops.com/v1/vins" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"vins": ["3AKJHHDR3RSUV5213", "1XKYDP9X3KJ239110"]}'

    Response Example

    {
      "requested": 2,
      "results": [
        {
          "vin": "3AKJHHDR3RSUV5213",
          "found": true,
          "inspection_count": 2,
          "most_recent": {
            "date": "2026-05-12",
            "time": "0740",
            "location": "I-10 23 WB",
            "state": "CA",
            "dot_number": "3701071",
            "inspection_id": 87942748
          },
          "dots_associated": ["3701071"],
          "inspections": [
            {
              "inspection_id": 87942748,
              "insp_unit_number": 2,
              "unit_type": "TRAILER",
              "make": "FREIGHTLINER",
              "license": "DM1882",
              "license_state": "CA",
              "company": "LAND OF LIGHT TRANSPORT LLC",
              "date": "2026-05-12",
              "start_time": "0740",
              "end_time": "0810",
              "location": "I-10 23 WB",
              "state": "CA",
              "dot_number": "3701071"
            }
          ],
          "for_sale": {
            "listed": true,
            "as_truck": {
              "listing_title": "2024 FREIGHTLINER CASCADIA 126",
              "manufacturer": "FREIGHTLINER",
              "model": "CASCADIA 126",
              "model_year": 2024,
              "price": 128900,
              "mileage": 249855,
              "engine": { "manufacturer": "DETROIT", "model": null, "type": null, "displacement": null, "horsepower": "505 HP", "brake": null },
              "transmission": { "raw": null, "type": "Detroit DT12", "manufacturer": "DETROIT", "speeds": "12 Spd" },
              "cab": "SLEEPERCAB",
              "sleeper": { "type": null, "size": null },
              "suspension": "Air Ride",
              "description": "..."
            },
            "as_trailer": null
          }
        },
        {
          "vin": "1XKYDP9X3KJ239110",
          "found": false,
          "inspection_count": 0,
          "most_recent": null,
          "dots_associated": [],
          "inspections": [],
          "for_sale": { "listed": false, "as_truck": null, "as_trailer": null }
        }
      ]
    }
    
    // Top-level: requested = unique VIN count after normalization. results
    //   preserves input order — one entry per VIN, including misses.
    // most_recent is the most recent sighting ({ date, time, location, state,
    //   dot_number, inspection_id }) or null if the VIN was never inspected.
    // dots_associated with more than one DOT is a strong signal the equipment
    //   changed hands or was re-registered between carriers.
    // A VIN can be found: false (no inspections) but still have
    //   for_sale.listed: true, or vice-versa — the two data sources are independent.
    // for_sale.as_truck / as_trailer match the truck/trailer object shapes from
    //   GET /v1/carriers/{dot_number}/equipment-for-sale.
    GET/v1/inspections/{inspection_id}/violations

    Retrieve all violations from a specific roadside inspection. Use the inspection report number returned from the Inspections endpoint to drill into violation details.

    Parameters

    Name Type Required Description
    inspection_id string Yes The inspection report number
    page number No Page number (default: 1)
    limit number No Results per page (default: 25, max: 100)

    Response Example

    {
      "inspection_id": "TX2400012345",
      "total_violations": 3,
      "violations": [
        {
          "violation_code": "393.100",
          "description": "ADB - No or Defective ABS on Trailer",
          "oos": true,
          "unit_type": "TRAILER",
          "basic_category": "Vehicle Maintenance"
        }
      ],
      "pagination": {
        "page": 1,
        "limit": 25,
        "total_results": 3,
        "total_pages": 1
      }
    }
    GET/v1/carriers/{dot_number}/crashes

    Get the carrier's reported crash history. Includes crash details, severity, and contributing factors.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    start_date string No Filter from date (ISO 8601, e.g. "2024-01-01")
    end_date string No Filter to date (ISO 8601, e.g. "2024-12-31")
    severity string No Filter by severity: "FATAL", "INJURY", "TOW", "PROPERTY_DAMAGE"
    page number No Page number (default: 1)
    limit number No Results per page (default: 25, max: 100)

    Response Example

    {
      "dot_number": "2247505",
      "total_crashes": 89,
      "crashes": [
        {
          "crash_id": "TX20240322-0041",
          "report_number": "AZ20240322-0041",
          "date": "2024-03-22",
          "state": "TX",
          "city": "DALLAS",
          "location": "I-35 SB MM 428",
          "fatalities": 0,
          "injuries": 1,
          "tow_away": true,
          "hazmat_released": false,
          "severity": "INJURY",
          "vehicle_configuration": "TRUCK TRACTOR/SEMI-TRAILER",
          "cargo_body_type": "VAN/ENCLOSED BOX",
          "road_surface_condition": "DRY",
          "trafficway": "DIVIDED HIGHWAY",
          "weather_condition": "CLEAR",
          "light_condition": "DAYLIGHT",
          "vehicles_in_accident": 2,
          "truck_or_bus": "TRUCK",
          "gvw_rating": "26,001 LBS. OR MORE",
          "federal_recordable": true
        }
      ],
      "pagination": {
        "page": 1,
        "limit": 25,
        "total_results": 89,
        "total_pages": 4
      }
    }
    GET/v1/carriers/{dot_number}/news

    Get recent news articles and press mentions related to the carrier.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    start_date string No Filter from date (ISO 8601, e.g. "2024-01-01")
    end_date string No Filter to date (ISO 8601, e.g. "2024-12-31")
    page number No Page number (default: 1)
    limit number No Results per page (default: 25, max: 100)

    Response Example

    {
      "dot_number": "2247505",
      "total_results": 3,
      "articles": [
        {
          "id": "381500d33fe54ca0b62b69e33b865f68",
          "title": "Insurers Judged By The Trucking \"Company\" They Keep",
          "description": "The recent fatal crashes in Texas and Florida highlight the vulnerability of insurance companies in trucking, highlighting inconsistencies and underwriting issues in the industry.",
          "url": "https://finance.yahoo.com/news/insurers-judged-trucking-company-keep-111253688.html",
          "source": "finance.yahoo.com",
          "date": "2026-02-22T11:12:53+00:00",
          "type": "Accidents & Disasters",
          "sentiment": "negative",
          "image_url": "https://s.yimg.com/ny/api/res/1.2/wMWUugFK7QqYSEXxs8QrDQ--/YXBwaWQ9aGlnaGxhbmRlcjt3PTEyMDA7aD04MDA7Y2Y9d2VicA--/https://media.zenfs.com/en/freightwaves_373/b9fd29b5cc823ae09f9fd12f0cf2579f",
          "categories": [],
          "topics": [],
          "people": [],
          "companies": []
        },
        {
          "id": "0c51db4f048f4874a8af42da909ca2fb",
          "title": "The Catastrophic State of Trucking and Highway Safety",
          "description": "Yahoo's AI generates key points for safety, highlighting widespread failures in trucking and highway safety, with individuals like Harjinder Singh killing multiple people.",
          "url": "https://www.yahoo.com/news/articles/catastrophic-state-trucking-highway-safety-132927796.html",
          "source": "yahoo.com",
          "date": "2026-02-11T13:29:27+00:00",
          "type": "Accidents & Disasters",
          "sentiment": "negative",
          "image_url": "https://s.yimg.com/ny/api/res/1.2/Zk4JxiUGmyzXoXv9h4Zxgg--/YXBwaWQ9aGlnaGxhbmRlcjt3PTEyMDA7aD02NzU7Y2Y9d2VicA--/https://media.zenfs.com/en/freightwaves_373/205c14e7c6be280421261ab640e2acbc",
          "categories": ["Tech"],
          "topics": [],
          "people": [],
          "companies": []
        },
        {
          "id": "6d3b7429157c4e3db038913179cb0c26",
          "title": "Blind Spots: A Nationwide Pattern of Loopholes, Lapses and Lost Lives",
          "description": "The Dill family faces daily challenges due to a severe crash involving a semi-truck, resulting in multiple injuries, and inconsistent documentation.",
          "url": "https://www.wtsp.com/article/news/investigations/10-investigates/trucking-industry-investigation-blind-spots/67-a07664b7-235d-4d1f-aef0-6f44663671f2",
          "source": "wtsp.com",
          "date": "2026-02-02T00:00:00",
          "type": "Death & Tragedy",
          "sentiment": "negative",
          "image_url": "https://media.wtsp.com/assets/WTSP/images/b71d9cea-3867-4cab-ba79-b7a072a63558/20260115T204722/b71d9cea-3867-4cab-ba79-b7a072a63558_1140x641.jpg",
          "categories": [],
          "topics": [],
          "people": [],
          "companies": []
        }
      ]
    }
    GET/v1/carriers/{dot_number}/connections

    Retrieve a carrier's corporate connections graph — shared officers, addresses, and related entities.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    limit number No Max results (default: 50, max: 200)

    Response Example

    {
      "dot_number": "2233855",
      "total_nodes": 15,
      "total_edges": 22,
      "nodes": [
        {
          "id": "2233855",
          "type": "carrier",
          "label": "SCHNEIDER NATIONAL CARRIERS INC"
        },
        {
          "id": "1098765",
          "type": "carrier",
          "label": "SCHNEIDER LOGISTICS INC"
        }
      ],
      "edges": [
        {
          "source": "2233855",
          "target": "1098765",
          "relationship": "shared_officer"
        }
      ]
    }
    GET/v1/carriers/{dot_number}/similar

    Find carriers similar to the specified carrier based on fleet size, location, cargo type, and other attributes.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number
    limit number No Max results (default: 20, max: 100)

    Response Example

    {
      "dot_number": "2233855",
      "similar_carriers": [
        {
          "dot_number": "1123456",
          "legal_name": "HEARTLAND EXPRESS INC",
          "state": "IA",
          "power_units": 4200,
          "similarity_score": 0.91
        }
      ]
    }
    GET/v1/carriers/{dot_number}/overview

    Get an AI-generated summary overview of a carrier including key highlights.

    Parameters

    Name Type Required Description
    dot_number string Yes The carrier's USDOT number

    Response Example

    {
      "dot_number": "2233855",
      "overview": "Schneider National Carriers Inc is a large, well-established carrier operating out of Green Bay, WI...",
      "highlights": [
        "One of the largest for-hire carriers in North America",
        "Strong safety record with Satisfactory rating",
        "Diversified operations across truckload, intermodal, and logistics"
      ]
    }
    GET/v1/contacts/{contact_id}/enrich

    Enrich a contact profile by ID. Returns verified emails, phone numbers, skills, full work history, education, and social profiles.

    Parameters

    Name Type Required Description
    contact_id string Yes The contact ID returned from /v1/contacts/search

    Response Example

    {
      "id": "PEKpu5zopJZKUJWTUMvYFA_0000",
      "full_name": "Christopher Cada",
      "first_name": "Christopher",
      "last_name": "Cada",
      "sex": "male",
      "job_title": "Vice President Operations & Strategic Accounts",
      "job_title_role": "fulfillment",
      "job_title_levels": ["vp"],
      "job_company_name": "KTL Inc",
      "job_company_website": "ktlinc.com",
      "job_company_size": "51-200",
      "job_company_industry": "transportation/trucking/railroad",
      "work_email": "ccada@ktlinc.com",
      "personal_emails": ["christopher.cada@gmail.com"],
      "mobile_phone": null,
      "phone_numbers": ["+1 630-817-6841", "+1 301-360-0001"],
      "linkedin_url": "linkedin.com/in/christophercada",
      "facebook_url": "facebook.com/christopher.cada.7",
      "location_name": "west olive, michigan, united states",
      "location_locality": "west olive",
      "location_region": "michigan",
      "location_country": "united states",
      "location_geo": "42.91,-86.14",
      "skills": [
        "3pl", "account management", "logistics", "supply chain management",
        "transportation", "freight", "operations management", "tms"
      ],
      "experience": [
        {
          "title": "Vice President Operations & Strategic Accounts",
          "company": "KTL Inc",
          "start_date": "2019-01",
          "end_date": null,
          "is_primary": true
        },
        {
          "title": "Business Product Owner",
          "company": "BluJay Solutions",
          "start_date": "2018-03",
          "end_date": "2019-08",
          "is_primary": false
        }
      ],
      "education": [
        {
          "school": "Embry-Riddle Aeronautical University",
          "start_date": "2006-01",
          "end_date": "2014"
        }
      ],
      "profiles": [
        { "network": "linkedin", "url": "linkedin.com/in/christophercada" },
        { "network": "facebook", "url": "facebook.com/christopher.cada.7" }
      ],
      "credits": {
        "remaining": 49,
        "total": 50,
        "used": 1
      }
    }
    GET/v1/intentCOMING SOON

    Build a list of carriers showing intent around specific topics. Returns carriers that are actively researching, clicking, and engaging with content related to your query — powered by click-level web activity data.

    GET/v1/carriers/{dot_number}/transactionsCOMING SOON

    See what a carrier is spending money on. Returns anonymized, aggregated transaction data showing vendor categories, spend trends, and purchasing patterns.

    GET/v1/graph/{dot_number}COMING SOON

    Explore the AlphaLoops network graph for a carrier. Discover relationships between carriers, brokers, shippers, vendors, and key personnel — including shared officers, insurance providers, technology vendors, and business partnerships.

    Error Codes

    Code Description
    200 Success
    202 Accepted — contacts are being fetched asynchronously, retry after delay
    400 Bad Request — invalid parameters
    401 Unauthorized — invalid or missing API key
    402 Payment Required — enrichment credits exhausted
    404 Not Found — carrier does not exist
    405 Method Not Allowed — only GET is supported
    429 Rate Limited — too many requests
    500 Internal Server Error
    502 Bad Gateway — upstream service (freight API or news provider) failed

    General Notes

    Error Response Format

    All errors return a consistent JSON shape:

    {
      "error": "Short error type",
      "message": "Human-readable description of what went wrong."
    }

    CORS

    All endpoints support CORS preflight (OPTIONS → 204) with Access-Control-Allow-Origin: *. Safe to call directly from browser-based applications.

    Enrichment Credits

    The /v1/contacts/{contact_id}/enrich endpoint consumes 1 credit per new enrichment. Cached results are free. Credits remaining are returned in both the response body (credits object) and the X-Enrichment-Credits-Remaining header. When credits are exhausted, the endpoint returns HTTP 402.

    Pagination

    Most endpoints use page/limit pagination. However, trucks, trailers, inspections, and authority use offset/limit instead. Check each endpoint's parameter table for the correct style.

    Field Projection

    The ?fields= parameter is only available on the carrier profile endpoints (/v1/carriers/{dot_number} and /v1/carriers/mc/{mc_number}). It is not supported on other endpoints.

    Need API Access?

    Contact our team to get your API key and start building with FMCSA carrier data.

    Get API Access