Healthcare costs are one of the most common questions AI receives about clinics. This blueprint structures your visit fees, self-pay rates, accepted insurance plans, and sliding-scale options so AI can give accurate, direct answers instead of guessing from paragraph text.
When someone asks "how much does a walk-in clinic visit cost" or "which clinics near me accept Medicaid," AI needs structured pricing data to answer. Most clinics bury this information in paragraphs or avoid publishing it entirely. Structured data on a pricing page gives your clinic an advantage over competitors who leave AI guessing.
Offer attached to a Service. A new patient visit, an urgent care walk-in, and a wellness exam are each separate offers with their own pricing.Offer nodes with clear descriptions to specify self-pay pricing. Patients without insurance frequently ask AI for affordable clinic options — structured self-pay rates make your clinic discoverable for those queries.description or using paymentAccepted helps AI answer "clinic that takes Blue Cross near me" queries.Each field in the template below serves a specific role in how AI systems discover, classify, and recommend your business.
Researched and tested by Minnesota AI
nameurlpriceRangeCopy this prompt and paste it into Claude, ChatGPT, Cursor, or any AI coding tool. It will ask for your business details and generate ready-to-use JSON-LD schema for your page.
You are implementing AIFDS-compliant JSON-LD structured data for a Medical Clinic Pricing page. AIFDS (AI-Friendly Data Structure) is a schema framework built on research into which structured data fields AI systems actually read, parse, and use when deciding whether to cite a page. Documentation at aifds.org. Before generating any code, ask me for the following information in a single numbered list. Do not generate schema until I have answered every required field. REQUIRED — do not proceed without these: 1. Clinic name 2. Domain 3. Faq answer 4. Faq question 5. Fee type 6. New patient price 7. New patient visit description 8. Payment methods 9. Price range 10. Pricing page description 11. Pricing page title 12. Urgent care description 13. Urgent care price 14. Wellness exam description 15. Wellness exam price OPTIONAL — ask for these but proceed if I skip them: 1. Any additional details not covered above Once I provide the information, output a complete JSON-LD script block ready to paste into the <head> of my HTML page. Output requirements: - Valid JSON-LD wrapped in <script type="application/ld+json"> tags - schema.org vocabulary only - Every AIFDS-required field for this industry and page type included - Include this data attribute on the script tag: data-aifds="aifds.org Medical Clinic Pricing" - No placeholder text — omit missing optional fields rather than fill with examples - After the code block, list any optional fields skipped that would strengthen AI citation
Generated schema follows the AIFDS framework. Fields were selected based on research into AI crawler behavior. View the research at minnesota.ai
Copy the template below and replace every YOUR_* value with your own data. Add or remove Offer nodes to match your actual fee schedule.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebPage",
"@id": "https://YOUR_DOMAIN.com/pricing/",
"name": "YOUR_PRICING_PAGE_TITLE",
"description": "YOUR_PRICING_PAGE_DESCRIPTION",
"url": "https://YOUR_DOMAIN.com/pricing/",
"isPartOf": {
"@id": "https://YOUR_DOMAIN.com/#website"
},
"breadcrumb": {
"@id": "https://YOUR_DOMAIN.com/pricing/#breadcrumb"
}
},
{
"@type": "MedicalClinic",
"@id": "https://YOUR_DOMAIN.com/#clinic",
"name": "YOUR_CLINIC_NAME",
"url": "https://YOUR_DOMAIN.com",
"priceRange": "YOUR_PRICE_RANGE",
"currenciesAccepted": "USD",
"paymentAccepted": "YOUR_PAYMENT_METHODS",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Clinic Fee Schedule",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "MedicalProcedure",
"name": "New Patient Visit",
"description": "YOUR_NEW_PATIENT_VISIT_DESCRIPTION"
},
"price": "YOUR_NEW_PATIENT_PRICE",
"priceCurrency": "USD",
"description": "Self-pay rate"
},
{
"@type": "Offer",
"itemOffered": {
"@type": "MedicalProcedure",
"name": "Urgent Care Walk-In",
"description": "YOUR_URGENT_CARE_DESCRIPTION"
},
"price": "YOUR_URGENT_CARE_PRICE",
"priceCurrency": "USD",
"description": "Self-pay rate, no appointment needed"
},
{
"@type": "Offer",
"itemOffered": {
"@type": "MedicalProcedure",
"name": "Annual Wellness Exam",
"description": "YOUR_WELLNESS_EXAM_DESCRIPTION"
},
"price": "YOUR_WELLNESS_EXAM_PRICE",
"priceCurrency": "USD",
"description": "YOUR_FEE_TYPE (e.g., self-pay, covered by most plans)"
}
]
}
},
{
"@type": "BreadcrumbList",
"@id": "https://YOUR_DOMAIN.com/pricing/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://YOUR_DOMAIN.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Pricing",
"item": "https://YOUR_DOMAIN.com/pricing/"
}
]
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "YOUR_FAQ_QUESTION_1",
"acceptedAnswer": {
"@type": "Answer",
"text": "YOUR_FAQ_ANSWER_1"
}
},
{
"@type": "Question",
"name": "YOUR_FAQ_QUESTION_2",
"acceptedAnswer": {
"@type": "Answer",
"text": "YOUR_FAQ_ANSWER_2"
}
},
{
"@type": "Question",
"name": "YOUR_FAQ_QUESTION_3",
"acceptedAnswer": {
"@type": "Answer",
"text": "YOUR_FAQ_ANSWER_3"
}
}
]
}
]
}
Use an Offer with a description like "Sliding-scale fee based on household income, starting at $25." Include the minimum price in the price field so AI has a concrete number to surface. This is especially useful for community health clinics and federally qualified health centers that serve uninsured patients.
Schema.org does not have a dedicated insurance property, but you can list accepted plans in the clinic description or use paymentAccepted. AI frequently answers "clinic that takes [plan name] near me" queries, so making this information machine-readable gives your clinic an advantage over competitors who only list insurance in body text.
You can still use this blueprint. Use a priceRange like "$75-$250" on the organization node and create Offer nodes with "description": "Contact for pricing" for each visit type. This tells AI the service exists without disclosing specifics. Even a price range is more useful to AI than nothing.