Search Location Procedure Prices (v2)

Find location-level procedure prices near an address or lat/lng,
sorted by price ascending (min).

This is the primary “shop around me” endpoint for individual procedures.

Location required

Unlike v1 (which silently defaulted to a New York City address), v2 requires
either address or both lat and lng. Missing location → HTTP 400.
Providing only one of lat/lng → HTTP 400. Failed geocoding → HTTP 400.

Example Use Case

Search for CPT 27447 within 25 miles of ZIP 10001 for carrier 78110,
sorted from lowest to highest negotiated min, with facility address fields
for a map UI.

Carrier filtering

Prefer carrier_id. plan_id currently returns HTTP 501.
carrier_id and plan_id are mutually exclusive.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
string

Free-text address or ZIP code, geocoded server-side.

Provide either address or both lat and lng. Failed geocoding returns HTTP 400.

float

Latitude for a coordinate search. Must be provided together with lng.

Provide either both lat and lng, or address. Providing only one of
lat/lng returns HTTP 400.

float

Longitude for a coordinate search. Must be provided together with lat.

Provide either both lat and lng, or address. Providing only one of
lat/lng returns HTTP 400.

float
Defaults to 25

Search radius in miles from the resolved address or coordinates. Must be greater than zero.

string

Exact procedure code filter (for example 27447).

string

Exact match on procedure coding system (for example CPT or HCPCS).

string

Filter to a specific care cluster by its business code (for example JOINT_REPLACEMENT).

string

Filter results to a single insurance carrier using the v2 carrier business id
(for example 78110).

Discover valid values with GET /v2/carriers. These ids are
not the same as v1 /v1/pricing/carriers UUIDs.

Mutually exclusive with plan_id — sending both returns HTTP 400.

string

Match on carrier display name. Case-insensitive substring on
/v2/carriers; case-insensitive exact match on DB-backed pricing endpoints;
case-sensitive exact match on Elasticsearch search endpoints.

string

Reserved for filtering by a Ribbon insurance plan UUID.

Not functional yet — requests that include plan_id return HTTP 501 until
plan→carrier mapping is available. Prefer carrier_id today.

Mutually exclusive with carrier_id — sending both returns HTTP 400.

integer
≥ 1
Defaults to 1

Page of results to return. Values below 1 are treated as 1.

integer
1 to 100
Defaults to 20

Number of results per page. Hard-capped at 100.

Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json