---
title: "US and cross-border trucking companies (FMCSA motor carrier census)"
method: GET
path: "/v1/datasets/us-motor-carriers/query"
tags: ["United States"]
---

# US and cross-border trucking companies (FMCSA motor carrier census)

`GET /v1/datasets/us-motor-carriers/query`

## Request

- Base URL: `https://datascoop.io`
- URL: `https://datascoop.io/v1/datasets/us-motor-carriers/query`
- Auth: one of:
  - none
  - HTTP bearer
  - API key in query parameter `api_key`

Active US and cross-border carriers in the FMCSA register by state or province, city, fleet size and cargo. Download CSV, or use the API and MCP. 2,240,834 rows. Licence: US federal public record (FMCSA open data). Example: Texas carriers running 21 to 100 power units, as CSV: https://datascoop.io/v1/datasets/us-motor-carriers/query?state=TX&fleetBand=21-100%20units

## Query parameters

- `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DE' | 'DC' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY' | 'PR' | 'AB' | 'BC' | 'MB' | 'NB' | 'NL' | 'NS' | 'NT' | 'ON' | 'PE' | 'QC' | 'SK' | 'YT' | 'AG' | 'BN' | 'BS' | 'CH' | 'CI' | 'CL' | 'CP' | 'CS' | 'DF' | 'DG' | 'GE' | 'GJ' | 'HD' | 'JA' | 'MC' | 'MR' | 'MX' | 'NA' | 'OA' | 'PU' | 'QE' | 'QI' | 'SI' | 'SL' | 'SO' | 'TA' | 'TB' | 'TL' | 'VC' | 'YU' | 'ZA'
- `city` string
- `zipPrefix` string
- `operation` 'Interstate' | 'Intrastate hazmat' | 'Intrastate non-hazmat'
- `fleetBand` '1 unit' | '2-5 units' | '6-20 units' | '21-100 units' | '100+ units'
- `minPowerUnits` number
- `maxPowerUnits` number
- `minDrivers` number
- `classification` string
- `businessType` 'Corporation' | 'LLC' | 'Sole Proprietor' | 'Partnership' | 'Other'
- `cargo` string
- `hazmat` boolean
- `safetyRating` 'Satisfactory' | 'Conditional' | 'Unsatisfactory'
- `registeredSince` string
- `status` 'Active' | 'Inactive' | 'Pending'
- `nameContains` string
- `cityState` string
- `limit` integer
- `offset` integer
- `format` 'json' | 'csv'

## Response `200`

Matching rows

- QueryResult
  - `dataset` string, required
  - `plan` 'free' | 'pro'
  - `total` integer, required: Rows matching the filters
  - `returned` integer, required
  - `offset` integer
  - `truncated` boolean, required: true when fewer rows than total were returned
  - `ignored` string[]: Filter keys the dataset does not know
  - `columns` object[]
    - `key` string
    - `label` string
  - `rows` object[], required
  - `attribution` string, required: Keep this with the data
  - `licence` string
  - `next_step` object: Present when the plan capped the result: links and wording for getting every row
    - `message` string
    - `buy_export_url` string, uri
    - `signup_url` string, uri
    - `pricing_url` string, uri

---

[API](https://skmtc.dev/datascoop/apis/datascoop-api.md) · [All operations](https://skmtc.dev/datascoop/apis/datascoop-api/llms.txt) · [OpenAPI document](https://skmtc.dev/datascoop/apis/datascoop-api/revisions/102c5cf316da?raw)
