Per-state density for one specialty
Returns 51 rows (50 states + DC) with per-field provenance.
Optional subspecialty filter (§193). When supplied, the response is recomputed against NPPES providers whose taxonomy_codes array includes the requested NUCC code. Counts, per_100k, rank_density, and quartile are recomputed from the filtered slice. The parent study's underserved threshold doesn't transfer, so filtered rows always carry underserved: false.
Supported subspecialty codes per primary specialty (built from §183 / §188 specialty-study configs — same taxonomies the underlying ingest scoped to):
- cardiology: single-taxonomy ingest (207RC0000X — Internal Medicine, Cardiovascular Disease (parent)). ?subspecialty= either matches the parent or returns zero rows.
- dermatology (5 taxonomies):
- 207N00000X — Dermatology (parent)
- 207ND0900X — Dermatopathology
- 207NI0002X — Clinical & Laboratory Dermatological Immunology
- 207NP0225X — Pediatric Dermatology
- 207NS0135X — Procedural Dermatology / MOHS
- gastroenterology: single-taxonomy ingest (207RG0100X — Internal Medicine, Gastroenterology). ?subspecialty= either matches the parent or returns zero rows.
- neurology: single-taxonomy ingest (2084N0400X — Psychiatry & Neurology, Neurology (parent)). ?subspecialty= either matches the parent or returns zero rows.
- obgyn (3 taxonomies):
- 207V00000X — Obstetrics & Gynecology (parent)
- 207VX0000X — Obstetrics & Gynecology, Obstetrics
- 207VG0400X — Obstetrics & Gynecology, Gynecology
- oncology: single-taxonomy ingest (207RX0202X — Internal Medicine, Medical Oncology). ?subspecialty= either matches the parent or returns zero rows.
- ophthalmology: single-taxonomy ingest (207W00000X — Ophthalmology (parent)). ?subspecialty= either matches the parent or returns zero rows.
- orthopedic: single-taxonomy ingest (207X00000X — Orthopaedic Surgery (parent)). ?subspecialty= either matches the parent or returns zero rows.
- otolaryngology: single-taxonomy ingest (207Y00000X — Otolaryngology (parent)). ?subspecialty= either matches the parent or returns zero rows.
- pediatrics (20 taxonomies):
- 208000000X — Pediatrics (parent)
- 2080A0000X — Pediatrics, Adolescent Medicine
- 2080P0006X — Pediatrics, Developmental — Behavioral Pediatrics
- 2080P0008X — Pediatrics, Neurodevelopmental Disabilities
- 2080N0001X — Pediatrics, Neonatal-Perinatal Medicine
- 2080P0202X — Pediatrics, Pediatric Cardiology
- 2080P0203X — Pediatrics, Child Abuse Pediatrics
- 2080P0204X — Pediatrics, Pediatric Emergency Medicine
- 2080P0205X — Pediatrics, Pediatric Hematology-Oncology
- 2080P0206X — Pediatrics, Pediatric Endocrinology
- 2080P0207X — Pediatrics, Pediatric Hematology-Oncology (alt)
- 2080P0208X — Pediatrics, Pediatric Infectious Diseases
- 2080P0210X — Pediatrics, Pediatric Pulmonology
- 2080P0214X — Pediatrics, Pediatric Rheumatology
- 2080P0216X — Pediatrics, Pediatric Sports Medicine
- 2080I0007X — Pediatrics, Pediatric Infectious Diseases (alt)
- 2080S0010X — Pediatrics, Sleep Medicine
- 2080S0012X — Pediatrics, Sports Medicine
- 2080T0002X — Pediatrics, Pediatric Transplant Hepatology
- 2080H0002X — Pediatrics, Hospice and Palliative Medicine
- psychiatry: single-taxonomy ingest (2084P0800X — Psychiatry (individual provider)). ?subspecialty= either matches the parent or returns zero rows.
- urology: single-taxonomy ingest (208800000X — Urology (parent)). ?subspecialty= either matches the parent or returns zero rows.
Request
- Base URL: https://fonteum.com
- URL: https://fonteum.com/api/v1/specialties/{code}/by-state
- Auth: HTTP bearer
Path parameters
Query parameters
NUCC taxonomy code to filter on. Must be registered for the primary specialty (see endpoint description). Example: 207NS0135X (Procedural Dermatology / MOHS) for primary dermatology.
Caller stored-snapshot age bar (moat-defense #125). A positive duration — 48h, 7d, 90m, or a bare number of hours. The maximum age any consulted stored source snapshot may have for this request; it is not an upstream-release freshness guarantee. Response carries meta.freshness_policy; absence of the parameter leaves default behaviour unchanged.
What to do when a source is behind the max_staleness bar: flag (default) returns 200 with a stale flag; reject returns 409. on_stale=reject|409 is accepted as an alias.
Response
Per-state rows with provenance. When subspecialty is supplied, meta.subspecialty_filter is populated with the applied code, display name, and matched record count.
Example response
{
"data": [
{
"state_code": {
"source": "CMS NPPES NPI Registry",
"source_url": "https://npiregistry.cms.hhs.gov/api/"
},
"state_name": {
"source": "CMS NPPES NPI Registry",
"source_url": "https://npiregistry.cms.hhs.gov/api/"
},
"active_providers": {
"source": "CMS NPPES NPI Registry",
"source_url": "https://npiregistry.cms.hhs.gov/api/"
},
"population_2024": {
"source": "CMS NPPES NPI Registry",
"source_url": "https://npiregistry.cms.hhs.gov/api/"
},
"per_100k": {
"source": "CMS NPPES NPI Registry",
"source_url": "https://npiregistry.cms.hhs.gov/api/"
},
"rank_density": {
"source": "CMS NPPES NPI Registry",
"source_url": "https://npiregistry.cms.hhs.gov/api/"
},
"quartile": {
"source": "CMS NPPES NPI Registry",
"source_url": "https://npiregistry.cms.hhs.gov/api/"
},
"underserved": {
"source": "CMS NPPES NPI Registry",
"source_url": "https://npiregistry.cms.hhs.gov/api/"
}
}
],
"meta": {
"request_id": "req_abc123def456",
"freshness": [
{
"source_id": "oig-leie"
}
],
"freshness_policy": {
"max_staleness": "48h",
"max_staleness_hours": 48
}
}
}Changes
No recorded changes to this operation across all 1 revision of this API.