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.
Endpoints
OpenAPI 3.1 spec
Import this URL directly into ChatGPT Actions, Claude HTTP tools, Zapier, n8n, Make, or any tool that consumes OpenAPI. Covers both POST /api/lead and GET /api/lead/schema.
/api/lead/openapi.jsonJSON Schema (Draft 2020-12)
Read this first. Lists every valid code for every option-set field, every conditional rule (places by service, sizes by place, destination requirements), and every Display label.
/api/lead/schemaChatGPT plugin manifest (legacy)
Legacy ai-plugin.json descriptor for tools still using the old ChatGPT plugin discovery flow. Points back at the OpenAPI spec.
/.well-known/ai-plugin.jsonllms.txt
Site-wide llms.txt at the root. Includes the company overview and the agent-API rules in plain text.
/llms.txtRules 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.
- Read the JSON Schema first. Don't guess option-set values; they are listed under each property's enum.
- Submit codes, not Display labels. The server maps codes to platform Display labels at the CRM boundary.
- Confirm parsed values with the user before submitting. A submitted lead becomes a real entry in the CRM and triggers a human follow-up.
- Submit once per lead. Don't retry on validation errors without surfacing them to the user. Don't parallelize submissions.
- 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.
- Required fields: type_of_service, client_name, client_email, main_zip, move_date, phone_number (10 US digits — any layout).
- 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)
- In the GPT builder, open Configure → Actions → Create new action.
- Click Import from URL and paste the OpenAPI URL above.
- Authentication: None. Privacy policy: /privacy.
- Recommended instructions: have the GPT call
getQuoteSchemaonce at session start, then ask the user only the questions relevant to their service path before callingsubmitMovingLead.
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.