Access CMS Healthcare Data
Three ways to work with 100M+ Medicare provider records — from quick queries to full database downloads to enterprise deployments.
Choose Your Access Tier
Tier 1: Public API
For developers, researchers, and builders
- Query our database via REST API
- 100 requests per minute
- Up to 1,000 rows per query
- All 30 datasets accessible
- Interactive dashboard included
No signup required • Start querying immediately
Tier 2: Research Access
For academics and serious analysts
- Larger queries (up to 10K rows)
- Bulk table exports (CSV/Parquet)
- Full database snapshot (6GB DuckDB)
- 24-48 hour approval turnaround
- Academic/research priority
Tell us your use case • Manual approval
Tier 3: Enterprise API
For health systems and organizations
- Unlimited queries and downloads
- Real-time data updates
- Custom transformations & enrichment
- Azure deployment (your tenant)
- Match engine + LLM integration
- White-glove support
Starting at $2K/month + setup
API Quick Start
Start querying immediately. No authentication required for basic access. API key required for higher rate limits.
Basic Query Example
Find top California providers by Medicare payment:
curl -X POST https://healthcaredataai.com/api/query \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"sql": "SELECT npi, first_name, last_name, provider_type, city,
ROUND(tot_medicare_payment,2) as payment
FROM core_providers c
JOIN utilization_metrics u ON c.npi = u.npi
WHERE c.state = '\''CA'\''
ORDER BY payment DESC
LIMIT 10"
}'
Response Format
{
"columns": ["npi", "first_name", "last_name", "provider_type", "city", "payment"],
"rows": [
["1003053851", "Aaron", "Jeng", "Internal Medicine", "San Gabriel", 44581902.37],
["1174718134", "Richard", "Park", "Internal Medicine", "Granada Hills", 32374385.82],
...
],
"row_count": 10,
"elapsed_ms": 42.3,
"truncated": false
}
Available Endpoints
GET /health
Health check and database stats
GET /tables
List all tables with row counts
GET /tables/{name}/schema
Get table schema (columns, types)
POST /query
Execute SQL query (read-only)
GET /search/places
Provider search with Google Places
GET /match/search
Match provider name to CMS data
Request Research Access
Need larger queries or bulk downloads? Fill out this form and we'll review your request. Academic researchers and non-profit organizations are prioritized.
Data Sources & Attribution
All data provided by the Centers for Medicare & Medicaid Services (CMS) via data.cms.gov.
What We Do:
- Aggregate and consolidate 30+ CMS public use files into one database
- Transform and enrich data for easier analysis (entity resolution, matching)
- Serve via modern API and interactive dashboard
- Update quarterly following CMS release schedules
What We Don't Have:
- Protected Health Information (PHI) — our data is provider-level aggregates only
- Individual patient records or claims (requires Data Use Agreement with CMS)
- Real-time data — typically 1-2 years lag between service and public release
- Non-Medicare data — Medicaid, commercial insurance, other payers not included
Not affiliated with CMS. HealthcareDataAI is an independent project. All analysis, opinions, and interpretations are our own. For official CMS data and documentation, visit data.cms.gov.