---
title: "Get authority-for-sale listings for a carrier"
method: GET
path: "/v1/carriers/{dot_number}/mc-sales"
---

# Get authority-for-sale listings for a carrier

`GET /v1/carriers/{dot_number}/mc-sales`

## Request

- Base URL: `https://api.runalphaloops.com`
- URL: `https://api.runalphaloops.com/v1/carriers/{dot_number}/mc-sales`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/runalphaloops/apis/alphaloops-fmcsa-carrier-data-api/docs/v1/carriers/:dot_number/mc-sales/get.ts> (a function with typed inputs; its response is checked against the schema)

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

## Path parameters

- `dot_number` integer, required

## Response `200`

Authority-for-sale listings, or a found: false sentinel when none are linked

- McSalesResponse
  - `dot_number` integer
  - `found` boolean
  - `mc_sale` object, nullable
    - `mc_numbers` string[]
    - `carrier` object
      - `legal_name` string, nullable
      - `dba_name` string, nullable
      - `state` string, nullable
      - `city` string, nullable
      - `phone` string, nullable
      - `email` string, nullable
      - `officers` string[]
    - `summary` object
      - `occurrence_count` integer
      - `avg_confidence` number, nullable
      - `max_confidence` number, nullable
    - `listings` McSaleListing[]
      - `seller_name` string, nullable
      - `phone` string, nullable
      - `email` string, nullable
      - `asking_price` string, nullable
      - `authority_age` string, nullable
      - `post_url` string, nullable
      - `source_file` string, nullable
      - `confidence` number, nullable: 0–1 match confidence for this observation
      - `reasoning` string, nullable
      - `post` McSaleListingPost, nullable: Source-post metadata. The whole group is null when the source post is no longer available.
        - `source` 'facebook_group' | 'facebook_page' | 'telegram' | 'mcxchange' | 'bizbuysell'
        - `source_url` string, nullable
        - `source_name` string, nullable
        - `posted_at` string, nullable
        - `engagement` object, nullable
          - `likes` integer
          - `comments` integer
          - `shares` integer
      - `authority` McSaleListingAuthority, nullable: Authority details extracted from the post text — the SELLER’S CLAIMS, not FMCSA records; cross-check against /authority.
        - `type` string, nullable
        - `status` string, nullable
        - `state` string, nullable
        - `mc_number` string, nullable
        - `dot_number` string, nullable
        - `granted_date` string, nullable
        - `granted_date_precision` string, nullable: one of exact | month | year | age — "age" dates are back-computed and ±1 year
        - `reinstated_date` string, nullable
        - `ein_disclosed` boolean
      - `safety` McSaleListingSafety, nullable: Safety stats as claimed in the post text, not FMCSA records.
        - `total_inspections` integer, nullable
        - `total_violations` integer, nullable
        - `total_crashes` integer, nullable
        - `vehicle_oos_pct` number, nullable
        - `driver_oos_pct` number, nullable
        - `vehicle_oos_count` integer, nullable
        - `driver_oos_count` integer, nullable
      - `included_assets` McSaleListingAssets, nullable: What the seller says is included. Booleans are tri-state: null means the post didn’t mention it.
        - `highway_setup` boolean, nullable
        - `amazon_status` string, nullable: Live | Suspended | Not Applicable | null
        - `bank_name` string, nullable
        - `factoring_name` string, nullable
        - `insurer` string, nullable
        - `insurance_limit_k` number, nullable
        - `fleet_size` integer, nullable
        - `email_included` boolean, nullable
        - `phone_included` boolean, nullable
      - `asking_price_usd` number, nullable: Parsed numeric price; the legacy asking_price string is retained for backwards compatibility
      - `sold` boolean, nullable: true once a sold marker is detected on the post; expect lag
    - `first_seen` string, date-time, nullable
    - `last_seen` string, date-time, nullable

## Other responses

- `401`: Invalid or missing API key
- `429`: Too many requests. Check X-RateLimit-Remaining and Retry-After headers.

## Changes

- **2026-08-18** `ae58c064a7af`: 6 info
  - added the optional property `mc_sale/listings/items/asking_price_usd` to the response with the `200` status
  - added the optional property `mc_sale/listings/items/authority` to the response with the `200` status
  - added the optional property `mc_sale/listings/items/included_assets` to the response with the `200` status
  - added the optional property `mc_sale/listings/items/post` to the response with the `200` status
  - …2 more

[Operation history](https://skmtc.dev/runalphaloops/apis/alphaloops-fmcsa-carrier-data-api/changes/v1/carriers/:dot_number/mc-sales/get.md)

---

[API](https://skmtc.dev/runalphaloops/apis/alphaloops-fmcsa-carrier-data-api.md) - [All operations](https://skmtc.dev/runalphaloops/apis/alphaloops-fmcsa-carrier-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/runalphaloops/apis/alphaloops-fmcsa-carrier-data-api/revisions/ae58c064a7af?raw)
