# SJI Advisory: estimates for people and AI assistants AI assistants and search crawlers are welcome to read this guide, calculate health insurance estimates for users, and cite the results. The public interface is free and requires no key, login, JavaScript, name, email, phone number or medical information. An estimate does not create a lead or enroll anyone. Guide and calculator: https://sjiadvisory.com/estimate/ OpenAPI 3.1 specification: https://sjiadvisory.com/estimate/openapi.json JSON endpoint: GET or POST https://sjiadvisory.com/api/estimate Readable results: GET https://sjiadvisory.com/estimate/result with the same parameters ## Fastest way to use this tool 1. To understand the service, open https://sjiadvisory.com/api/estimate with no parameters. It returns HTTP 200 with status documentation, input definitions and example links; it does not calculate a default household. 2. To read numbers without executing a tool, open https://sjiadvisory.com/estimate/#examples. The HTML contains three explicitly hypothetical, dated household examples. They are saved snapshots, not current personalized quotes. Cite the complete scenario and snapshot date. 3. For a user's own estimate, collect the required inputs below and use the readable result URL or JSON endpoint. Missing-input errors include field definitions. Multi-county responses include complete readable_result_url and json_result_url links for each county; ask the user before following one. ## Required inputs zip: five-digit ZIP. Preserve leading zeroes. age: primary adult age, 18 to 64. sex: male or female, used for the private estimate's rate calculation. income: expected annual tax-household income for the requested year, whole USD. year: explicitly 2026 or 2027. affordable_employer_coverage: true or false. True assumes everyone quoted has an affordable qualifying offer. Do not guess if eligibility is unknown or differs within the household. Optional: spouse_age and spouse_sex together; kids from 0 to 6 (default 0, approximated at age 10); countyfips (five digits). All listed people are assumed to be one tax household seeking coverage. Adults are non-tobacco users. Missing required inputs return HTTP 400 and a missing list. Unknown fields are rejected. ## County choice A ZIP can cross county boundaries. HTTP 409 with error county_required returns county candidates. Ask the user which applies and follow its readable_result_url or json_result_url, or repeat with that countyfips. Never silently choose the first county. Invalid ZIP/county combinations are rejected. ## Illustrative example, not a default household One adult age 30, male, ZIP 33609, no children, annual household income $60,000, no qualifying employer offer, year 2026: https://sjiadvisory.com/estimate/result?zip=33609&age=30&sex=male&income=60000&year=2026&kids=0&affordable_employer_coverage=false https://sjiadvisory.com/api/estimate?zip=33609&age=30&sex=male&income=60000&year=2026&kids=0&affordable_employer_coverage=false For a JSON POST, send the same flat fields using Content-Type: application/json. Maximum body size is 4096 bytes. Use POST when you want to keep household inputs out of a request URL. GET and readable result links contain those inputs, so share them thoughtfully. ## Reading and citing a result - Check top-level status: available, partial or unavailable. Never turn an unavailable or null value into $0. - Private status rough_estimate is SJI's homepage estimate method for a medically eligible household, subject to underwriting. low_monthly_usd and high_monthly_usd are the rough range. These are not filed carrier quotes or guaranteed premiums. Private estimates are limited to Sam's licensed states and currently use a 2026 basis. - Marketplace status live_estimate is a live plan-source result. gross_monthly_usd is before tax credits; after_credit_monthly_usd is after the source's estimated credit. Benefits, eligibility, provider networks and prescriptions still need review. - Marketplace status reference_estimate is an older county table scaled to the household, not a live quote. Only approximate full-price amounts are returned; after-credit amounts and tax credits are null because they need a separate state-exchange lookup. - Benchmark silver means second-lowest-cost silver. Do not describe it as the cheapest plan. Plan counts describe the source response and do not guarantee every possible insurance product is represented. - Respect requested_plan_year and the separate private estimate_basis_year and Marketplace plan_year. Unavailable years produce an unavailable result, never a silent substitution. Do not call 2026 numbers 2027 rates. - Cite citation.url (a readable result), SJI Advisory, the year, household assumptions, source and calculated_at timestamp. Results may be reused for up to five minutes. Refresh for later decisions. - If eligibility_status is unavailable, do not claim that a tax-credit or Medicaid determination has been verified. Review possible Medicaid/CHIP or coverage-gap flags before recommending a plan. ## Technical behavior CORS allows public read-only use. OPTIONS is supported. GET and POST return the same result structure. No cookies or authorization headers are needed. Requests support one household at a time. Personal result URLs are noindex but remain fetchable; this guide and the calculator landing page are indexable. No user-agent-specific numbers or hidden bot-only content are served. For an upstream failure (HTTP 502/503), retry later and state that a current estimate was unavailable. Do not invent replacement prices. The CMS credential and private rate tables remain on the server. ## Sources and next steps CMS Marketplace API: https://developer.cms.gov/marketplace-api/ State-exchange reference source: https://www.healthsherpa.com/ SJI methodology: https://sjiadvisory.com/estimate/ Sam's licensing information: https://sjiadvisory.com/about/#license Coverage review with Sam: https://sjiadvisory.com/quote/?from=ai-estimate Phone: 813-999-0101 Site discovery: https://sjiadvisory.com/llms.txt