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.
| Column | Type | Description |
|---|---|---|
npi | int | 10-digit National Provider Identifier. |
ein | int | Employer Identification Number of the billing entity. |
network_name | string | Payer network name. May be empty if not specified in the source file. |
business_name | string | Provider's registered legal business or practice name. |
plan_name | string | Payer plan identifier (slug format, e.g. national-ppo). |
billing_code | string | CPT / HCPCS billing code. |
billing_class | string | Service classification — professional or institutional. |
modifier | string | CPT modifier codes, if applicable. May be empty. |
rate | float | Negotiated rate amount in USD. |
negotiated_type | string | Rate type — e.g. fee schedule, negotiated, derived, percentage. |
fee_schedule | string | Fee schedule name used for this rate. |
service_group | string | Grouping category for the service. |
num_rate_groups | int | Number 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'sread_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_urlthis 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