CarrierScrub Batch API

The Batch API from CarrierScrub — 1 operation(s) for batch.

Operations 1

POST /v1/batch Check a list of carriers from a CSV or XLSX file #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/carrierscrub-com:carrierscrub-com-batch-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

carrierscrub-com-batch-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CarrierScrub Batch API
  version: 1.0.0
  summary: Check a US motor carrier's FMCSA record before a broker tenders a load.
  description: 'Each check returns a GO, CAUTION or STOP verdict with dated reason codes. Every reason states a fact FMCSA published and its date; none is a conclusion about the company. Every result names the FMCSA record it used (record_source) and that record''s date (record_as_of); the legacy record has been frozen since 2026-05-14. API keys work on every plan: on Pay-as-you-go and Small Brokerage each lookup uses one of the brokerage''s 25 free lookups that month, then a $1.00 credit, and on Agency lookups are unlimited. How to get a key is in https://carrierscrub.com/auth.md. AI assistants can use the same checks through the MCP server at https://carrierscrub.com/mcp.'
  contact:
    email: support@carrierscrub.com
    url: https://carrierscrub.com/contact
  termsOfService: https://carrierscrub.com/terms
servers:
- url: https://carrierscrub.com
security:
- apiKey: []
tags:
- name: Batch
paths:
  /v1/batch:
    post:
      operationId: batchCheck
      summary: Check a list of carriers from a CSV or XLSX file
      description: One carrier per row, by USDOT or MC number. Files over 8 MB are refused; rows past the first 1,000 are reported back as skipped rather than dropped. Up to 50 carriers per file are refreshed live from FMCSA; the rest use CarrierScrub's stored record with its date. The same carrier listed more than once is checked once. The request counts once toward the daily API limit.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              properties:
                file:
                  type: string
                  format: binary
                  description: A .csv or .xlsx file.
      responses:
        '200':
          description: One result row per carrier in the file, in file order.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jobId:
                    type: string
                  filename:
                    type: string
                  results:
                    type: array
                    description: Each row carries the input value and either the carrier's verdict (the same fields as a single lookup) or the reason it could not be checked.
                    items:
                      type: object
                  usage:
                    type: object
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/Error'
        '402':
          $ref: '#/components/responses/Error'
        '413':
          $ref: '#/components/responses/Error'
        '429':
          $ref: '#/components/responses/Error'
      tags:
      - Batch
components:
  responses:
    Error:
      description: 'The check was not completed. 401: no key, or the key is invalid, expired or revoked. 402 (code payg_credits_exhausted): the brokerage has used its free lookups this month and has no credits left; the hint says where to buy them. 404: no carrier for that number. 413: the file is too large. 429: daily limit reached. 503: FMCSA could not be reached and no dated record is on file.'
      content:
        application/json:
          schema:
            type: object
            required:
            - error
            properties:
              error:
                type: string
              hint:
                type: string
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: 'Authorization: Bearer cs_live_... An owner or admin of the brokerage, on any plan, creates keys in Admin, then API keys. A key that goes unused for 60 days stops working.'
externalDocs:
  description: Getting access
  url: https://carrierscrub.com/auth.md