---
title: "Raw authority-for-sale listings feed"
method: GET
path: "/v1/mc-sale-listings"
---

# Raw authority-for-sale listings feed

`GET /v1/mc-sale-listings`

## Request

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

Cursor-paginated feed of raw listings across all monitored sale channels and marketplaces, independent of carrier resolution. Ordered posted-at descending; follow next_cursor until has_more is false. Offset/page params return 400.

## Query parameters

- `limit` integer
- `cursor` string
- `source` string
- `posted_after` string, date-time: ISO-8601 — posts on/after (date-only "before" values include the whole day)
- `posted_before` string, date-time: ISO-8601 — posts on/before (date-only "before" values include the whole day)
- `state` string
- `min_price` number
- `max_price` number
- `amazon_status` string
- `highway_setup` boolean

## Response `200`

One page of the raw listings feed

- McSaleListingsFeedResponse
  - `listings` McSaleFeedItem[]
    - `id` string: source-prefixed stable id, e.g. "facebook_group:<uuid>"
    - `post_url` string, nullable
    - `post_text` string, nullable
    - `seller_name` string, nullable
    - `phone` string, nullable
    - `email` string, nullable
    - `linked_dot_numbers` integer[]: DOTs this listing has been resolved to (empty when unresolved)
    - `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; null when unparsed or outside $1-$1M sanity bounds
    - `sold` boolean, nullable: true once a sold marker is detected; expect lag
  - `limit` integer
  - `has_more` boolean
  - `next_cursor` string, nullable: Opaque keyset cursor — pass back verbatim; page/offset params return 400

## Other responses

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

## Changes

- **2026-08-18** `ae58c064a7af`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/runalphaloops/apis/alphaloops-fmcsa-carrier-data-api/changes/v1/mc-sale-listings/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)
