MyDotCheck developers
A free, read-only API and MCP server over public FMCSA data. No API key, no sign-up. Use it from scripts, apps and AI agents.
REST API
Base URL https://mydotcheck.com. Rate limit 60 requests per minute per IP, reported in RateLimit-* headers. Errors are JSON: {"error":{"code","message"}}.
| Method | Path | What it returns | Try it |
|---|---|---|---|
| GET | /api/v1/carriers/{dot} | Compliance check for one USDOT number: status, MCS-150, authority, safety rating, 24-month out-of-service rates, UCR. | example |
| GET | /api/v1/carriers?q= | Search carriers by name, city or USDOT number (limit up to 50). | example |
| GET | /api/v1/mc/{mc} | Resolve an MC docket number to its USDOT number. | example |
| GET | /api/v1/mcs150-due-date?dot= | MCS-150 biennial update deadline (pure calculation). | example |
| GET | /api/v1/ucr-fee?vehicles=&year= | UCR fee bracket from the official UCR Plan table. | example |
| POST | /ask | NLWeb natural-language query. JSON by default, SSE with prefer.streaming. | example |
curl https://mydotcheck.com/api/v1/carriers/80806
curl "https://mydotcheck.com/api/v1/ucr-fee?vehicles=4&year=2027"
curl -X POST https://mydotcheck.com/ask -H "Content-Type: application/json" -d '{"query":"mcs-150 due date for dot 1234567"}'Sandbox and testing
There is no separate sandbox because nothing can be changed: every endpoint and MCP tool is read-only public data, so calling production is safe. Good test inputs: USDOT 80806, MC 135797, USDOT 1234567 for MCS-150 math, and 4 vehicles for UCR.
MCP server
Streamable HTTP at https://mydotcheck.com/mcp. No auth. Supports MCP Apps (a ui:// compliance card for lookup_carrier).
lookup_carrier
Look up a trucking company by USDOT number and get its DOT compliance check from public FMCSA data: active or inactive status, MCS-150 last filed and next due date, MC operating authority, safety rating, 24-month driver and vehicle out-of-service rates vs the national average, UCR reminder, fleet size and location. Use when a user gives a USDOT number or asks whether a carrier is compliant, active or overdue.
search_carriers
Search the FMCSA carrier census by company name, DBA, city or USDOT number. Returns up to 50 matches with USDOT number, city, state, power units and active status. Use when the user knows a company name but not its USDOT number.
lookup_mc_number
Resolve an MC (operating authority docket) number to the carrier's USDOT number. Follow up with lookup_carrier for the full check.
mcs150_due_date
Calculate the MCS-150 biennial update deadline for a USDOT number from FMCSA's published schedule (last digit sets the month, next-to-last digit sets odd or even years). Pure calculation, no lookup.
ucr_fee
Unified Carrier Registration fee and bracket for a number of commercial motor vehicles, from the official UCR Plan fee table (years 2027, 2026).
{ "mcpServers": { "mydotcheck": { "type": "http", "url": "https://mydotcheck.com/mcp" } } }In-browser agents (WebMCP)
Every page registers read-only tools through document.modelContext: check_dot_number, search_carriers, mcs150_due_date, ucr_fee, get_pricing and navigate_to_page. The search form is also a declarative WebMCP tool.
Discovery files
- OpenAPI 3.1 spec /openapi.json
- API catalog (RFC 9727) /.well-known/api-catalog
- Agentic resource discovery catalog /.well-known/ard.json
- A2A agent card /.well-known/agent-card.json
- MCP server card /mcp/server-card
- Agent skills index /.well-known/agent-skills/index.json
- Agent guide /agents.md
- Authentication (none required) /auth.md
- Pricing as markdown /pricing.md
- llms.txt /llms.txt
MyDotCheck is an independent service and is not affiliated with, endorsed by, or part of the U.S. Department of Transportation or FMCSA. Data comes from public FMCSA datasets and may lag official records by a day or more. Government filings can be made directly with FMCSA at no charge.