API Docs/CSV Output Schema

CSV Output Schema

Results are delivered as a gzip-compressed CSV file (.csv.gz) downloaded from the pre-signed download_url returned by Get Search Status once a job reaches status: "completed". Each row represents a single negotiated rate for a provider–code–plan combination.

Rows are deduplicated across all selected columns. Each unique combination of provider details (NPI and EIN), network name, plan name, billing code, modifiers, and rate details appears exactly once. Consequently, if the same rate was reported for multiple network names — or if multiple NPIs map to the same EIN — they will appear as separate distinct rows in the final table.

ColumnTypeDescription
npiint10-digit National Provider Identifier.
einintEmployer Identification Number of the billing entity.
network_namestringPayer network name. May be empty if not specified in the source file.
business_namestringProvider's registered legal business or practice name.
plan_namestringPayer plan identifier (slug format, e.g. national-ppo).
billing_codestringCPT / HCPCS billing code.
billing_classstringService classification — professional or institutional.
modifierstringCPT modifier codes, if applicable. May be empty.
ratefloatNegotiated rate amount in USD.
negotiated_typestringRate type — e.g. fee schedule, negotiated, derived, percentage.
fee_schedulestringFee schedule name used for this rate.
service_groupstringGrouping category for the service.
num_rate_groupsintNumber of distinct rate values observed for the tuple (ein, billing_code, plan_name, modifier, service_group, billing_class). Useful for flagging codes where the provider has multiple contracted rates under the same plan.

Loading tips

  • The file is gzipped — decompress before loading, or use a reader that handles gzip natively (pandas' read_csv(..., compression="gzip"), DuckDB's read_csv_auto, etc.).
  • Every row has an ein, so you can join results across providers sharing a TIN without additional lookups.
  • Empty strings are used for missing string fields, not NULL.
  • Code Examples show how each language downloads and writes the gzipped file end-to-end.

See also

  • Get Search Status — returns the download_url this file is fetched from
  • Code Examples — streaming download snippets in four languages
  • Create Search — the request fields (npis, billing_codes, fee_schedules) that shape what ends up in the CSV
Keeper Health API v1 · Questions? company@keeperhealth.com