Skip to main content
GET
/
v1
/
providers
/
search
Search
curl --request GET \
  --url http://localhost:7860/v1/providers/search
{
  "providers": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "location": "<string>",
      "distance_miles": 123,
      "credentials": [
        "<string>"
      ],
      "specialties": [
        "<string>"
      ],
      "insurances": [
        "<string>"
      ],
      "modalities": [
        "<string>"
      ],
      "offers_telehealth": true,
      "accepting_new_patients": true,
      "booking_url": "<string>",
      "website": "<string>"
    }
  ],
  "total_count": 123
}
For ranking behavior and query design tips, see the provider search guide.

Query Parameters

location
string | null

City, state (e.g., 'San Francisco, CA') or a ZIP code. Resolved to a centroid from matching provider locations.

lat
number | null

Latitude for the search center. Provide with lng.

lng
number | null

Longitude for the search center. Provide with lat.

radius_miles
number
default:25

Search radius in miles (1-250).

Required range: 0 < x <= 250
specialties
string[] | null

Filter by one or more specialties. Case-insensitive.

insurance
string | null

Insurance carrier name. Use 'out_of_pocket' to skip filtering.

telehealth_only
boolean
default:false

If true, only return providers offering telehealth.

accepting_new_patients
boolean | null
default:true

Filter by providers accepting new patients. Use null to disable.

limit
integer
default:10

Page size (1-50).

Required range: 0 < x <= 50
offset
integer
default:0

Pagination offset.

Required range: x >= 0

Response

Successful Response

providers
ProviderSearchResult · object[]
required
total_count
integer
required