vanline.ai

vanline.ai API

A free, read-only JSON API over the US federal register of companies licensed to move household goods between states, from FMCSA filings refreshed daily. No key, no sign-up, and CORS is open. Every record carries its source and the date each fact was read. Nothing here is a rating, ranking or endorsement.

Base URL
https://vanline.ai/api/v1
Authentication
None
OpenAPI 3.1
/openapi.json
API catalog (RFC 9727)
/.well-known/api-catalog
MCP server
https://vanline.ai/mcp
Guide for AI tools
/llms.txt

Endpoints

GET /api/v1/movers/{usdot}

One company's federal record: operating authority (carrier, broker, both or none), insurance on file, address, fleet, and the source and date of each fact.

  • usdot (path, required): USDOT number, 1 to 8 digits
curl https://vanline.ai/api/v1/movers/543880
{
  "usdot": "543880",
  "legal_name": "McGuire Moving & Storage Inc",
  "entity_type": "carrier",
  "entity_type_meaning": "Moves household goods with its own equipment and crew.",
  "source": {
    "retrieved": "2026-10-07",
    "licensing_source": "FMCSA legacy authority file",
    "licensing_as_of": "2026-05-14",
    "url": "https://vanline.ai/movers/543880"
  },
  "citation": "vanline.ai, \"McGuire Moving & Storage Inc (USDOT 543880)\", licensing status as of 2026-05-14 (FMCSA legacy authority file); other details retrieved 2026-10-07."
}

GET /api/v1/search

Find companies by name, USDOT number or MC docket number. Results are alphabetical, never ranked.

  • q (query, required): At least two characters
  • limit (query): 1 to 50, default 10
curl https://vanline.ai/api/v1/search?q=atlas&limit=2
{
  "query": "atlas",
  "count": 2,
  "results": [
    {
      "usdot": "4261157",
      "name": "Atlas Moving LLC",
      "entity_type": "carrier",
      "city": "North Chesterfield",
      "state": "VA",
      "cargo_insurance_on_file": true,
      "record": "https://vanline.ai/movers/4261157",
      "json": "https://vanline.ai/api/movers/4261157"
    }
  ]
}

GET /api/v1/changes

Changes recorded in movers' federal filings, newest first: authority lost or gained, revocations, insurance filed or lapsed, moves and renames, new registrations.

  • kind (query): Comma-separated kinds, e.g. new_registration,authority_lost
  • state (query): Two-letter state code
  • since (query): YYYY-MM-DD; changes recorded on or after
  • limit (query): 1 to 500, default 100
curl https://vanline.ai/api/v1/changes?kind=authority_lost&limit=1
{
  "count": 1,
  "changes": [
    {
      "usdot": "4257891",
      "name": "2 Logistics LLC",
      "location": "Columbus, OH",
      "kind": "authority_lost",
      "kind_label": "Operating authority no longer active",
      "recorded_on": "2026-10-07",
      "record_url": "https://vanline.ai/movers/4257891"
    }
  ],
  "note": "recorded_on is the day vanline.ai first saw the change in FMCSA's files, not the day FMCSA acted; ..."
}

Errors

Every path under /api answers in JSON, including paths that do not exist. The error field is a stable code; message says what to change.

{
  "error": "query_too_short",
  "message": "Pass ?q= with at least two characters."
}

Versioning

The current version is v1, at /api/v1. Fields may be added to v1 at any time; nothing in it will be renamed or removed. A breaking change would ship as /api/v2, with v1 kept working for at least six months and its responses carrying Deprecation and Sunset headers (RFC 9745, RFC 8594) from the day v2 is published. The unversioned paths under /api are aliases of v1.

Limits

Per visitor, by IP address: 120 requests per minute to the API and 120 requests per minute to the MCP server. Every limited response carries RateLimit-Policy, and responses that are not cached also carry RateLimit with what is left (draft-ietf-httpapi-ratelimit-headers-11). Over the limit the answer is 429, with Retry-After and an application/problem+json body of the quota-exceeded type.

MCP server

Connect any MCP client to https://vanline.ai/mcp (Streamable HTTP). It offers the same data as the API, as 7 tools:

  • lookup_mover
  • search_movers
  • list_movers_by_state
  • estimate_move_cost
  • find_movers
  • moving_industry_stats
  • recent_changes

Markdown for agents

The homepage, company records, guides, route pages and this page answer Accept: text/markdown with a Markdown version from the same URL.

curl -H "Accept: text/markdown" https://vanline.ai/movers/543880

Citing the data

Every record carries a citation string and a source block. Quote licensing_as_of with any licensing or insurance fact. Describe what a company filed, never whether it is good or bad: that is the one thing these records cannot tell you. How the data is sourced.