# contractor.id profiles

> Contractor public profile URLs at contractor.id and the JSON endpoint behind them.

Source: https://docs.buildx.pro/docs/agents/contractor-id/

Every ContractorsNearMe profile also has a public page at contractor.id, and the profile data is available as JSON without a key.

## URLs

- Profile page: `https://contractor.id/<state>/<city>/<slug>`, for example `https://contractor.id/tx/austin/<slug>`. A short `https://contractor.id/<slug>` redirects there.
- A contractor who claims a handle also gets `https://contractor.id/<handle>`. See [Claim your profile](https://docs.buildx.pro/docs/subs/claim-profile.md).

## Profile JSON

`GET https://contractorsnearme.ai/api/agents/contractor-id/profile/<slug>` (the same path also works on `https://contractor.id`)

Returns `{ "contractor": { … } }` with `contractor_id`, `company_name`, `slug`, `city`, `state_code`, `avg_rating`, `is_verified`, `about_text`, `phone`, `website`, `primary_trade`, `profile_url`, `photos[]` (`url`, `description`), `services[]`, `reviews[]` (`rating`, `body`, `reviewer_name`), `certifications[]`, `promotions[]` and `service_areas[]`. This endpoint leaves out email addresses.

- Unknown slug: `404` `{"error":"Contractor profile not found"}`. Bad slug: `400`.
- CORS is open (`*`), so browser apps can call it. Cached for up to an hour. Limit: 100 requests a minute per IP.

## Check whether a profile is claimed

`GET https://contractorsnearme.ai/api/agents/contractor-id/claims/by-slug/<slug>` returns `{"claim": null}` when nobody has claimed the handle for that profile.

## Don't use

`/api/agents/contractors`, `/api/agents/itbs` and `/api/agents/leads` on contractorsnearme.ai and contractor.id are retired. They redirect to a sign-in page. Some older ContractorsNearMe pages still list them. Use the [MCP server](https://docs.buildx.pro/docs/agents/mcp-server.md) instead.

## Related

- [MCP server](https://docs.buildx.pro/docs/agents/mcp-server.md)
- [Find a contractor](https://docs.buildx.pro/docs/owners/find-a-contractor.md)
