Boatwork Developer API
Programmatic access to the Boatwork contractor network.
Authentication
All authenticated requests use a Bearer token in the Authorization header. Public API keys begin with bw_public_.
curl https://boatwork.co/api/v1/public/contractors/search \
-H "Authorization: Bearer bw_public_your_key_here" \
-G --data-urlencode "q=yacht detailing"Get your API key from your account dashboard → API Keys.
Rate Limits
Public API keys are limited to 500 requests per 24-hour rolling window. When the limit is exceeded the API returns 429 Too Many Requests with a Retry-After header indicating how many seconds to wait.
Unauthenticated requests are not tracked. If you need higher limits, contact us.
Endpoints
/api/v1/public/contractors/searchSearch active contractors by keyword, specialty, city, or state.
| Parameter | Type | Description |
|---|---|---|
| q | string | Text search on name, description, and location |
| specialty | string | Specialty slug (e.g. yacht-detailing). See /specialties endpoint. |
| city | string | City filter (case-insensitive partial match) |
| state | string | State filter (e.g. FL) |
| page | integer | Page number (1–3 max) |
| limit | integer | Results per page (max 20, default 20) |
curl "https://boatwork.co/api/v1/public/contractors/search?q=engine+repair&state=FL&limit=5" \
-H "Authorization: Bearer bw_public_your_key_here"Example response
{
"success": true,
"data": {
"contractors": [
{
"id": "clt_abc123",
"slug": "marine-engines-miami",
"name": "Marine Engines Miami",
"tagline": "Certified outboard & inboard specialists",
"location": "Miami, FL",
"geocodedCity": "Miami",
"geocodedState": "FL",
"avatarUrl": "https://example.com/logo.jpg",
"googleRating": 4.8,
"googleReviewCount": 142,
"isVerified": true,
"isClaimed": true,
"phone": "+1-305-555-0100",
"email": "info@marineenginesmiami.com",
"websiteUrl": "https://marineenginesmiami.com",
"specialities": [
{ "id": "sp_1", "name": "Engine Repair", "slug": "engine-repair" }
]
}
],
"pagination": {
"page": 1,
"limit": 5,
"total": 38,
"totalPages": 3
}
}
}/api/v1/content/contractors/geo-searchFind contractors within a radius of a point, or within a bounding box. Returns distance from the search point (point mode only).
| Parameter | Type | Description |
|---|---|---|
| lat | float | Latitude of search point (point mode) |
| lng | float | Longitude of search point (point mode) |
| radius | float | Search radius in miles (default 30, point mode) |
| minLat | float | Minimum latitude (bbox mode) |
| maxLat | float | Maximum latitude (bbox mode) |
| minLng | float | Minimum longitude (bbox mode) |
| maxLng | float | Maximum longitude (bbox mode) |
| specialtySlug | string | Filter by specialty slug |
| minRating | float | Minimum Google rating (e.g. 4.0) |
| limit | integer | Max results (default 100, max 500) |
curl "https://boatwork.co/api/v1/content/contractors/geo-search?lat=25.77&lng=-80.19&radius=20" \
-H "Authorization: Bearer bw_public_your_key_here"/api/v1/public/contractors/:slugReturns a full public profile for a contractor by slug, including photos, videos, reviews, and badges.
curl "https://boatwork.co/api/v1/public/contractors/marine-engines-miami" \
-H "Authorization: Bearer bw_public_your_key_here"Example response
{
"success": true,
"data": {
"id": "clt_abc123",
"slug": "marine-engines-miami",
"name": "Marine Engines Miami",
"about": "Full-service marine engine repair and maintenance...",
"tagline": "Certified outboard & inboard specialists",
"phone": "+1-305-555-0100",
"email": "info@marineenginesmiami.com",
"location": "Miami, FL",
"city": "Miami",
"state": "FL",
"logoUrl": "https://example.com/logo.jpg",
"isVerified": true,
"isClaimed": true,
"rating": 4.8,
"reviewCount": 142,
"specialties": [
{ "id": "sp_1", "name": "Engine Repair", "slug": "engine-repair" }
],
"photos": [],
"videos": [],
"reviews": [],
"badges": ["Top Rated"],
"social": {
"facebook": null,
"instagram": "https://instagram.com/marineenginesmiami",
"linkedin": null,
"youtube": null
},
"yearEstablished": 2015,
"updatedAt": "2024-03-15T00:00:00.000Z"
}
}/api/v1/content/contractors/specialtiesReturns all available specialty categories with their IDs and slugs. Use the slug value in search and geo-search filters.
curl "https://boatwork.co/api/v1/content/contractors/specialties" \
-H "Authorization: Bearer bw_public_your_key_here"Example response
{
"success": true,
"data": {
"specialties": [
{ "id": "sp_1", "name": "Engine Repair", "slug": "engine-repair" },
{ "id": "sp_2", "name": "Yacht Detailing", "slug": "yacht-detailing" },
{ "id": "sp_3", "name": "Marine Electrical", "slug": "marine-electrical" }
]
}
}Questions? Email api@boatwork.co