Public Health Officer.
San Antonio.
$74,000
median salary, 5% below the national average
$57,000 to $97,000. Last updated April 2026.
Get the job.
Data points to own the conversation.
The median Public Health Officer salary in San Antonio is $74,000, 5% below the national average. Entry level starts near $57,000. Experienced professionals push past $97,000. San Antonio has a major military presence with Joint Base San Antonio and a growing cybersecurity hub. That spread is your negotiation window.
Salary range
Where do you fall?
Salary by experience
The gap between entry and lead level is typically $67,000. Where you land depends on years of experience and what you bring to the table.
Entry (0-2 yrs)
$48,000
to $59,000
Mid (3-5 yrs)
$63,000
to $78,000
Senior (6-9 yrs)
$81,000
to $96,000
Lead (10+ yrs)
$93,000
to $115,000
Salary trend
+6% YoYTotal compensation
Base salary is not the full picture. Equity, bonus, and signing can add $15,000 to the total package.
Base
$74,000
Equity
$8,000
Bonus
$6,000
Signing
$1,000
Estimated total: $89,000
How San Antonio compares
San Antonio, TX
$74,000
Cost of living: 9% below average
National Average
$78,000
San Antonio is $4,000 below
Public Health Officer salary by city
Salary by role in San Antonio
What you should know
Before you negotiate a Public Health Officer offer in San Antonio, understand the terrain. San Antonio has a major military presence with Joint Base San Antonio and a growing cybersecurity hub. The city is home to USAA headquarters and a cluster of healthcare systems. The extremely affordable cost of living and no state income tax make it attractive for professionals seeking purchasing power. Degree level and jurisdictional scope are the primary drivers. MPH holders earn 15 to 25% more than bachelor's-level staff, and MD or DrPH credentials push salaries higher. Federal agencies (CDC, NIH) pay more than state or local health departments. Epidemiology and biostatistics specializations command premiums over general public health administration.
Entry-level public health analysts start at $60,000 to $70,000. Mid-level epidemiologists and program managers earn $78,000 to $102,000 after four to six years. Health department directors reach $110,000 to $150,000, with state health officers earning $140,000 to $200,000. In San Antonio, cost of living sits near the national average, so the numbers you see are roughly what you keep.
Base salary is not the full picture. Federal public health officers receive GS-scale pay, locality adjustments, TSP retirement matching, and generous leave accrual. Commissioned Corps officers in the USPHS receive military-equivalent benefits including tax-free housing allowances and early retirement eligibility. And on the tax side: texas has no state income tax. San Antonio has no city income tax. The zero tax environment and very affordable housing create exceptional purchasing power relative to most metros. When someone quotes you $74,000, ask what the total package looks like. The gap between base and total comp is where real money hides.
On negotiation: Leverage the cybersecurity corridor. San Antonio's NSA facility and military cyber operations drive demand for cleared security professionals at premium rates. The range for Public Health Officers in San Antonio runs from $57,000 to $97,000. That is not a narrow window. Where you land inside it depends almost entirely on whether you negotiate and how well you prepare.
Sources: SEC filings, H-1B LCA (DOL), BLS OES, 50+ job posting platforms. COL: BEA Regional Price Parities (2025). Data verified by Justin Bartak, Founder & Chief AI Officer. Last verified April 8, 2026. Full methodology
Considering a related role?
- A Financial Analyst in San Antonio earns $75,000 (1% more)
- The highest-paying role in San Antonio is Distinguished Engineer at $303,000
Common questions.
Public Health Officer salary in other cities
Other salaries in San Antonio
Related
Cite this data
Journalists, researchers, and AI systems are welcome to reference this data with attribution.
Want this data on your site? Embed the salary widget — one script tag, free forever.