Educational benchmark from public data. Estimates, not guarantees. Verify reimbursement directly with each payer.

Practice business tool

What insurers actually pay for therapy

Pick a session type and your state to see real commercial reimbursement rates by payer (UnitedHealthcare, Cigna, Centene, Anthem) against Medicare, built from public Transparency-in-Coverage data. Free, no spreadsheet required.

How much do insurers pay for therapy?

For a 60-minute individual therapy session (CPT 90837), commercial in-network rates run roughly $125 to $165 depending on the payer, generally below the Medicare rate of about $167. Intake evaluations (90791) sit higher, group therapy (90853) much lower, and psychological testing (96130-96137) varies the most. Use the tool above to see the number for a specific code and state, plus how the major insurers compare.

Which payer matters more than which state

Therapists often assume reimbursement is mostly about geography. In the data it is mostly about the payer. The same CPT code can vary roughly 30% across major insurers for individual therapy, and far more for group therapy and psychological testing. The per-payer view makes that spread concrete so you can see where your fees sit before you set a cash rate or appeal a low reimbursement.

Using this to set or negotiate your private-pay fee

If you are out of network or going cash-pay, this benchmark shows what plans actually pay in-network, which is the floor most patients anchor to. Pair it with the practice savings calculator to model take-home at different fees, and see how a private-pay EHR handles superbills so out-of-network patients can claim reimbursement without extra admin.

Therapy reimbursement rates by CPT code

National medians across 4 major commercial payers, next to the Medicare rate for the same service. Use the tool above to narrow these to your state and see the per-payer breakdown.

CPT Service Medicare Commercial median Typical range
90785 Interactive complexity add-on (complicating communication factors) $15 $10 $5–$15
90791 Diagnostic intake / first evaluation $173 $149 $123–$183
90792 Diagnostic intake with medical services (prescriber) $202 $163 $131–$200
90832 Individual therapy, 30 minutes $86 $69 $57–$86
90834 Individual therapy, 45 minutes $114 $99 $83–$120
90837 Individual therapy, 60 minutes $167 $130 $114–$158
90839 Crisis therapy, first 60 minutes $160 $130 $106–$154
90840 Crisis therapy, each additional 30 minutes $77 $56 $9–$74
90845 Psychoanalysis session $109 $95 $88–$110
90846 Family therapy without the client present, 50 minutes $106 $102 $89–$124
90847 Family therapy with the client present, 50 minutes $110 $108 $92–$131
90853 Group therapy session $30 $41 $40–$50
96127 Brief emotional/behavioral check (per standardized measure) $5 $6 $5–$7
96130 Psychological testing evaluation by clinician, first hour $124 $125 $111–$148
96131 Psychological testing evaluation, each additional hour $87 $97 $86–$114
96132 Neuropsychological testing evaluation by clinician, first hour $122 $141 $122–$162
96133 Neuropsychological testing evaluation, each additional hour $98 $111 $98–$128
96136 Test administration and scoring by clinician, first 30 minutes $44 $54 $45–$63
96137 Test administration and scoring, each additional 30 minutes $37 $49 $41–$58

Commercial = in-network negotiated rate used as an out-of-network proxy. Snapshot 2026-06-07.

How we calculated these numbers

Every figure traces back to public data and a documented formula. Here is the full method, and the entire dataset and code are open source: coralehr/oon-therapy-benchmark.

  1. 1. Real payer files. Under the federal Transparency in Coverage rule, insurers must publish their negotiated rates in machine-readable files. We pull those files from 4 major payers (UnitedHealthcare, Cigna, Centene/Ambetter, and Anthem/Elevance) and stream them through a filter that keeps only the outpatient therapy CPT codes.
  2. 2. In-network rates as the proxy. Insurers are also required to publish out-of-network allowed amounts, but in practice those files are effectively empty (the largest we found was 17 KB). So we use published in-network negotiated rates as the proxy for what plans consider a service is worth. We keep only professional (clinician) rates and drop facility and bundled entries.
  3. 3. A Medicare anchor. We compute the Medicare Physician Fee Schedule rate for each code from CMS relative value units and the published conversion factor. That gives a stable, public reference every commercial rate is compared against.
  4. 4. State adjustment. Commercial rates are negotiated at the provider-group level and rarely tied cleanly to one state, so rather than guess, we scale the national rate by each state's Medicare geographic index (GPCI). The rate signal is real; the geographic variation comes from Medicare's own geography.
  5. 5. A multi-payer blend. For each code we pool the payers, weighting by how many observations each contributes, and report the median plus the per-payer breakdown so you can see the spread, not just one number.

Caveats worth stating plainly: this is a sample of plans, not a census; in-network is a proxy, not a measured out-of-network amount; and every figure is an estimate, not a guarantee. It is a benchmark for context, not billing or legal advice.

Related practice tools

Frequently Asked Questions

How much do insurers pay for therapy? +

It varies widely by payer. Across our data, a 60-minute individual therapy session (CPT 90837) runs roughly $125-$165 in-network depending on the insurer, generally below the Medicare rate of about $167. Cigna tends to pay the most and Centene/ACA plans the least.

Where does this reimbursement data come from? +

Real payer Transparency-in-Coverage machine-readable files (in-network negotiated rates) from UnitedHealthcare, Cigna, Centene, and Anthem/Elevance, anchored to the CMS Medicare Physician Fee Schedule. It is an open dataset; the source is linked on the page.

Why in-network rates and not out-of-network allowed amounts? +

Payers are required to publish out-of-network allowed amounts, but in practice those files are effectively empty. In-network negotiated rates are the reliable published signal, used here as a proxy. These are estimates, not guarantees.

Can I use this to set or negotiate my private-pay fee? +

It is a benchmark for context, not advice. It shows where commercial rates sit by payer and region so you can see how your fees compare before setting a cash rate or appealing a low reimbursement. Always verify specifics with each plan.

Does the patient's insurer really matter more than their state? +

Yes. The per-payer spread reaches about 30% on individual therapy and more on group therapy and psychological testing, which is often larger than the geographic variation between states.

How accurate are these numbers? +

They reflect a real sample of payer in-network rates, not every plan, so treat them as a benchmark rather than a quote. The medians have stayed stable as we added more plans and payers, which suggests the common codes are well supported. Always confirm a specific rate with the payer.

Can out-of-network patients get reimbursed for therapy? +

Often, partially. If a patient's plan has out-of-network benefits, they can submit a superbill and be reimbursed a percentage of the plan's allowed amount after their deductible. An EHR that generates superbills automatically makes this far easier for cash-pay practices.

What is the difference between CPT 90834 and 90837? +

Both are individual psychotherapy: 90834 is a 45-minute session and 90837 is a 60-minute session. 90837 reimburses more (it covers more time), and the gap between them shows up clearly in the table and tool above.

Keep going

Bill what you're owed, automatically

See what insurers pay now, then see how CoralEHR generates superbills and tracks private-pay billing inside one chart so you collect the full amount.

See CoralEHR billing