B2B API

Healthcare Data API

Access 9M+ providers and batch-refreshed self-pay pricing through a single endpoint

Quick Start

1

Get API Key

Choose a paid API tier to begin

2

Include API Key

Include api_key in the JSON request body

3

Search Providers

POST a query and location to get providers with pricing

curl -X POST "https://sytjhslzedcesudozwwm.supabase.co/functions/v1/widget-search" \
  -H "Content-Type: application/json" \
  -d '{"query": "family doctor", "location": "90210", "api_key": "your_key_here"}'

Endpoint

POST
https://sytjhslzedcesudozwwm.supabase.co/functions/v1/widget-search

Search healthcare providers by query and location. Returns providers with self-pay pricing estimates.

Request Body (JSON)

FieldTypeRequiredDescription
querystringYesSearch term (e.g., "family doctor", "MRI", "dentist")
locationstringYesZIP code or city name
api_keystringYesAPI key issued with your paid tier

Example Request

POST https://sytjhslzedcesudozwwm.supabase.co/functions/v1/widget-search
Content-Type: application/json

{
  "query": "family doctor",
  "location": "90210",
  "api_key": "your_key_here"
}

Example Response

This is an illustrative response. Provider names and prices are examples, not a price quote or guarantee.

{
  "results": [
    {
      "provider_name": "Dr. Sarah Chen",
      "specialty": "Family Medicine",
      "city": "Beverly Hills",
      "state": "CA",
      "price_low": 85,
      "price_mid": 145,
      "price_high": 220,
      "source": "cms_transparency",
      "is_locked": false
    },
    {
      "provider_name": "Pacific Family Health",
      "specialty": "Family Practice",
      "city": "Los Angeles",
      "state": "CA",
      "price_low": 95,
      "price_mid": 160,
      "price_high": 250,
      "source": "payer_negotiated",
      "is_locked": false
    }
  ],
  "total": 47
}

Code Examples

curl -X POST "https://sytjhslzedcesudozwwm.supabase.co/functions/v1/widget-search" \
  -H "Content-Type: application/json" \
  -d '{"query": "family doctor", "location": "90210", "api_key": "your_key_here"}'

Authentication

The widget-search endpoint requires an API key. Pass it in the request body as api_key.

{ "query": "dentist", "location": "10001", "api_key": "fvh_live_abc123..." }

Keys are prefixed with fvh_live_ (production) or fvh_test_ (sandbox).

Rate Limits

TierRequests/DayPrice
Basic1,000$99/mo
Pro10,000$499/mo
Enterprise100,000Custom

Rate Limit Headers

Every response includes these headers to help you manage usage:

HeaderDescriptionExample
X-RateLimit-LimitMax requests per day for your tier1000
X-RateLimit-RemainingRequests remaining in current window847
X-RateLimit-ResetUnix timestamp when the limit resets1709337600

Example response headers:

HTTP/1.1 200 OK
Content-Type: application/json
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1709337600

When you exceed your limit, the API returns 429 Too Many Requests. Upgrade your tier or wait until the reset time.

Enterprise plans can include the separate enterprise data endpoint for bulk and analytics requests. Those calls use the x-api-key header; contact sales for access and scope.

API Pricing

Most Popular

Basic

$99/mo
1,000/day requests
  • ✓Provider search
  • ✓Price lookups
  • ✓Email support
  • ✓Usage dashboard
Start Basic

Pro

$499/mo
10,000/day requests
  • ✓All Basic features
Start Pro

Enterprise

Custom
100,000/day requests
  • ✓All Pro features
  • ✓Enterprise API access
  • ✓Custom integrations
Contact Sales