---
title: "Search services by zipcode + radius and compute pricing stats"
method: GET
path: "/v1/services/search/{zipcode}/{radius}"
tags: ["Services"]
---

# Search services by zipcode + radius and compute pricing stats

`GET /v1/services/search/{zipcode}/{radius}`

## Request

- Base URL: `https://api.bluehive.com`
- URL: `https://api.bluehive.com/v1/services/search/{zipcode}/{radius}`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/bluehive-health/apis/bluehive-api/docs/v1/services/search/:zipcode/:radius/get.ts> (a function with typed inputs; its response is checked against the schema)

Validates zipcode, finds providers in radius (or specific providerId(s)), resolves serviceIds, and returns services with min/avg/max prices.

## Path parameters

- `zipcode` string, required
- `radius` string, required

## Query parameters

- `providerId` string
- `brandId` string

## Headers

- `authorization` string, required
- `login-token` string, required
- `user-id` string, required

## Response `200`

Default Response

- object
  - `status` string, required
  - `services` object[], required
    - `_id` string, required
    - `name` string, required
    - `description` string
    - `slug` string
    - `family` string
    - `subFamily` string
    - `groupName` string
    - `brandId` string
    - `aliases` object[]
      - `name` string, required
    - `codes` object[]
      - `type` string, required
      - `code` string, required
    - `createdAt` string, date-time
    - `createdBy` unknown
    - `minPrice` unknown
    - `avgPrice` unknown
    - `maxPrice` unknown

## Other responses

- `400`: Default Response
- `500`: Default Response

## Changes

- **2026-10-16** `a8bcbdf02e33`: 4 info
  - the response property `services/items/aliases/items/name` became required for the status `200`
  - the response property `services/items/codes/items/code` became required for the status `200`
  - the response property `services/items/codes/items/type` became required for the status `200`
  - the response property `services/items/name` became required for the status `200`
- **2026-08-15** `d753865b0837`: 3 breaking
  - the response property `services/items/aliases/items/name` became optional for the status `200`
  - the response property `services/items/codes/items/code` became optional for the status `200`
  - the response property `services/items/codes/items/type` became optional for the status `200`
- **2026-08-13** `e6e553c2594a`: 3 info
  - the response property `services/items/aliases/items/name` became required for the status `200`
  - the response property `services/items/codes/items/code` became required for the status `200`
  - the response property `services/items/codes/items/type` became required for the status `200`
- **2026-08-13** `d753865b0837`: 3 breaking
  - the response property `services/items/aliases/items/name` became optional for the status `200`
  - the response property `services/items/codes/items/code` became optional for the status `200`
  - the response property `services/items/codes/items/type` became optional for the status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/bluehive-health/apis/bluehive-api/changes/v1/services/search/:zipcode/:radius/get.md)

---

[API](https://skmtc.dev/bluehive-health/apis/bluehive-api.md) - [All operations](https://skmtc.dev/bluehive-health/apis/bluehive-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bluehive-health/apis/bluehive-api/revisions/a8bcbdf02e33?raw)
