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

GET/api/v1/public/contractors/search

Search active contractors by keyword, specialty, city, or state.

ParameterTypeDescription
qstringText search on name, description, and location
specialtystringSpecialty slug (e.g. yacht-detailing). See /specialties endpoint.
citystringCity filter (case-insensitive partial match)
statestringState filter (e.g. FL)
pageintegerPage number (1–3 max)
limitintegerResults 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
    }
  }
}
GET/api/v1/content/contractors/geo-search

Find contractors within a radius of a point, or within a bounding box. Returns distance from the search point (point mode only).

ParameterTypeDescription
latfloatLatitude of search point (point mode)
lngfloatLongitude of search point (point mode)
radiusfloatSearch radius in miles (default 30, point mode)
minLatfloatMinimum latitude (bbox mode)
maxLatfloatMaximum latitude (bbox mode)
minLngfloatMinimum longitude (bbox mode)
maxLngfloatMaximum longitude (bbox mode)
specialtySlugstringFilter by specialty slug
minRatingfloatMinimum Google rating (e.g. 4.0)
limitintegerMax 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"
GET/api/v1/public/contractors/:slug

Returns 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"
  }
}
GET/api/v1/content/contractors/specialties

Returns 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