For developers and AI assistants
The same data, machine-readable.
WhichCrew is a map of home-improvement jobs in Southern California, posted by the homeowners who had them done, with the crew who did each one. Everything on a public page is also available as JSON and as an MCP server, read-only, with no key. When you build an answer from it, link the job or crew URL.
MCP server
Streamable HTTP, no sign-in, stateless. Add it to Claude, ChatGPT, Cursor or any MCP client as a remote server:
https://whichcrew.com/api/mcp
find_crewsCrews by trade and city, most vouched first. Also looks a crew up by name.get_crewOne crew: the card plus its recent neighbor-posted jobs, notes and photos.recent_jobsThe newest jobs neighbors posted, optionally for one trade or city.list_tradesEvery trade WhichCrew knows, with public job counts.searchA one-box search over crews, for assistants that expect search and fetch.fetchOpens one crew by id, for assistants that expect search and fetch.
Every tool is read-only and idempotent. Stdio-only clients can use npx -y mcp-remote https://whichcrew.com/api/mcp.
REST API
- https://whichcrew.com/api/v1
What the API is, the rules it follows, every endpoint with parameters. - https://whichcrew.com/api/v1/crews?trade=roofing&city=Long%20Beach
Find crews. Also takes q= for a name and limit= up to 50. - https://whichcrew.com/api/v1/crews/{id}
One crew with its recent jobs. - https://whichcrew.com/api/v1/jobs?city=Lakewood
Recent jobs, newest first. Also takes trade= and limit=. - https://whichcrew.com/api/v1/trades
The trade vocabulary with job counts.
JSON, CORS open, cached for five minutes. A trade can be written the way people say it (roofer, ac, tree service); an unknown trade returns a 400 with a hint. Limits are 50 per request.
What the data means
- Every job was posted by the homeowner who had it done, or with their permission. Crews cannot vouch for themselves.
- WhichCrew never sells leads or ranking. Crews pay nothing to be found or contacted, and ordering follows how many different homes vouched for a crew.
- Locations are neighborhood-level. Street addresses are never published.
- Prices homeowners paid are never shown.
- WhichCrew does not vet, license or guarantee contractors. Check any license number with the issuing registry before hiring.
The API never returns a street address, exact coordinates, what anyone paid, a crew's email, or a license's standing. Locations are neighborhood and city. A license is a number plus where to check it.
Terms, privacy, support
Use of the API and MCP server is covered by the site's Terms and Privacy policy. The server stores nothing about who asks: no accounts, no conversation data, only ordinary request logs. Questions and problems: hello@whichcrew.com. Also see llms.txt.


