Blue Crab Moving Services

For AI agents

Lead API for ChatGPT, Claude & the rest

Blue Crab Moving exposes its quote form as a public, CORS-open, schema-first JSON API so AI assistants and autonomous agents can submit moving and labor leads on behalf of a user. No auth, no keys, no rate-limit gate. Read the schema, confirm the answers with your user, POST the codes.

Rules for agents

Follow these and your submissions will land cleanly every time. The server enforces all of them with Zod validation; rule violations come back as HTTP 422 with named error paths.

  1. Read the JSON Schema first. Don't guess option-set values; they are listed under each property's enum.
  2. Submit codes, not Display labels. The server maps codes to platform Display labels at the CRM boundary.
  3. Confirm parsed values with the user before submitting. A submitted lead becomes a real entry in the CRM and triggers a human follow-up.
  4. Submit once per lead. Don't retry on validation errors without surfacing them to the user. Don't parallelize submissions.
  5. Set the X-Blue-Crab-Agent header to a short identifier for your agent or tool (e.g. claude-mcp/0.1). This skips the form-load timestamp spam check intended for browser submissions. Honeypot checks still apply to everyone.
  6. Required fields: type_of_service, client_name, client_email, main_zip, move_date, phone_number (10 US digits — any layout).
  7. For type_of_service === 'moving' include drop_zip only (no place/size chain). For 'help_with_unloading' include unloading_from, location_size, and location_stories (only if destination is a building type). For other labor services, omit destination fields entirely.

Quick start

Try a real lead end-to-end. This curl creates a CRM entry named "Agent Test". Replace with the user's details when wiring it into your tool.

curl -X POST "https://www.bluecrabmoving.com/api/lead" \
  -H "Content-Type: application/json" \
  -H "X-Blue-Crab-Agent: my-agent/0.1" \
  -d '{
    "type_of_service": "moving",
    "client_name": "Agent Test",
    "client_email": "test@example.com",
    "phone_number": "(202) 555-0142",
    "main_zip": "20910",
    "move_date": "2026-07-15",
    "type_of_place": "apartment",
    "move_size": "2_bedroom",
    "elevator": "yes",
    "elevator_floor": "1_5",
    "drop_zip": "22030"
  }'

Expected: HTTP 200 with {"ok":true,"message":"Lead received."}. On validation failure, HTTP 422 with an errors array. On upstream error, HTTP 502.

Setup in popular tools

ChatGPT (Custom GPT · Actions)

  1. In the GPT builder, open ConfigureActionsCreate new action.
  2. Click Import from URL and paste the OpenAPI URL above.
  3. Authentication: None. Privacy policy: /privacy.
  4. Recommended instructions: have the GPT call getQuoteSchema once at session start, then ask the user only the questions relevant to their service path before calling submitMovingLead.

Claude API (HTTP tool)

Define two tools whose handler functions fetch() against the schema and submit endpoints. The OpenAPI URL above is the source of truth for the request/response shape; the X-Blue-Crab-Agent header is recommended.

Claude Desktop / Cursor / Continue (via MCP)

A dedicated MCP server is on the roadmap. Until it ships, an MCP wrapper can be built in ~60 lines using the TypeScript SDK that simply proxies HTTP calls to the endpoints above.

About Blue Crab Moving

Licensed and insured moving company headquartered in Gaithersburg, Maryland (USDOT 4539918, MC 1801440). 12+ years of local and out-of-state moves across Maryland, Washington D.C., Virginia, and West Virginia's Eastern Panhandle. Owner-operated. The lead you submit lands in a real CRM and the customer gets a preliminary written estimate by email in under a minute, with a link to a personal quote builder for inventory refinement and the final binding price.

Questions, integration help, or partnership inquiries: info@bluecrabmoving.com.

Call for Quote
(855) 514-8432
Get Quote
Online