{
  "openapi": "3.0.1",
  "info": {
    "title": "FMCSA New Carriers Scraper - Trucking Companies, USDOT Lookup",
    "description": "For trucking sales leads and carrier research: new trucking companies from the FMCSA Company Census File API, with USDOT number, legal name, state, power units, drivers, registration date, phone and email. About 15,000 register in 30 days (2026-10-05). Monitoring returns only new carriers.",
    "version": "0.1",
    "x-build-id": "hqJYKgIIh7bK25Ov4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~fmcsa-new-carriers-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-fmcsa-new-carriers-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/neverempty~fmcsa-new-carriers-monitor/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-fmcsa-new-carriers-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/neverempty~fmcsa-new-carriers-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-fmcsa-new-carriers-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "states": {
            "title": "States",
            "type": "array",
            "description": "Two-letter codes of the state of the carrier physical address (TX, CA, FL ...). Canadian provinces and Mexican states in the file use their own two-letter codes. Leave empty for every state. One per line.",
            "items": {
              "type": "string"
            }
          },
          "registeredInLastDays": {
            "title": "Registered in the last N days",
            "minimum": 0,
            "maximum": 36500,
            "type": "integer",
            "description": "Keep carriers whose registration date (the date the USDOT record was added) is within this many days before today (UTC). The file is refreshed about once a day and the newest one or two dates are still filling in, so 1 returns few carriers. Leave empty for no lower date. Not used in monitoring mode."
          },
          "registeredFrom": {
            "title": "Registered on or after",
            "type": "string",
            "description": "Keep carriers registered on or after this date (YYYY-MM-DD). If \"Registered in the last N days\" is also set, the later of the two dates is used. Not used in monitoring mode."
          },
          "registeredTo": {
            "title": "Registered on or before",
            "type": "string",
            "description": "Keep carriers registered on or before this date (YYYY-MM-DD). Not used in monitoring mode."
          },
          "minPowerUnits": {
            "title": "Minimum power units",
            "minimum": 0,
            "type": "integer",
            "description": "Keep carriers that report at least this many power units (trucks, tractors, buses and other powered vehicles). The number is what the carrier wrote on its registration form; a few records hold implausible values. Carriers with no number are left out when this is set."
          },
          "maxPowerUnits": {
            "title": "Maximum power units",
            "minimum": 0,
            "type": "integer",
            "description": "Keep carriers that report at most this many power units. Carriers with no number are left out when this is set."
          },
          "carrierOperations": {
            "title": "Carrier operation",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep carriers with one of these operation codes. Leave empty for all, including records with no code.",
            "items": {
              "type": "string",
              "enum": [
                "interstate",
                "intrastate-hazmat",
                "intrastate-non-hazmat"
              ],
              "enumTitles": [
                "Interstate (code A)",
                "Intrastate hazmat (code B)",
                "Intrastate non-hazmat (code C)"
              ]
            }
          },
          "classifications": {
            "title": "Operation classification",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep carriers whose classification list contains at least one of these. A carrier can hold several classifications; the row lists all of them. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "authorized-for-hire",
                "exempt-for-hire",
                "private-property",
                "private-passenger-business",
                "private-passenger-non-business",
                "migrant",
                "federal-government",
                "state-government",
                "local-government"
              ],
              "enumTitles": [
                "Authorized for hire",
                "Exempt for hire",
                "Private property",
                "Private passenger, business",
                "Private passenger, non-business",
                "Migrant",
                "Federal government",
                "State government",
                "Local government"
              ]
            }
          },
          "statuses": {
            "title": "USDOT status",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep carriers with one of these USDOT status codes. Leave empty for all. Nearly every newly registered carrier is active.",
            "items": {
              "type": "string",
              "enum": [
                "active",
                "inactive",
                "pending"
              ],
              "enumTitles": [
                "Active (code A)",
                "Inactive (code I)",
                "Pending (code P)"
              ]
            }
          },
          "maxCarriers": {
            "title": "Maximum carriers to return",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "With monitoring off, at most this many carrier rows are returned, newest registration first. The registry is read 1,000 carriers per request, one request at a time, at most one per second. Not applied in monitoring mode (every new carrier is returned) or to a USDOT lookup.",
            "default": 200
          },
          "dotNumbers": {
            "title": "USDOT numbers",
            "type": "array",
            "description": "Look up these USDOT numbers instead of searching (digits; \"USDOT 1234567\" is also read). One row per number found; numbers that are not in the file are listed in one row that is not charged. The search filters are not used for a lookup. Up to 5,000 numbers per run. Cannot be combined with monitoring mode.",
            "items": {
              "type": "string"
            }
          },
          "includeContacts": {
            "title": "Include phone, email and company officers",
            "type": "boolean",
            "description": "On: the phone, cellPhone, fax, email and companyOfficers columns hold what the carrier filed with FMCSA. Off: those columns are empty. Addresses are always included.",
            "default": true
          },
          "monitoringMode": {
            "title": "Monitoring mode: return only newly registered carriers",
            "type": "boolean",
            "description": "Remembers carriers between runs, per set of filters. The first run with a set of filters only remembers the matching carriers registered in the last 30 days: nothing is returned and nothing is charged. Each later run reads the USDOT numbers of matching carriers registered in the last 30 days in one light request, compares them with what it remembers and returns only the carriers that were not there before (carrier-returned). A run that finds no new carrier is charged one check (search-checked) instead. Carriers are compared by USDOT number, not by date, because registrations for a given date keep arriving for a few days. The file is refreshed about once a day, so a daily schedule is enough. The date inputs are not used. Do not run two schedules with the same filters at the same moment.",
            "default": false
          },
          "resetMonitoringState": {
            "title": "Forget the remembered carriers and start over",
            "type": "boolean",
            "description": "With monitoring on, clears what is remembered for this set of filters before the run, so the run is a first run again: matching carriers are remembered and nothing is returned. Use it for one run and turn it off again.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}