{
  "version": 1,
  "generated": "2026-10-01",
  "regulationsReviewed": "2026-09-21",
  "counts": {
    "markets": 176,
    "verified": 88,
    "partial": 88,
    "statesWithMarkets": 51,
    "stateGuides": 21,
    "ratedCurated": 45,
    "ratedDerived": 129,
    "ratedNone": 2
  },
  "states": {
    "AL": {
      "code": "AL",
      "name": "Alabama",
      "guideUrl": "/states/alabama",
      "marketCount": 2,
      "medianAdr": 270,
      "medianOccupancy": 66,
      "medianRevenue": 65000,
      "medianSeasonalShare": 0.1088,
      "medianBigHomeShare": 0.2301,
      "medianTourismJobShare": 0.104,
      "medianAmenityScore": 64,
      "medianOpportunity": 59,
      "medianGrossYield": 0.1462,
      "medianYieldAfterTax": 0.1432,
      "medianBuyerScore": 22,
      "medianMomentum": 77,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 2,
      "coolingCount": 0,
      "medianPop300": 14623991,
      "medianComfortMonths": 12,
      "topRevenue": 66000,
      "regStrictness": 2,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0316,
      "stateBigHomeShare": 0.2152,
      "stateTourismJobShare": 0.0826,
      "housingUnits": 2296920,
      "stateHomeValue": 241613,
      "stateHomeValue4br": 373414,
      "stateHomeValueYoY": 0.019,
      "stateEffectiveTaxRate": 0.00391,
      "stateLossPer100k": 173,
      "stateDriverCount": 9,
      "stateEmergingCount": 0,
      "stateRiskScore": 82.7,
      "stateTopHazards": [
        "tornado",
        "coastalFlood"
      ]
    },
    "AK": {
      "code": "AK",
      "name": "Alaska",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.1862,
      "medianBigHomeShare": 0.1575,
      "medianTourismJobShare": 0.0934,
      "medianAmenityScore": 59,
      "medianOpportunity": 48,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 69,
      "medianMomentum": 62,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 487443,
      "medianComfortMonths": 2,
      "topRevenue": null,
      "regStrictness": 1.3,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0931,
      "stateBigHomeShare": 0.1929,
      "stateTourismJobShare": 0.0895,
      "housingUnits": 326188,
      "stateHomeValue": 398663,
      "stateHomeValue4br": 533711,
      "stateHomeValueYoY": 0.057,
      "stateEffectiveTaxRate": 0.01159,
      "stateLossPer100k": 278,
      "stateDriverCount": 13,
      "stateEmergingCount": 0,
      "stateRiskScore": 78.7,
      "stateTopHazards": [
        "earthquake",
        "winterWeather"
      ]
    },
    "AZ": {
      "code": "AZ",
      "name": "Arizona",
      "guideUrl": "/states/arizona",
      "marketCount": 11,
      "medianAdr": 210,
      "medianOccupancy": 68,
      "medianRevenue": 50000,
      "medianSeasonalShare": 0.0358,
      "medianBigHomeShare": 0.2619,
      "medianTourismJobShare": 0.093,
      "medianAmenityScore": 90,
      "medianOpportunity": 51,
      "medianGrossYield": 0.0906,
      "medianYieldAfterTax": 0.0855,
      "medianBuyerScore": 54,
      "medianMomentum": 47,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 18238753,
      "medianComfortMonths": 6,
      "topRevenue": 91000,
      "regStrictness": 2.1,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0588,
      "stateBigHomeShare": 0.231,
      "stateTourismJobShare": 0.0986,
      "housingUnits": 3097768,
      "stateHomeValue": 417990,
      "stateHomeValue4br": 506172,
      "stateHomeValueYoY": -0.011,
      "stateEffectiveTaxRate": 0.00556,
      "stateLossPer100k": 163,
      "strLaw": {
        "preemption": "strong",
        "summary": "State law says a city, town or county may not prohibit vacation rentals or short-term rentals, and may regulate them only for the purposes the statute lists (health and safety, nuisance, emergency contact, a local permit or licence capped at $250, and similar).",
        "citation": "A.R.S. 9-500.39 (cities and towns); A.R.S. 11-269.17 (counties)",
        "url": "https://www.azleg.gov/ars/9/00500-39.htm",
        "marketplaceCollectsTax": "yes",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 13,
      "stateEmergingCount": 0,
      "stateRiskScore": 97.7,
      "stateTopHazards": [
        "riverFlood",
        "wildfire"
      ]
    },
    "AR": {
      "code": "AR",
      "name": "Arkansas",
      "guideUrl": null,
      "marketCount": 1,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0843,
      "medianBigHomeShare": 0.137,
      "medianTourismJobShare": 0.1341,
      "medianAmenityScore": 52,
      "medianOpportunity": 33,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 33,
      "medianMomentum": 63,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 25275332,
      "medianComfortMonths": 7,
      "topRevenue": null,
      "regStrictness": 4,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0364,
      "stateBigHomeShare": 0.1651,
      "stateTourismJobShare": 0.0794,
      "housingUnits": 1371709,
      "stateHomeValue": 227264,
      "stateHomeValue4br": 376668,
      "stateHomeValueYoY": 0.036,
      "stateEffectiveTaxRate": 0.00591,
      "stateLossPer100k": 173,
      "stateDriverCount": 7,
      "stateEmergingCount": 0,
      "stateRiskScore": 76.4,
      "stateTopHazards": [
        "earthquake",
        "tornado"
      ]
    },
    "CA": {
      "code": "CA",
      "name": "California",
      "guideUrl": "/states/california",
      "marketCount": 9,
      "medianAdr": 295,
      "medianOccupancy": 66,
      "medianRevenue": 75000,
      "medianSeasonalShare": 0.0529,
      "medianBigHomeShare": 0.2663,
      "medianTourismJobShare": 0.1056,
      "medianAmenityScore": 62,
      "medianOpportunity": 56,
      "medianGrossYield": 0.0897,
      "medianYieldAfterTax": 0.0825,
      "medianBuyerScore": 39,
      "medianMomentum": 52,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 1,
      "coolingCount": 3,
      "medianPop300": 33902770,
      "medianComfortMonths": 7,
      "topRevenue": 98000,
      "regStrictness": 3.4,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0252,
      "stateBigHomeShare": 0.2184,
      "stateTourismJobShare": 0.0972,
      "housingUnits": 14424442,
      "stateHomeValue": 764158,
      "stateHomeValue4br": 925637,
      "stateHomeValueYoY": 0.004,
      "stateEffectiveTaxRate": 0.00712,
      "stateLossPer100k": 306,
      "strLaw": {
        "preemption": "none",
        "summary": "No statewide preemption found: the Legislative Counsel's digest of SB 346 (2025) states that existing law authorizes local authorities to regulate occupancy of lodging for less than 30 days, and that the bill does not preempt local short-term rental ordinances.",
        "citation": "SB 346 (2025), Stats. 2025 ch. 751, adding Gov. Code 50990 et seq. (Legislative Counsel's Digest)",
        "url": "https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml?bill_id=202520260SB346",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "medium"
      },
      "stateDriverCount": 62,
      "stateEmergingCount": 5,
      "stateRiskScore": 98.8,
      "stateTopHazards": [
        "earthquake",
        "riverFlood"
      ]
    },
    "CO": {
      "code": "CO",
      "name": "Colorado",
      "guideUrl": "/states/colorado",
      "marketCount": 5,
      "medianAdr": 385,
      "medianOccupancy": 70,
      "medianRevenue": 101000,
      "medianSeasonalShare": 0.3173,
      "medianBigHomeShare": 0.2038,
      "medianTourismJobShare": 0.2039,
      "medianAmenityScore": 67,
      "medianOpportunity": 50,
      "medianGrossYield": 0.0528,
      "medianYieldAfterTax": 0.0488,
      "medianBuyerScore": 45,
      "medianMomentum": 43,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 3,
      "medianPop300": 7857932,
      "medianComfortMonths": 4,
      "topRevenue": 126000,
      "regStrictness": 3.6,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.042,
      "stateBigHomeShare": 0.2892,
      "stateTourismJobShare": 0.0947,
      "housingUnits": 2500095,
      "stateHomeValue": 532748,
      "stateHomeValue4br": 641156,
      "stateHomeValueYoY": -0.014,
      "stateEffectiveTaxRate": 0.00489,
      "stateLossPer100k": 138,
      "strLaw": {
        "preemption": "none",
        "summary": "Counties are expressly authorized to license and regulate short-term rentals, and the statute contemplates that a county may have a prohibition on short-term rentals. No statewide preemption statute found.",
        "citation": "C.R.S. 30-15-401(1)(s)",
        "url": "https://colorado.public.law/statutes/crs_30-15-401",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "medium"
      },
      "stateDriverCount": 27,
      "stateEmergingCount": 0,
      "stateRiskScore": 85,
      "stateTopHazards": [
        "hail",
        "winterWeather"
      ]
    },
    "CT": {
      "code": "CT",
      "name": "Connecticut",
      "guideUrl": null,
      "marketCount": 2,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0591,
      "medianBigHomeShare": 0.218,
      "medianTourismJobShare": 0.1026,
      "medianAmenityScore": 69,
      "medianOpportunity": 63,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 31,
      "medianMomentum": 60,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 1,
      "coolingCount": 0,
      "medianPop300": 59226720,
      "medianComfortMonths": 6,
      "topRevenue": null,
      "regStrictness": 1,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0182,
      "stateBigHomeShare": 0.2191,
      "stateTourismJobShare": 0.0811,
      "housingUnits": 1531332,
      "stateHomeValue": 450873,
      "stateHomeValue4br": 640345,
      "stateHomeValueYoY": 0.05,
      "stateEffectiveTaxRate": 0.02003,
      "stateLossPer100k": 141,
      "strLaw": {
        "preemption": "none",
        "summary": "No preemption. A 2024 law expressly authorizes municipalities to adopt ordinances regulating and licensing short-term rental properties (effective 1 October 2024).",
        "citation": "Conn. Public Act 24-143, sec. 7; summarized in OLR Report 2026-R-0025 (20 Jan 2026)",
        "url": "https://www.cga.ct.gov/2026/rpt/pdf/2026-R-0025.pdf",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 6,
      "stateEmergingCount": 1,
      "stateRiskScore": 93,
      "stateTopHazards": [
        "riverFlood",
        "hurricane"
      ]
    },
    "DE": {
      "code": "DE",
      "name": "Delaware",
      "guideUrl": null,
      "marketCount": 1,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.2615,
      "medianBigHomeShare": 0.2519,
      "medianTourismJobShare": 0.0944,
      "medianAmenityScore": 66,
      "medianOpportunity": 49,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 58,
      "medianMomentum": 58,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 63808107,
      "medianComfortMonths": 7,
      "topRevenue": null,
      "regStrictness": 2,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.086,
      "stateBigHomeShare": 0.2699,
      "stateTourismJobShare": 0.0832,
      "housingUnits": 451556,
      "stateHomeValue": 406074,
      "stateHomeValue4br": 519539,
      "stateHomeValueYoY": 0.013,
      "stateEffectiveTaxRate": 0.00548,
      "stateLossPer100k": 114,
      "stateDriverCount": 3,
      "stateEmergingCount": 0,
      "stateRiskScore": 93,
      "stateTopHazards": [
        "winterWeather",
        "riverFlood"
      ]
    },
    "FL": {
      "code": "FL",
      "name": "Florida",
      "guideUrl": "/states/florida",
      "marketCount": 18,
      "medianAdr": 275,
      "medianOccupancy": 70,
      "medianRevenue": 72000,
      "medianSeasonalShare": 0.0985,
      "medianBigHomeShare": 0.1756,
      "medianTourismJobShare": 0.1061,
      "medianAmenityScore": 76,
      "medianOpportunity": 56,
      "medianGrossYield": 0.1101,
      "medianYieldAfterTax": 0.1025,
      "medianBuyerScore": 28,
      "medianMomentum": 59,
      "regTightening": 2,
      "regLoosening": 0,
      "regNetDirection": 2,
      "heatingCount": 6,
      "coolingCount": 5,
      "medianPop300": 22849782,
      "medianComfortMonths": 12,
      "topRevenue": 104000,
      "regStrictness": 2.9,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0853,
      "stateBigHomeShare": 0.1749,
      "stateTourismJobShare": 0.1127,
      "housingUnits": 9915957,
      "stateHomeValue": 375470,
      "stateHomeValue4br": 506528,
      "stateHomeValueYoY": -0.015,
      "stateEffectiveTaxRate": 0.00817,
      "stateLossPer100k": 197,
      "strLaw": {
        "preemption": "strong",
        "summary": "A local law, ordinance or regulation may not prohibit vacation rentals or regulate the duration or frequency of their rental. Local rules adopted on or before 1 June 2011 are grandfathered.",
        "citation": "Fla. Stat. 509.032(7)(b)",
        "url": "https://www.leg.state.fl.us/statutes/index.cfm?App_mode=Display_Statute&URL=0500-0599/0509/Sections/0509.032.html",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 39,
      "stateEmergingCount": 1,
      "stateRiskScore": 95.3,
      "stateTopHazards": [
        "hurricane",
        "riverFlood"
      ]
    },
    "GA": {
      "code": "GA",
      "name": "Georgia",
      "guideUrl": "/states/georgia",
      "marketCount": 12,
      "medianAdr": 235,
      "medianOccupancy": 64,
      "medianRevenue": 57000,
      "medianSeasonalShare": 0.0546,
      "medianBigHomeShare": 0.1797,
      "medianTourismJobShare": 0.0926,
      "medianAmenityScore": 52,
      "medianOpportunity": 39,
      "medianGrossYield": 0.108,
      "medianYieldAfterTax": 0.1007,
      "medianBuyerScore": 61,
      "medianMomentum": 49,
      "regTightening": 9,
      "regLoosening": 0,
      "regNetDirection": 9,
      "heatingCount": 0,
      "coolingCount": 3,
      "medianPop300": 39355072,
      "medianComfortMonths": 9,
      "topRevenue": 66000,
      "regStrictness": 3.2,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0186,
      "stateBigHomeShare": 0.2781,
      "stateTourismJobShare": 0.0883,
      "housingUnits": 4426780,
      "stateHomeValue": 330817,
      "stateHomeValue4br": 416630,
      "stateHomeValueYoY": -0.005,
      "stateEffectiveTaxRate": 0.00833,
      "stateLossPer100k": 111,
      "stateDriverCount": 13,
      "stateEmergingCount": 0,
      "stateRiskScore": 73.6,
      "stateTopHazards": [
        "tornado",
        "earthquake"
      ]
    },
    "HI": {
      "code": "HI",
      "name": "Hawaii",
      "guideUrl": "/states/hawaii",
      "marketCount": 2,
      "medianAdr": 355,
      "medianOccupancy": 77,
      "medianRevenue": 99500,
      "medianSeasonalShare": 0.0689,
      "medianBigHomeShare": 0.2002,
      "medianTourismJobShare": 0.1811,
      "medianAmenityScore": 73,
      "medianOpportunity": 58,
      "medianGrossYield": 0.0796,
      "medianYieldAfterTax": 0.0773,
      "medianBuyerScore": 38,
      "medianMomentum": 38,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 1450589,
      "medianComfortMonths": 12,
      "topRevenue": 118000,
      "regStrictness": 5,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0551,
      "stateBigHomeShare": 0.2124,
      "stateTourismJobShare": 0.1547,
      "housingUnits": 560873,
      "stateHomeValue": 833340,
      "stateHomeValue4br": 1171937,
      "stateHomeValueYoY": 0.011,
      "stateEffectiveTaxRate": 0.00269,
      "stateLossPer100k": 364,
      "strLaw": {
        "preemption": "none",
        "summary": "Counties may regulate where and for how long transient accommodations operate, and 2024 legislation lets counties phase out or amortize transient accommodation uses in any zoning district. No state preemption of county short-term rental bans.",
        "citation": "SB 2919 CD1 (2024), amending HRS 46-4(a)",
        "url": "https://data.capitol.hawaii.gov/sessions/session2024/bills/SB2919_CD1_.HTM",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "medium"
      },
      "stateDriverCount": 9,
      "stateEmergingCount": 0,
      "stateRiskScore": 97.4,
      "stateTopHazards": [
        "riverFlood",
        "wildfire"
      ]
    },
    "ID": {
      "code": "ID",
      "name": "Idaho",
      "guideUrl": null,
      "marketCount": 2,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.2232,
      "medianBigHomeShare": 0.2213,
      "medianTourismJobShare": 0.137,
      "medianAmenityScore": 56,
      "medianOpportunity": 54,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 38,
      "medianMomentum": 62,
      "regTightening": 0,
      "regLoosening": 2,
      "regNetDirection": -2,
      "heatingCount": 1,
      "coolingCount": 0,
      "medianPop300": 7483486,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 1.5,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0629,
      "stateBigHomeShare": 0.2834,
      "stateTourismJobShare": 0.0891,
      "housingUnits": 758877,
      "stateHomeValue": 478744,
      "stateHomeValue4br": 544937,
      "stateHomeValueYoY": 0.02,
      "stateEffectiveTaxRate": 0.00565,
      "stateLossPer100k": 139,
      "strLaw": {
        "preemption": "strong",
        "summary": "Neither a county nor a city may enact or enforce an ordinance that has the express or practical effect of prohibiting short-term rentals. Rules stricter than those for comparable homes (owner-occupancy, caps on the number of STRs, conditional use permits in residential zones, spacing rules, etc.) are barred; listed health-and-safety requirements are allowed.",
        "citation": "Idaho Code 67-6539",
        "url": "https://legislature.idaho.gov/statutesrules/idstat/title67/t67ch65/sect67-6539/",
        "marketplaceCollectsTax": "yes",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 5,
      "stateEmergingCount": 0,
      "stateRiskScore": 65.7,
      "stateTopHazards": [
        "wildfire",
        "winterWeather"
      ]
    },
    "IL": {
      "code": "IL",
      "name": "Illinois",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0143,
      "medianBigHomeShare": 0.1715,
      "medianTourismJobShare": 0.0866,
      "medianAmenityScore": 55,
      "medianOpportunity": 32,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 32,
      "medianMomentum": 63,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 1,
      "coolingCount": 0,
      "medianPop300": 45862940,
      "medianComfortMonths": 6,
      "topRevenue": null,
      "regStrictness": 4,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0085,
      "stateBigHomeShare": 0.215,
      "stateTourismJobShare": 0.084,
      "housingUnits": 5427357,
      "stateHomeValue": 297573,
      "stateHomeValue4br": 449397,
      "stateHomeValueYoY": 0.053,
      "stateEffectiveTaxRate": 0.02114,
      "stateLossPer100k": 123,
      "stateDriverCount": 16,
      "stateEmergingCount": 1,
      "stateRiskScore": 90.4,
      "stateTopHazards": [
        "tornado",
        "riverFlood"
      ]
    },
    "IN": {
      "code": "IN",
      "name": "Indiana",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0483,
      "medianBigHomeShare": 0.1654,
      "medianTourismJobShare": 0.0909,
      "medianAmenityScore": 66,
      "medianOpportunity": 42,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 60,
      "medianMomentum": 51,
      "regTightening": 0,
      "regLoosening": 1,
      "regNetDirection": -1,
      "heatingCount": 1,
      "coolingCount": 1,
      "medianPop300": 54916548,
      "medianComfortMonths": 7,
      "topRevenue": null,
      "regStrictness": 3,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0143,
      "stateBigHomeShare": 0.208,
      "stateTourismJobShare": 0.0808,
      "housingUnits": 2931710,
      "stateHomeValue": 260095,
      "stateHomeValue4br": 363256,
      "stateHomeValueYoY": 0.03,
      "stateEffectiveTaxRate": 0.00771,
      "stateLossPer100k": 105,
      "stateDriverCount": 9,
      "stateEmergingCount": 0,
      "stateRiskScore": 72.5,
      "stateTopHazards": [
        "tornado",
        "earthquake"
      ]
    },
    "IA": {
      "code": "IA",
      "name": "Iowa",
      "guideUrl": null,
      "marketCount": 2,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.1772,
      "medianBigHomeShare": 0.2562,
      "medianTourismJobShare": 0.0721,
      "medianAmenityScore": 76,
      "medianOpportunity": 45,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 50,
      "medianMomentum": 52,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 20189904,
      "medianComfortMonths": 6,
      "topRevenue": null,
      "regStrictness": 2.5,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0169,
      "stateBigHomeShare": 0.24,
      "stateTourismJobShare": 0.0701,
      "housingUnits": 1417064,
      "stateHomeValue": 239547,
      "stateHomeValue4br": 335009,
      "stateHomeValueYoY": 0.035,
      "stateEffectiveTaxRate": 0.01488,
      "stateLossPer100k": 119,
      "strLaw": {
        "preemption": "strong",
        "summary": "A city may not adopt or enforce any regulation, restriction or ordinance relating to short-term rental properties (including a conditional use permit requirement) and may not charge a licence or permit fee; short-term rentals are a residential land use. Exceptions: health and safety, noise/nuisance, illegal uses and an emergency contact, enforced the same way as for comparable properties.",
        "citation": "Iowa Code 414.1(1)(e)",
        "url": "https://www.legis.iowa.gov/docs/code/414.1.pdf",
        "marketplaceCollectsTax": "yes",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 5,
      "stateEmergingCount": 0,
      "stateRiskScore": 62.8,
      "stateTopHazards": [
        "hail",
        "tornado"
      ]
    },
    "KS": {
      "code": "KS",
      "name": "Kansas",
      "guideUrl": null,
      "marketCount": 2,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0028,
      "medianBigHomeShare": 0.2485,
      "medianTourismJobShare": 0.1059,
      "medianAmenityScore": 70,
      "medianOpportunity": 43,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 55,
      "medianMomentum": 47,
      "regTightening": 0,
      "regLoosening": 1,
      "regNetDirection": -1,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 16179452,
      "medianComfortMonths": 6,
      "topRevenue": null,
      "regStrictness": 3.5,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0105,
      "stateBigHomeShare": 0.2699,
      "stateTourismJobShare": 0.0797,
      "housingUnits": 1278548,
      "stateHomeValue": 249603,
      "stateHomeValue4br": 383520,
      "stateHomeValueYoY": 0.038,
      "stateEffectiveTaxRate": 0.0134,
      "stateLossPer100k": 124,
      "stateDriverCount": 3,
      "stateEmergingCount": 0,
      "stateRiskScore": 71.3,
      "stateTopHazards": [
        "hail",
        "winterWeather"
      ]
    },
    "KY": {
      "code": "KY",
      "name": "Kentucky",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0086,
      "medianBigHomeShare": 0.1962,
      "medianTourismJobShare": 0.0876,
      "medianAmenityScore": 71,
      "medianOpportunity": 38,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 68,
      "medianMomentum": 28,
      "regTightening": 0,
      "regLoosening": 1,
      "regNetDirection": -1,
      "heatingCount": 0,
      "coolingCount": 2,
      "medianPop300": 51199182,
      "medianComfortMonths": 7,
      "topRevenue": null,
      "regStrictness": 3,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0184,
      "stateBigHomeShare": 0.1955,
      "stateTourismJobShare": 0.0812,
      "housingUnits": 1999202,
      "stateHomeValue": 232577,
      "stateHomeValue4br": 379352,
      "stateHomeValueYoY": -0.004,
      "stateEffectiveTaxRate": 0.00801,
      "stateLossPer100k": 169,
      "stateDriverCount": 10,
      "stateEmergingCount": 0,
      "stateRiskScore": 68,
      "stateTopHazards": [
        "tornado",
        "earthquake"
      ]
    },
    "LA": {
      "code": "LA",
      "name": "Louisiana",
      "guideUrl": "/states/louisiana",
      "marketCount": 1,
      "medianAdr": 225,
      "medianOccupancy": 72,
      "medianRevenue": 59000,
      "medianSeasonalShare": 0.0467,
      "medianBigHomeShare": 0.1364,
      "medianTourismJobShare": 0.1549,
      "medianAmenityScore": 88,
      "medianOpportunity": 42,
      "medianGrossYield": 0.2076,
      "medianYieldAfterTax": 0.1997,
      "medianBuyerScore": 46,
      "medianMomentum": 31,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 11413624,
      "medianComfortMonths": 11,
      "topRevenue": 59000,
      "regStrictness": 5,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0261,
      "stateBigHomeShare": 0.1803,
      "stateTourismJobShare": 0.0981,
      "housingUnits": 2080371,
      "stateHomeValue": 217039,
      "stateHomeValue4br": 325932,
      "stateHomeValueYoY": 0.021,
      "stateEffectiveTaxRate": 0.00548,
      "stateLossPer100k": 272,
      "stateDriverCount": 11,
      "stateEmergingCount": 0,
      "stateRiskScore": 86.2,
      "stateTopHazards": [
        "hurricane",
        "tornado"
      ]
    },
    "ME": {
      "code": "ME",
      "name": "Maine",
      "guideUrl": null,
      "marketCount": 1,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.3186,
      "medianBigHomeShare": 0.1779,
      "medianTourismJobShare": 0.0807,
      "medianAmenityScore": 71,
      "medianOpportunity": 32,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 59,
      "medianMomentum": 45,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 13638637,
      "medianComfortMonths": 4,
      "topRevenue": null,
      "regStrictness": 4,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.1595,
      "stateBigHomeShare": 0.1756,
      "stateTourismJobShare": 0.0785,
      "housingUnits": 741803,
      "stateHomeValue": 415552,
      "stateHomeValue4br": 550953,
      "stateHomeValueYoY": 0.016,
      "stateEffectiveTaxRate": 0.01166,
      "stateLossPer100k": 99,
      "stateDriverCount": 7,
      "stateEmergingCount": 0,
      "stateRiskScore": 67.8,
      "stateTopHazards": [
        "winterWeather",
        "hurricane"
      ]
    },
    "MD": {
      "code": "MD",
      "name": "Maryland",
      "guideUrl": "/states/maryland",
      "marketCount": 2,
      "medianAdr": 275,
      "medianOccupancy": 60,
      "medianRevenue": 60000,
      "medianSeasonalShare": 0.3813,
      "medianBigHomeShare": 0.2095,
      "medianTourismJobShare": 0.1412,
      "medianAmenityScore": 61,
      "medianOpportunity": 53,
      "medianGrossYield": 0.0959,
      "medianYieldAfterTax": 0.0879,
      "medianBuyerScore": 36,
      "medianMomentum": 58,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 1,
      "coolingCount": 1,
      "medianPop300": 68261035,
      "medianComfortMonths": 6,
      "topRevenue": 60000,
      "regStrictness": 2,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0215,
      "stateBigHomeShare": 0.3022,
      "stateTourismJobShare": 0.0776,
      "housingUnits": 2531075,
      "stateHomeValue": 428308,
      "stateHomeValue4br": 563048,
      "stateHomeValueYoY": 0,
      "stateEffectiveTaxRate": 0.0102,
      "stateLossPer100k": 60,
      "stateDriverCount": 7,
      "stateEmergingCount": 0,
      "stateRiskScore": 80.9,
      "stateTopHazards": [
        "winterWeather",
        "hurricane"
      ]
    },
    "MA": {
      "code": "MA",
      "name": "Massachusetts",
      "guideUrl": "/states/massachusetts",
      "marketCount": 1,
      "medianAdr": 345,
      "medianOccupancy": 58,
      "medianRevenue": 73000,
      "medianSeasonalShare": 0.3556,
      "medianBigHomeShare": 0.2276,
      "medianTourismJobShare": 0.1045,
      "medianAmenityScore": 80,
      "medianOpportunity": 57,
      "medianGrossYield": 0.0682,
      "medianYieldAfterTax": 0.0606,
      "medianBuyerScore": 20,
      "medianMomentum": 63,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 42580212,
      "medianComfortMonths": 6,
      "topRevenue": 73000,
      "regStrictness": 4,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0395,
      "stateBigHomeShare": 0.2122,
      "stateTourismJobShare": 0.0774,
      "housingUnits": 2999314,
      "stateHomeValue": 661896,
      "stateHomeValue4br": 870368,
      "stateHomeValueYoY": 0.023,
      "stateEffectiveTaxRate": 0.01154,
      "stateLossPer100k": 91,
      "strLaw": {
        "preemption": "none",
        "summary": "State law expressly lets a city or town regulate the existence or location of short-term rental operators, including the class of operators, the number of local licences or permits and the number of days a unit may be rented.",
        "citation": "M.G.L. c. 64G, sec. 14",
        "url": "https://malegislature.gov/Laws/GeneralLaws/PartI/TitleIX/Chapter64G/Section14",
        "marketplaceCollectsTax": "partial",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 13,
      "stateEmergingCount": 0,
      "stateRiskScore": 92.3,
      "stateTopHazards": [
        "riverFlood",
        "hurricane"
      ]
    },
    "MI": {
      "code": "MI",
      "name": "Michigan",
      "guideUrl": null,
      "marketCount": 1,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.1008,
      "medianBigHomeShare": 0.2154,
      "medianTourismJobShare": 0.1086,
      "medianAmenityScore": 77,
      "medianOpportunity": 42,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 41,
      "medianMomentum": 67,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 1,
      "coolingCount": 0,
      "medianPop300": 30479585,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 4,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0579,
      "stateBigHomeShare": 0.2101,
      "stateTourismJobShare": 0.0887,
      "housingUnits": 4580447,
      "stateHomeValue": 266292,
      "stateHomeValue4br": 417403,
      "stateHomeValueYoY": 0.04,
      "stateEffectiveTaxRate": 0.01347,
      "stateLossPer100k": 85,
      "stateDriverCount": 15,
      "stateEmergingCount": 0,
      "stateRiskScore": 82.1,
      "stateTopHazards": [
        "tornado",
        "riverFlood"
      ]
    },
    "MN": {
      "code": "MN",
      "name": "Minnesota",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.1084,
      "medianBigHomeShare": 0.2606,
      "medianTourismJobShare": 0.1042,
      "medianAmenityScore": 78,
      "medianOpportunity": 43,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 59,
      "medianMomentum": 60,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 10406548,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 3.3,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0517,
      "stateBigHomeShare": 0.2887,
      "stateTourismJobShare": 0.0743,
      "housingUnits": 2493956,
      "stateHomeValue": 350752,
      "stateHomeValue4br": 441103,
      "stateHomeValueYoY": 0.025,
      "stateEffectiveTaxRate": 0.01046,
      "stateLossPer100k": 113,
      "stateDriverCount": 8,
      "stateEmergingCount": 0,
      "stateRiskScore": 76.7,
      "stateTopHazards": [
        "hail",
        "tornado"
      ]
    },
    "MS": {
      "code": "MS",
      "name": "Mississippi",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0546,
      "medianBigHomeShare": 0.1842,
      "medianTourismJobShare": 0.115,
      "medianAmenityScore": 52,
      "medianOpportunity": 40,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 76,
      "medianMomentum": 43,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 1,
      "coolingCount": 2,
      "medianPop300": 13121472,
      "medianComfortMonths": 11,
      "topRevenue": null,
      "regStrictness": 3.3,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0228,
      "stateBigHomeShare": 0.1942,
      "stateTourismJobShare": 0.0904,
      "housingUnits": 1324992,
      "stateHomeValue": 197606,
      "stateHomeValue4br": 331187,
      "stateHomeValueYoY": 0.023,
      "stateEffectiveTaxRate": 0.00758,
      "stateLossPer100k": 175,
      "stateDriverCount": 6,
      "stateEmergingCount": 0,
      "stateRiskScore": 71.1,
      "stateTopHazards": [
        "tornado",
        "coastalFlood"
      ]
    },
    "MO": {
      "code": "MO",
      "name": "Missouri",
      "guideUrl": "/states/missouri",
      "marketCount": 3,
      "medianAdr": 180,
      "medianOccupancy": 65,
      "medianRevenue": 42500,
      "medianSeasonalShare": 0.2095,
      "medianBigHomeShare": 0.1586,
      "medianTourismJobShare": 0.1155,
      "medianAmenityScore": 69,
      "medianOpportunity": 44,
      "medianGrossYield": 0.1228,
      "medianYieldAfterTax": 0.1143,
      "medianBuyerScore": 60,
      "medianMomentum": 45,
      "regTightening": 0,
      "regLoosening": 2,
      "regNetDirection": -2,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 22979874,
      "medianComfortMonths": 6,
      "topRevenue": 43000,
      "regStrictness": 2.7,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0304,
      "stateBigHomeShare": 0.2054,
      "stateTourismJobShare": 0.0841,
      "housingUnits": 2795030,
      "stateHomeValue": 267879,
      "stateHomeValue4br": 412290,
      "stateHomeValueYoY": 0.035,
      "stateEffectiveTaxRate": 0.00909,
      "stateLossPer100k": 146,
      "stateDriverCount": 10,
      "stateEmergingCount": 0,
      "stateRiskScore": 80.1,
      "stateTopHazards": [
        "tornado",
        "earthquake"
      ]
    },
    "MT": {
      "code": "MT",
      "name": "Montana",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0549,
      "medianBigHomeShare": 0.242,
      "medianTourismJobShare": 0.1222,
      "medianAmenityScore": 58,
      "medianOpportunity": 43,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 25,
      "medianMomentum": 75,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 3,
      "coolingCount": 0,
      "medianPop300": 2976392,
      "medianComfortMonths": 4,
      "topRevenue": null,
      "regStrictness": 3.3,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0722,
      "stateBigHomeShare": 0.2455,
      "stateTourismJobShare": 0.1077,
      "housingUnits": 517430,
      "stateHomeValue": 471746,
      "stateHomeValue4br": 566190,
      "stateHomeValueYoY": 0.02,
      "stateEffectiveTaxRate": 0.00791,
      "stateLossPer100k": 137,
      "stateDriverCount": 9,
      "stateEmergingCount": 1,
      "stateRiskScore": 67.1,
      "stateTopHazards": [
        "winterWeather",
        "wildfire"
      ]
    },
    "NE": {
      "code": "NE",
      "name": "Nebraska",
      "guideUrl": null,
      "marketCount": 2,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0052,
      "medianBigHomeShare": 0.2404,
      "medianTourismJobShare": 0.0774,
      "medianAmenityScore": 85,
      "medianOpportunity": 48,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 46,
      "medianMomentum": 52,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 13398848,
      "medianComfortMonths": 7,
      "topRevenue": null,
      "regStrictness": 2.5,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0182,
      "stateBigHomeShare": 0.2574,
      "stateTourismJobShare": 0.0726,
      "housingUnits": 848023,
      "stateHomeValue": 280673,
      "stateHomeValue4br": 386940,
      "stateHomeValueYoY": 0.031,
      "stateEffectiveTaxRate": 0.0154,
      "stateLossPer100k": 150,
      "strLaw": {
        "preemption": "strong",
        "summary": "A municipality (city or village) may not adopt or enforce an ordinance or regulation that expressly or effectively prohibits the use of a property as a short-term rental. STR-specific rules are allowed only where the primary purpose is public health and safety; land-use rules must apply to STRs as to similar properties.",
        "citation": "Neb. Rev. Stat. 18-1758 (LB 57, 2019)",
        "url": "https://nebraskalegislature.gov/laws/statutes.php?statute=18-1758",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 5,
      "stateEmergingCount": 0,
      "stateRiskScore": 70.1,
      "stateTopHazards": [
        "hail",
        "tornado"
      ]
    },
    "NV": {
      "code": "NV",
      "name": "Nevada",
      "guideUrl": "/states/nevada",
      "marketCount": 1,
      "medianAdr": 225,
      "medianOccupancy": 72,
      "medianRevenue": 59000,
      "medianSeasonalShare": 0.0274,
      "medianBigHomeShare": 0.2473,
      "medianTourismJobShare": 0.2382,
      "medianAmenityScore": 93,
      "medianOpportunity": 65,
      "medianGrossYield": 0.1179,
      "medianYieldAfterTax": 0.1128,
      "medianBuyerScore": 65,
      "medianMomentum": 46,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 33460246,
      "medianComfortMonths": 5,
      "topRevenue": 59000,
      "regStrictness": 3,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0281,
      "stateBigHomeShare": 0.2375,
      "stateTourismJobShare": 0.2089,
      "housingUnits": 1288357,
      "stateHomeValue": 442027,
      "stateHomeValue4br": 525140,
      "stateHomeValueYoY": -0.018,
      "stateEffectiveTaxRate": 0.00504,
      "stateLossPer100k": 145,
      "strLaw": {
        "preemption": "partial",
        "summary": "In counties of 700,000 or more (Clark County), state law REQUIRES the county to adopt an ordinance regulating short-term rentals and dictates much of its content: no STRs in apartment buildings, minimum stays, 660 ft spacing between STRs, 2,500 ft from resort hotels, occupancy limits and a 10 percent cap in multifamily buildings. Local discretion is limited in both directions.",
        "citation": "NRS 244.35351 to 244.35359, esp. NRS 244.353545 (added 2021)",
        "url": "https://www.leg.state.nv.us/NRS/NRS-244.html",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "medium"
      },
      "stateDriverCount": 17,
      "stateEmergingCount": 2,
      "stateRiskScore": 95.6,
      "stateTopHazards": [
        "wildfire",
        "earthquake"
      ]
    },
    "NH": {
      "code": "NH",
      "name": "New Hampshire",
      "guideUrl": null,
      "marketCount": 2,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.3524,
      "medianBigHomeShare": 0.1797,
      "medianTourismJobShare": 0.109,
      "medianAmenityScore": 70,
      "medianOpportunity": 44,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 63,
      "medianMomentum": 51,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 39930964,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 3,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.1056,
      "stateBigHomeShare": 0.1929,
      "stateTourismJobShare": 0.0815,
      "housingUnits": 640335,
      "stateHomeValue": 516306,
      "stateHomeValue4br": 699020,
      "stateHomeValueYoY": 0.029,
      "stateEffectiveTaxRate": 0.0189,
      "stateLossPer100k": 135,
      "stateDriverCount": 9,
      "stateEmergingCount": 0,
      "stateRiskScore": 78.8,
      "stateTopHazards": [
        "riverFlood",
        "hurricane"
      ]
    },
    "NJ": {
      "code": "NJ",
      "name": "New Jersey",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.5005,
      "medianBigHomeShare": 0.3146,
      "medianTourismJobShare": 0.1466,
      "medianAmenityScore": 72,
      "medianOpportunity": 48,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 33,
      "medianMomentum": 58,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 65716983,
      "medianComfortMonths": 6,
      "topRevenue": null,
      "regStrictness": 3,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0352,
      "stateBigHomeShare": 0.2547,
      "stateTourismJobShare": 0.0735,
      "housingUnits": 3756340,
      "stateHomeValue": 580353,
      "stateHomeValue4br": 770742,
      "stateHomeValueYoY": 0.039,
      "stateEffectiveTaxRate": 0.02328,
      "stateLossPer100k": 134,
      "stateDriverCount": 9,
      "stateEmergingCount": 0,
      "stateRiskScore": 94.4,
      "stateTopHazards": [
        "winterWeather",
        "riverFlood"
      ]
    },
    "NM": {
      "code": "NM",
      "name": "New Mexico",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.1595,
      "medianBigHomeShare": 0.1382,
      "medianTourismJobShare": 0.1314,
      "medianAmenityScore": 58,
      "medianOpportunity": 41,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 56,
      "medianMomentum": 45,
      "regTightening": 2,
      "regLoosening": 0,
      "regNetDirection": 2,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 8196681,
      "medianComfortMonths": 7,
      "topRevenue": null,
      "regStrictness": 4,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.042,
      "stateBigHomeShare": 0.173,
      "stateTourismJobShare": 0.1028,
      "housingUnits": 943149,
      "stateHomeValue": 318241,
      "stateHomeValue4br": 427747,
      "stateHomeValueYoY": 0.017,
      "stateEffectiveTaxRate": 0.00735,
      "stateLossPer100k": 159,
      "stateDriverCount": 8,
      "stateEmergingCount": 0,
      "stateRiskScore": 84.2,
      "stateTopHazards": [
        "wildfire",
        "winterWeather"
      ]
    },
    "NY": {
      "code": "NY",
      "name": "New York",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.2898,
      "medianBigHomeShare": 0.2165,
      "medianTourismJobShare": 0.1182,
      "medianAmenityScore": 63,
      "medianOpportunity": 44,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 36,
      "medianMomentum": 55,
      "regTightening": 2,
      "regLoosening": 0,
      "regNetDirection": 2,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 58578960,
      "medianComfortMonths": 6,
      "topRevenue": null,
      "regStrictness": 3.7,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0371,
      "stateBigHomeShare": 0.1813,
      "stateTourismJobShare": 0.0858,
      "housingUnits": 8494452,
      "stateHomeValue": 526714,
      "stateHomeValue4br": 581107,
      "stateHomeValueYoY": 0.056,
      "stateEffectiveTaxRate": 0.01641,
      "stateLossPer100k": 88,
      "strLaw": {
        "preemption": "none",
        "summary": "The 2024 statewide short-term rental registry law preserves local control: a county, city, town or village may enact a local law prohibiting or further limiting short-term rentals, and municipalities with their own registry may keep it.",
        "citation": "S885C / A4130C, L. 2024 ch. 672 (signed 21 Dec 2024)",
        "url": "https://www.nysenate.gov/legislation/bills/2023/S885/amendment/C",
        "marketplaceCollectsTax": "yes",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "medium"
      },
      "stateDriverCount": 34,
      "stateEmergingCount": 2,
      "stateRiskScore": 91.5,
      "stateTopHazards": [
        "riverFlood",
        "winterWeather"
      ]
    },
    "NC": {
      "code": "NC",
      "name": "North Carolina",
      "guideUrl": "/states/north-carolina",
      "marketCount": 4,
      "medianAdr": 290,
      "medianOccupancy": 64,
      "medianRevenue": 67000,
      "medianSeasonalShare": 0.1595,
      "medianBigHomeShare": 0.2158,
      "medianTourismJobShare": 0.1458,
      "medianAmenityScore": 73,
      "medianOpportunity": 50,
      "medianGrossYield": 0.0962,
      "medianYieldAfterTax": 0.0904,
      "medianBuyerScore": 61,
      "medianMomentum": 40,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 4,
      "medianPop300": 41302368,
      "medianComfortMonths": 8,
      "topRevenue": 74000,
      "regStrictness": 3,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0411,
      "stateBigHomeShare": 0.2025,
      "stateTourismJobShare": 0.088,
      "housingUnits": 4739881,
      "stateHomeValue": 334773,
      "stateHomeValue4br": 485583,
      "stateHomeValueYoY": 0,
      "stateEffectiveTaxRate": 0.00734,
      "stateLossPer100k": 155,
      "strLaw": {
        "preemption": "partial",
        "summary": "A local government may not require an owner or manager to obtain a permit or permission to rent residential property, or to register rental property, except for properties with repeated verified violations, and may not levy a special fee or tax on rentals. Zoning of short-term rentals is not addressed by this section.",
        "citation": "N.C.G.S. 160D-1207(c)",
        "url": "https://www.ncleg.gov/EnactedLegislation/Statutes/HTML/BySection/Chapter_160D/GS_160D-1207.html",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "medium"
      },
      "stateDriverCount": 10,
      "stateEmergingCount": 0,
      "stateRiskScore": 83.6,
      "stateTopHazards": [
        "riverFlood",
        "hurricane"
      ]
    },
    "ND": {
      "code": "ND",
      "name": "North Dakota",
      "guideUrl": null,
      "marketCount": 2,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0854,
      "medianBigHomeShare": 0.2546,
      "medianTourismJobShare": 0.1288,
      "medianAmenityScore": 58,
      "medianOpportunity": 56,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 21,
      "medianMomentum": 71,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 1,
      "coolingCount": 0,
      "medianPop300": 4624178,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 1,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0352,
      "stateBigHomeShare": 0.2732,
      "stateTourismJobShare": 0.0803,
      "housingUnits": 372376,
      "stateHomeValue": 292293,
      "stateHomeValue4br": 364265,
      "stateHomeValueYoY": 0.052,
      "stateEffectiveTaxRate": 0.00987,
      "stateLossPer100k": 108,
      "stateDriverCount": 3,
      "stateEmergingCount": 0,
      "stateRiskScore": 55.7,
      "stateTopHazards": [
        "winterWeather",
        "hail"
      ]
    },
    "OH": {
      "code": "OH",
      "name": "Ohio",
      "guideUrl": null,
      "marketCount": 1,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0564,
      "medianBigHomeShare": 0.148,
      "medianTourismJobShare": 0.1174,
      "medianAmenityScore": 45,
      "medianOpportunity": 43,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 68,
      "medianMomentum": 48,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 52215174,
      "medianComfortMonths": 7,
      "topRevenue": null,
      "regStrictness": 2,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0118,
      "stateBigHomeShare": 0.2167,
      "stateTourismJobShare": 0.0869,
      "housingUnits": 5251209,
      "stateHomeValue": 248803,
      "stateHomeValue4br": 384781,
      "stateHomeValueYoY": 0.034,
      "stateEffectiveTaxRate": 0.01428,
      "stateLossPer100k": 89,
      "stateDriverCount": 12,
      "stateEmergingCount": 0,
      "stateRiskScore": 79,
      "stateTopHazards": [
        "riverFlood",
        "tornado"
      ]
    },
    "OK": {
      "code": "OK",
      "name": "Oklahoma",
      "guideUrl": null,
      "marketCount": 1,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0434,
      "medianBigHomeShare": 0.1266,
      "medianTourismJobShare": 0.1028,
      "medianAmenityScore": 39,
      "medianOpportunity": 38,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 51,
      "medianMomentum": 51,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 30479178,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 2,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0185,
      "stateBigHomeShare": 0.1746,
      "stateTourismJobShare": 0.0938,
      "housingUnits": 1751802,
      "stateHomeValue": 223261,
      "stateHomeValue4br": 345645,
      "stateHomeValueYoY": 0.028,
      "stateEffectiveTaxRate": 0.00848,
      "stateLossPer100k": 161,
      "stateDriverCount": 8,
      "stateEmergingCount": 1,
      "stateRiskScore": 82.3,
      "stateTopHazards": [
        "tornado",
        "hail"
      ]
    },
    "OR": {
      "code": "OR",
      "name": "Oregon",
      "guideUrl": "/states/oregon",
      "marketCount": 4,
      "medianAdr": 245,
      "medianOccupancy": 66,
      "medianRevenue": 59000,
      "medianSeasonalShare": 0.1594,
      "medianBigHomeShare": 0.1659,
      "medianTourismJobShare": 0.1306,
      "medianAmenityScore": 67,
      "medianOpportunity": 40,
      "medianGrossYield": 0.0684,
      "medianYieldAfterTax": 0.0617,
      "medianBuyerScore": 62,
      "medianMomentum": 44,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 2,
      "medianPop300": 11686746,
      "medianComfortMonths": 5,
      "topRevenue": 59000,
      "regStrictness": 4,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0311,
      "stateBigHomeShare": 0.1869,
      "stateTourismJobShare": 0.0932,
      "housingUnits": 1818599,
      "stateHomeValue": 496113,
      "stateHomeValue4br": 628853,
      "stateHomeValueYoY": -0.001,
      "stateEffectiveTaxRate": 0.00859,
      "stateLossPer100k": 173,
      "stateDriverCount": 15,
      "stateEmergingCount": 0,
      "stateRiskScore": 89.9,
      "stateTopHazards": [
        "earthquake",
        "riverFlood"
      ]
    },
    "PA": {
      "code": "PA",
      "name": "Pennsylvania",
      "guideUrl": "/states/pennsylvania",
      "marketCount": 1,
      "medianAdr": 225,
      "medianOccupancy": 58,
      "medianRevenue": 48000,
      "medianSeasonalShare": 0.1442,
      "medianBigHomeShare": 0.1784,
      "medianTourismJobShare": 0.0803,
      "medianAmenityScore": 54,
      "medianOpportunity": 28,
      "medianGrossYield": 0.1423,
      "medianYieldAfterTax": 0.1262,
      "medianBuyerScore": 15,
      "medianMomentum": 74,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 1,
      "coolingCount": 0,
      "medianPop300": 72545991,
      "medianComfortMonths": 6,
      "topRevenue": 48000,
      "regStrictness": 3,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0265,
      "stateBigHomeShare": 0.2237,
      "stateTourismJobShare": 0.0769,
      "housingUnits": 5753908,
      "stateHomeValue": 290401,
      "stateHomeValue4br": 469499,
      "stateHomeValueYoY": 0.024,
      "stateEffectiveTaxRate": 0.01409,
      "stateLossPer100k": 99,
      "stateDriverCount": 18,
      "stateEmergingCount": 1,
      "stateRiskScore": 87.4,
      "stateTopHazards": [
        "riverFlood",
        "winterWeather"
      ]
    },
    "RI": {
      "code": "RI",
      "name": "Rhode Island",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.1671,
      "medianBigHomeShare": 0.21,
      "medianTourismJobShare": 0.1068,
      "medianAmenityScore": 75,
      "medianOpportunity": 38,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 34,
      "medianMomentum": 62,
      "regTightening": 2,
      "regLoosening": 0,
      "regNetDirection": 2,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 51115725,
      "medianComfortMonths": 6,
      "topRevenue": null,
      "regStrictness": 4,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0368,
      "stateBigHomeShare": 0.1536,
      "stateTourismJobShare": 0.0941,
      "housingUnits": 483053,
      "stateHomeValue": 511233,
      "stateHomeValue4br": 702077,
      "stateHomeValueYoY": 0.034,
      "stateEffectiveTaxRate": 0.01392,
      "stateLossPer100k": 89,
      "strLaw": {
        "preemption": "partial",
        "summary": "Where a hosting platform collects and remits the applicable sales and hotel taxes, cities and towns may not prohibit an owner from offering a unit for tourist or transient use through that platform. Statewide registration with the Department of Business Regulation is also required.",
        "citation": "R.I. Gen. Laws 42-63.1-14",
        "url": "https://webserver.rilegislature.gov/Statutes/TITLE42/42-63.1/42-63.1-14.htm",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "medium"
      },
      "stateDriverCount": 5,
      "stateEmergingCount": 0,
      "stateRiskScore": 78.5,
      "stateTopHazards": [
        "hurricane",
        "riverFlood"
      ]
    },
    "SC": {
      "code": "SC",
      "name": "South Carolina",
      "guideUrl": "/states/south-carolina",
      "marketCount": 4,
      "medianAdr": 285,
      "medianOccupancy": 68,
      "medianRevenue": 73000,
      "medianSeasonalShare": 0.1108,
      "medianBigHomeShare": 0.2239,
      "medianTourismJobShare": 0.1289,
      "medianAmenityScore": 77,
      "medianOpportunity": 52,
      "medianGrossYield": 0.091,
      "medianYieldAfterTax": 0.0859,
      "medianBuyerScore": 56,
      "medianMomentum": 47,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 31440843,
      "medianComfortMonths": 11,
      "topRevenue": 78000,
      "regStrictness": 3.8,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.049,
      "stateBigHomeShare": 0.2167,
      "stateTourismJobShare": 0.0973,
      "housingUnits": 2362253,
      "stateHomeValue": 306323,
      "stateHomeValue4br": 428102,
      "stateHomeValueYoY": 0.01,
      "stateEffectiveTaxRate": 0.00526,
      "stateLossPer100k": 201,
      "stateDriverCount": 8,
      "stateEmergingCount": 0,
      "stateRiskScore": 87.1,
      "stateTopHazards": [
        "earthquake",
        "hurricane"
      ]
    },
    "SD": {
      "code": "SD",
      "name": "South Dakota",
      "guideUrl": null,
      "marketCount": 2,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0806,
      "medianBigHomeShare": 0.2448,
      "medianTourismJobShare": 0.152,
      "medianAmenityScore": 63,
      "medianOpportunity": 42,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 62,
      "medianMomentum": 51,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 2905058,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 4,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0349,
      "stateBigHomeShare": 0.2901,
      "stateTourismJobShare": 0.0872,
      "housingUnits": 396623,
      "stateHomeValue": 321574,
      "stateHomeValue4br": 376938,
      "stateHomeValueYoY": 0.025,
      "stateEffectiveTaxRate": 0.01137,
      "stateLossPer100k": 133,
      "stateDriverCount": 10,
      "stateEmergingCount": 0,
      "stateRiskScore": 56.6,
      "stateTopHazards": [
        "winterWeather",
        "hail"
      ]
    },
    "TN": {
      "code": "TN",
      "name": "Tennessee",
      "guideUrl": "/states/tennessee",
      "marketCount": 6,
      "medianAdr": 265,
      "medianOccupancy": 66,
      "medianRevenue": 64000,
      "medianSeasonalShare": 0.1419,
      "medianBigHomeShare": 0.1487,
      "medianTourismJobShare": 0.2335,
      "medianAmenityScore": 73,
      "medianOpportunity": 58,
      "medianGrossYield": 0.0981,
      "medianYieldAfterTax": 0.0947,
      "medianBuyerScore": 76,
      "medianMomentum": 29,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 5,
      "medianPop300": 46948504,
      "medianComfortMonths": 8,
      "topRevenue": 68000,
      "regStrictness": 2.2,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0201,
      "stateBigHomeShare": 0.1989,
      "stateTourismJobShare": 0.0918,
      "housingUnits": 3050850,
      "stateHomeValue": 334108,
      "stateHomeValue4br": 489034,
      "stateHomeValueYoY": 0.007,
      "stateEffectiveTaxRate": 0.00584,
      "stateLossPer100k": 133,
      "strLaw": {
        "preemption": "partial",
        "summary": "The Short-Term Rental Unit Act grandfathers existing operators: a local rule that prohibits or regulates short-term rentals does not apply to a property already lawfully used as an STR before the rule was enacted, until the property is sold or transferred, stops being used as an STR for 30 continuous months, or has three or more violations. It does not stop a local government restricting NEW short-term rentals.",
        "citation": "Tenn. Code Ann. 13-7-601 to 13-7-604 (2018 Public Chapter 972)",
        "url": "https://publications.tnsosfiles.com/acts/110/pub/pc0972.pdf",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "medium"
      },
      "stateDriverCount": 19,
      "stateEmergingCount": 1,
      "stateRiskScore": 77.8,
      "stateTopHazards": [
        "earthquake",
        "tornado"
      ]
    },
    "TX": {
      "code": "TX",
      "name": "Texas",
      "guideUrl": "/states/texas",
      "marketCount": 10,
      "medianAdr": 225,
      "medianOccupancy": 62,
      "medianRevenue": 51000,
      "medianSeasonalShare": 0.0113,
      "medianBigHomeShare": 0.2157,
      "medianTourismJobShare": 0.092,
      "medianAmenityScore": 75,
      "medianOpportunity": 42,
      "medianGrossYield": 0.1067,
      "medianYieldAfterTax": 0.0926,
      "medianBuyerScore": 47,
      "medianMomentum": 47,
      "regTightening": 2,
      "regLoosening": 0,
      "regNetDirection": 2,
      "heatingCount": 0,
      "coolingCount": 4,
      "medianPop300": 27999423,
      "medianComfortMonths": 8,
      "topRevenue": 75000,
      "regStrictness": 2.5,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0181,
      "stateBigHomeShare": 0.2306,
      "stateTourismJobShare": 0.0867,
      "housingUnits": 11654971,
      "stateHomeValue": 299367,
      "stateHomeValue4br": 395072,
      "stateHomeValueYoY": -0.016,
      "stateEffectiveTaxRate": 0.01627,
      "stateLossPer100k": 134,
      "stateDriverCount": 35,
      "stateEmergingCount": 3,
      "stateRiskScore": 91,
      "stateTopHazards": [
        "tornado",
        "hail"
      ]
    },
    "UT": {
      "code": "UT",
      "name": "Utah",
      "guideUrl": "/states/utah",
      "marketCount": 4,
      "medianAdr": 320,
      "medianOccupancy": 66,
      "medianRevenue": 77500,
      "medianSeasonalShare": 0.1021,
      "medianBigHomeShare": 0.3692,
      "medianTourismJobShare": 0.1261,
      "medianAmenityScore": 77,
      "medianOpportunity": 52,
      "medianGrossYield": 0.0642,
      "medianYieldAfterTax": 0.0602,
      "medianBuyerScore": 59,
      "medianMomentum": 43,
      "regTightening": 2,
      "regLoosening": 0,
      "regNetDirection": 2,
      "heatingCount": 0,
      "coolingCount": 3,
      "medianPop300": 7785680,
      "medianComfortMonths": 4,
      "topRevenue": 105000,
      "regStrictness": 3.3,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0415,
      "stateBigHomeShare": 0.4335,
      "stateTourismJobShare": 0.0821,
      "housingUnits": 1162654,
      "stateHomeValue": 534582,
      "stateHomeValue4br": 576064,
      "stateHomeValueYoY": 0.015,
      "stateEffectiveTaxRate": 0.00549,
      "stateLossPer100k": 161,
      "strLaw": {
        "preemption": "partial",
        "summary": "A municipality may not prohibit a person from LISTING a short-term rental on a website, may not punish someone solely for listing, and may not regulate short-term rental websites. It may still require a business licence or permit, and the statute assumes municipalities can restrict or disallow short-term rentals by zoning. Cities CAN still ban STRs here.",
        "citation": "Utah Code 10-8-85.4 (version effective 6 Nov 2025)",
        "url": "https://le.utah.gov/xcode/Title10/Chapter8/10-8-S85.4.html",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 14,
      "stateEmergingCount": 2,
      "stateRiskScore": 84.9,
      "stateTopHazards": [
        "wildfire",
        "earthquake"
      ]
    },
    "VT": {
      "code": "VT",
      "name": "Vermont",
      "guideUrl": null,
      "marketCount": 1,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.1462,
      "medianBigHomeShare": 0.2502,
      "medianTourismJobShare": 0.1669,
      "medianAmenityScore": 67,
      "medianOpportunity": 45,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 40,
      "medianMomentum": 53,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 41341146,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 4,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.1536,
      "stateBigHomeShare": 0.1983,
      "stateTourismJobShare": 0.0947,
      "housingUnits": 335138,
      "stateHomeValue": 399053,
      "stateHomeValue4br": 544985,
      "stateHomeValueYoY": 0.01,
      "stateEffectiveTaxRate": 0.01784,
      "stateLossPer100k": 103,
      "strLaw": {
        "preemption": "none",
        "summary": "Municipalities are expressly empowered to regulate the operation of short-term rentals by ordinance or bylaw, provided the rule does not adversely affect the availability of long-term rental housing.",
        "citation": "24 V.S.A. 2291(29)",
        "url": "https://legislature.vermont.gov/statutes/section/24/061/02291",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 9,
      "stateEmergingCount": 0,
      "stateRiskScore": 47.8,
      "stateTopHazards": [
        "winterWeather",
        "hurricane"
      ]
    },
    "VA": {
      "code": "VA",
      "name": "Virginia",
      "guideUrl": "/states/virginia",
      "marketCount": 4,
      "medianAdr": 265,
      "medianOccupancy": 62,
      "medianRevenue": 60000,
      "medianSeasonalShare": 0.0369,
      "medianBigHomeShare": 0.268,
      "medianTourismJobShare": 0.1056,
      "medianAmenityScore": 69,
      "medianOpportunity": 45,
      "medianGrossYield": 0.1148,
      "medianYieldAfterTax": 0.1066,
      "medianBuyerScore": 81,
      "medianMomentum": 40,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 4,
      "medianPop300": 51964989,
      "medianComfortMonths": 8,
      "topRevenue": 67000,
      "regStrictness": 3.3,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0214,
      "stateBigHomeShare": 0.2856,
      "stateTourismJobShare": 0.0829,
      "housingUnits": 3625285,
      "stateHomeValue": 414662,
      "stateHomeValue4br": 577114,
      "stateHomeValueYoY": 0.022,
      "stateEffectiveTaxRate": 0.00763,
      "stateLossPer100k": 91,
      "strLaw": {
        "preemption": "partial",
        "summary": "Local zoning authority over short-term rentals is expressly preserved, and localities may run an STR registry. Two limits: no ordinance may bar an operator solely for being a lessee or sublessee (with the owner's permission), and no ordinance enacted after 31 Dec 2023 may require a special exception or special/conditional use permit for an STR in a dwelling that is also the owner's primary residence.",
        "citation": "Va. Code 15.2-983",
        "url": "https://law.lis.virginia.gov/vacode/title15.2/chapter9/section15.2-983/",
        "marketplaceCollectsTax": "yes",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 12,
      "stateEmergingCount": 3,
      "stateRiskScore": 62.6,
      "stateTopHazards": [
        "hurricane",
        "earthquake"
      ]
    },
    "WA": {
      "code": "WA",
      "name": "Washington",
      "guideUrl": "/states/washington",
      "marketCount": 8,
      "medianAdr": 193,
      "medianOccupancy": 64,
      "medianRevenue": 46000,
      "medianSeasonalShare": 0.0472,
      "medianBigHomeShare": 0.1888,
      "medianTourismJobShare": 0.0971,
      "medianAmenityScore": 74,
      "medianOpportunity": 36,
      "medianGrossYield": 0.0584,
      "medianYieldAfterTax": 0.0505,
      "medianBuyerScore": 70,
      "medianMomentum": 39,
      "regTightening": 2,
      "regLoosening": 0,
      "regNetDirection": 2,
      "heatingCount": 0,
      "coolingCount": 5,
      "medianPop300": 11598487,
      "medianComfortMonths": 5,
      "topRevenue": 57000,
      "regStrictness": 3.1,
      "dataStatus": "verified",
      "stateSeasonalShare": 0.0262,
      "stateBigHomeShare": 0.2313,
      "stateTourismJobShare": 0.0861,
      "housingUnits": 3216243,
      "stateHomeValue": 591879,
      "stateHomeValue4br": 747092,
      "stateHomeValueYoY": -0.003,
      "stateEffectiveTaxRate": 0.00878,
      "stateLossPer100k": 195,
      "stateDriverCount": 13,
      "stateEmergingCount": 0,
      "stateRiskScore": 92.8,
      "stateTopHazards": [
        "earthquake",
        "riverFlood"
      ]
    },
    "WV": {
      "code": "WV",
      "name": "West Virginia",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.3069,
      "medianBigHomeShare": 0.164,
      "medianTourismJobShare": 0.1087,
      "medianAmenityScore": 53,
      "medianOpportunity": 48,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 40,
      "medianMomentum": 56,
      "regTightening": 0,
      "regLoosening": 1,
      "regNetDirection": -1,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 60215990,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 1.7,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0389,
      "stateBigHomeShare": 0.1769,
      "stateTourismJobShare": 0.0868,
      "housingUnits": 859142,
      "stateHomeValue": 179496,
      "stateHomeValue4br": 290964,
      "stateHomeValueYoY": 0.031,
      "stateEffectiveTaxRate": 0.00555,
      "stateLossPer100k": 216,
      "stateDriverCount": 5,
      "stateEmergingCount": 0,
      "stateRiskScore": 64.4,
      "stateTopHazards": [
        "riverFlood",
        "hurricane"
      ]
    },
    "WI": {
      "code": "WI",
      "name": "Wisconsin",
      "guideUrl": null,
      "marketCount": 3,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.1608,
      "medianBigHomeShare": 0.2395,
      "medianTourismJobShare": 0.1145,
      "medianAmenityScore": 62,
      "medianOpportunity": 41,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 44,
      "medianMomentum": 57,
      "regTightening": 1,
      "regLoosening": 0,
      "regNetDirection": 1,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 33795313,
      "medianComfortMonths": 5,
      "topRevenue": null,
      "regStrictness": 3.3,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0654,
      "stateBigHomeShare": 0.1981,
      "stateTourismJobShare": 0.0778,
      "housingUnits": 2734511,
      "stateHomeValue": 339699,
      "stateHomeValue4br": 435244,
      "stateHomeValueYoY": 0.051,
      "stateEffectiveTaxRate": 0.01586,
      "stateLossPer100k": 88,
      "strLaw": {
        "preemption": "partial",
        "summary": "A political subdivision may not prohibit the rental of a residential dwelling for 7 consecutive days or longer. For rentals of more than 6 but fewer than 30 consecutive days it may cap total rental days at no fewer than 180 in a 365-day period (and may require them to run consecutively). The protection does not extend to rentals shorter than 7 days.",
        "citation": "Wis. Stat. 66.1014",
        "url": "https://docs.legis.wisconsin.gov/statutes/statutes/66/x/1014",
        "marketplaceCollectsTax": "unknown",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "high"
      },
      "stateDriverCount": 13,
      "stateEmergingCount": 0,
      "stateRiskScore": 78.6,
      "stateTopHazards": [
        "hail",
        "tornado"
      ]
    },
    "WY": {
      "code": "WY",
      "name": "Wyoming",
      "guideUrl": null,
      "marketCount": 1,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.1957,
      "medianBigHomeShare": 0.2319,
      "medianTourismJobShare": 0.1976,
      "medianAmenityScore": 62,
      "medianOpportunity": 43,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 31,
      "medianMomentum": 54,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 0,
      "medianPop300": 5740755,
      "medianComfortMonths": 4,
      "topRevenue": null,
      "regStrictness": 4,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0504,
      "stateBigHomeShare": 0.2603,
      "stateTourismJobShare": 0.0974,
      "housingUnits": 273291,
      "stateHomeValue": 371854,
      "stateHomeValue4br": 429435,
      "stateHomeValueYoY": 0.014,
      "stateEffectiveTaxRate": 0.00581,
      "stateLossPer100k": 136,
      "stateDriverCount": 8,
      "stateEmergingCount": 0,
      "stateRiskScore": 53.4,
      "stateTopHazards": [
        "wildfire",
        "winterWeather"
      ]
    },
    "DC": {
      "code": "DC",
      "name": "Washington, D.C.",
      "guideUrl": null,
      "marketCount": 1,
      "medianAdr": null,
      "medianOccupancy": null,
      "medianRevenue": null,
      "medianSeasonalShare": 0.0081,
      "medianBigHomeShare": 0.1182,
      "medianTourismJobShare": 0.0761,
      "medianAmenityScore": 100,
      "medianOpportunity": 28,
      "medianGrossYield": null,
      "medianYieldAfterTax": null,
      "medianBuyerScore": 50,
      "medianMomentum": 32,
      "regTightening": 0,
      "regLoosening": 0,
      "regNetDirection": 0,
      "heatingCount": 0,
      "coolingCount": 1,
      "medianPop300": 69029650,
      "medianComfortMonths": 6,
      "topRevenue": null,
      "regStrictness": 5,
      "dataStatus": "partial",
      "stateSeasonalShare": 0.0081,
      "stateBigHomeShare": 0.1182,
      "stateTourismJobShare": 0.0761,
      "housingUnits": 350372,
      "stateHomeValue": 570119,
      "stateHomeValue4br": 980299,
      "stateHomeValueYoY": -0.01,
      "stateEffectiveTaxRate": 0.00561,
      "stateLossPer100k": 43,
      "strLaw": {
        "preemption": "none",
        "summary": "Not a preemption question: DC is a single jurisdiction. District law itself restricts short-term rentals to the host's primary residence and caps vacation rentals (host absent) at 90 nights a year unless exempted.",
        "citation": "D.C. Law 22-307, Short-Term Rental Regulation Act of 2018",
        "url": "https://code.dccouncil.gov/us/dc/council/laws/22-307",
        "marketplaceCollectsTax": "yes",
        "lastVerified": "2026-09-20",
        "reviewed": false,
        "confidence": "medium"
      },
      "stateDriverCount": 6,
      "stateEmergingCount": 1,
      "stateRiskScore": 97.6,
      "stateTopHazards": [
        "earthquake",
        "riverFlood"
      ]
    }
  },
  "markets": [
    {
      "slug": "vail",
      "city": "Vail",
      "state": "Colorado",
      "stateCode": "CO",
      "lat": 39.6403,
      "lng": -106.3742,
      "adr": 495,
      "occupancy": 70,
      "annualRevenue": 126000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Town of Vail STR Licence, in three types: Individual Property Owners, Professional Property Managers, and On-Site 24/7 Front Desk Managed. Requires a notarised STR Self-Compliance Affidavit and, where applicable, a passed Certificate of Fire Inspection. Licences currently expire 28 February 2027.",
      "tax": null,
      "zoning": null,
      "minStay": "STR is defined as a lease term of less than 30 consecutive days",
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/vail",
      "regUrl": "/regulations/vail-co-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Some residential zones restrict or prohibit non-owner-occupied STRs entirely.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "permitFee": "$260 registration fee (Individual Property Owners and Professional Property Managers); $50 (On-Site 24/7 Front Desk Managed)",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.vail.gov/business/finance/short-term-rentals",
      "countyName": "Eagle County",
      "countyFips": "08037",
      "seasonalShare": 0.3173,
      "bigHomeShare": 0.2951,
      "tourismJobShare": 0.2244,
      "amenityScore": 67,
      "dining": 125,
      "attractions": 17,
      "outdoors": 604,
      "lodgingCompetition": 53,
      "pop150": 5680839,
      "pop300": 7857932,
      "nearestMetros": [
        {
          "name": "El Paso County, CO",
          "pop": 730323
        },
        {
          "name": "Denver County, CO",
          "pop": 710800
        },
        {
          "name": "Arapahoe County, CO",
          "pop": 654453
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 8,
      "climate": {
        "highF": [
          28.5,
          28.6,
          36.1,
          44.5,
          54.2,
          67.1,
          77.2,
          76,
          69.2,
          51.5,
          38.5,
          30.5
        ],
        "lowF": [
          12.1,
          11.2,
          18.2,
          24.5,
          32.8,
          40.2,
          49.3,
          48.8,
          42.2,
          26.8,
          16.1,
          11.3
        ],
        "precipIn": [
          2.4,
          2.6,
          3.1,
          2.6,
          2,
          1.6,
          1.2,
          1.3,
          1,
          2.1,
          1.8,
          3.1
        ],
        "snowIn": [
          17,
          18,
          21.6,
          17,
          10.7,
          2.5,
          0,
          0,
          0.9,
          13.4,
          12.2,
          21.9
        ],
        "sunHours": [
          7.1,
          8.2,
          9.6,
          11.1,
          12.3,
          13.1,
          13.3,
          12.5,
          11.5,
          9.7,
          8.2,
          6.9
        ]
      },
      "effectiveTaxRate": 0.00399,
      "taxTopCoded": false,
      "annualTax4br": 9519,
      "annualTaxTypical": 5198,
      "lossPer100k": 228,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.029,
        "listPriceYoY": 0.1086,
        "inventoryYoY": 0.1062,
        "domYoY": -0.1371,
        "priceCutShare": 0.1469,
        "priceCutShareYoY": 0.019,
        "popChange1yr": -0.0063,
        "domesticMigPer1000": -12.12
      },
      "activeListings": 1083,
      "medianDom": 85,
      "medianListPrice": 1189000,
      "permitsPer1000Units": 6.75,
      "permitsYoY": -0.4639,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 74.7,
        "listPriceYoY": 98.3,
        "inventoryYoY": 29.5,
        "domYoY": 93.1,
        "priceCutShareYoY": 16.8,
        "popChange1yr": 8.6,
        "domesticMigPer1000": 6.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 76.2,
      "riskRating": "Relatively Low",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 86.5,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 75.5,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 14.4,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 53.2,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 74.2,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 30.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 1302808,
      "homeValue4br": 2385593,
      "homeValueYoY": 0.029,
      "dataStatus": "verified",
      "nationalRank": 1,
      "opportunityScore": 71,
      "opportunityBasis": "full",
      "buyerScore": 45,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 71,
        "domYoY": 8,
        "priceCutShareYoY": 83,
        "priceCutShare": 16
      },
      "grossYield": 0.0528,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0488
    },
    {
      "slug": "maui",
      "city": "Maui",
      "state": "Hawaii",
      "stateCode": "HI",
      "lat": 20.803,
      "lng": -156.3107,
      "adr": 425,
      "occupancy": 76,
      "annualRevenue": 118000,
      "medianPrice": 1100000,
      "regStrictness": 5,
      "regNotes": "Most STRs require special use permit in hotel/resort zones only. Near-total ban in residential areas.",
      "growthTrend": "-8%",
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/maui",
      "regUrl": "/regulations/maui-hi-airbnb-regulations",
      "sources": [
        "analytics",
        "comparison",
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/maui-hi-airbnb-regulations",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Maui County",
      "countyFips": "15009",
      "seasonalShare": 0.1043,
      "bigHomeShare": 0.1671,
      "tourismJobShare": 0.2253,
      "amenityScore": 56,
      "dining": 43,
      "attractions": 32,
      "outdoors": 33,
      "lodgingCompetition": 4,
      "pop150": 1377078,
      "pop300": 1450589,
      "nearestMetros": [
        {
          "name": "Honolulu County, HI",
          "pop": 1010100
        },
        {
          "name": "Hawaii County, HI",
          "pop": 202163
        },
        {
          "name": "Maui County, HI",
          "pop": 164765
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          69.9,
          68.6,
          70.1,
          71.3,
          73.3,
          75.9,
          78.3,
          78,
          78.1,
          76.4,
          74.5,
          71.8
        ],
        "lowF": [
          58.4,
          57.6,
          58.4,
          59.5,
          61.2,
          62.9,
          65,
          64.9,
          64.8,
          63.8,
          62.6,
          60.4
        ],
        "precipIn": [
          4.7,
          7.9,
          4.8,
          5.1,
          3.1,
          2,
          1.7,
          2.5,
          2,
          3.3,
          2.8,
          5.4
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          9.8,
          9.8,
          9.9,
          10.8,
          11.5,
          12.3,
          12.4,
          12.2,
          11.3,
          10.7,
          9.6,
          9.1
        ]
      },
      "effectiveTaxRate": 0.00177,
      "taxTopCoded": false,
      "annualTax4br": 2292,
      "annualTaxTypical": 1748,
      "lossPer100k": 340,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 24,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.033,
        "listPriceYoY": -0.1598,
        "inventoryYoY": 0.0598,
        "domYoY": 0.0648,
        "priceCutShare": 0.1323,
        "priceCutShareYoY": -0.0431,
        "popChange1yr": -0.0101,
        "domesticMigPer1000": -13.72
      },
      "activeListings": 1400,
      "medianDom": 115,
      "medianListPrice": 999000,
      "permitsPer1000Units": 12.56,
      "permitsYoY": -0.1932,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 4,
        "listPriceYoY": 0.6,
        "inventoryYoY": 39.9,
        "domYoY": 20.8,
        "priceCutShareYoY": 93.6,
        "popChange1yr": 2.6,
        "domesticMigPer1000": 4
      },
      "supplyCaution": false,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 93.1,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "earthquake",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 69.5,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": 54,
          "rating": "Relatively Low"
        },
        "riverFlood": {
          "score": 93.7,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 95.3,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 5.9,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 97.1,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 1.4,
          "rating": "Very Low"
        },
        "hail": {
          "score": 2.2,
          "rating": "Very Low"
        }
      },
      "homeValue": 987614,
      "homeValue4br": 1294896,
      "homeValueYoY": -0.033,
      "dataStatus": "verified",
      "nationalRank": 2,
      "opportunityScore": 55,
      "opportunityBasis": "full",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 60,
        "domYoY": 79,
        "priceCutShareYoY": 7,
        "priceCutShare": 12
      },
      "grossYield": 0.0911,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0893
    },
    {
      "slug": "park-city",
      "city": "Park City",
      "state": "Utah",
      "stateCode": "UT",
      "lat": 40.6461,
      "lng": -111.498,
      "adr": 425,
      "occupancy": 68,
      "annualRevenue": 105000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Nightly Rental licence administered by Park City Municipal (nightly_rental@parkcity.gov, 435-615-5231); nightly rentals are regulated under Park City Municipal Code 4-5-3",
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/park-city",
      "regUrl": "/regulations/park-city-ut-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Single-family residential zones generally prohibit nightly rentals unless grandfathered.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.parkcity.gov/services/finance/nightly_rental_complaints.php",
      "countyName": "Summit County",
      "countyFips": "49043",
      "seasonalShare": 0.3821,
      "bigHomeShare": 0.3881,
      "tourismJobShare": 0.1495,
      "amenityScore": 80,
      "dining": 189,
      "attractions": 55,
      "outdoors": 1845,
      "lodgingCompetition": 64,
      "pop150": 3154123,
      "pop300": 4839489,
      "nearestMetros": [
        {
          "name": "Salt Lake County, UT",
          "pop": 1180643
        },
        {
          "name": "Utah County, UT",
          "pop": 666021
        },
        {
          "name": "Davis County, UT",
          "pop": 363032
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 8,
      "climate": {
        "highF": [
          30.2,
          29.5,
          36.3,
          44.2,
          54.8,
          69,
          80.2,
          77.4,
          68.9,
          52.7,
          40.6,
          32.1
        ],
        "lowF": [
          16.6,
          14.8,
          21.2,
          27.4,
          36.1,
          47.7,
          57.9,
          56.3,
          47.9,
          33.1,
          23.8,
          17.4
        ],
        "precipIn": [
          3.4,
          3,
          3.5,
          2.3,
          2.6,
          2.8,
          2.5,
          2.8,
          3.1,
          2.1,
          2.6,
          3.6
        ],
        "snowIn": [
          24.1,
          21.2,
          24.6,
          14.1,
          7.8,
          1.3,
          0,
          0,
          0.8,
          7.4,
          15.4,
          24.9
        ],
        "sunHours": [
          6.8,
          7.9,
          8.7,
          10.6,
          12.4,
          13.6,
          13.7,
          12.5,
          11.6,
          9.5,
          7.8,
          6.5
        ]
      },
      "effectiveTaxRate": 0.0034,
      "taxTopCoded": false,
      "annualTax4br": 7661,
      "annualTaxTypical": 4565,
      "lossPer100k": 177,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 43,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.05,
        "listPriceYoY": -0.0323,
        "inventoryYoY": 0.0748,
        "domYoY": -0.0385,
        "priceCutShare": 0.1417,
        "priceCutShareYoY": 0.0027,
        "popChange1yr": -0.0025,
        "domesticMigPer1000": -10.29
      },
      "activeListings": 891,
      "medianDom": 75,
      "medianListPrice": 1596750,
      "permitsPer1000Units": 21.69,
      "permitsYoY": -0.3874,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 91.4,
        "listPriceYoY": 42.2,
        "inventoryYoY": 37,
        "domYoY": 62.7,
        "priceCutShareYoY": 39.9,
        "popChange1yr": 17.4,
        "domesticMigPer1000": 10.3
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 7,
      "emergingDriverCount": 2,
      "eventMonths": [
        1
      ],
      "riskScore": 60.1,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 49.6,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 96.5,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 13.6,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 55.5,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 87,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 9.8,
          "rating": "Very Low"
        }
      },
      "homeValue": 1342551,
      "homeValue4br": 2253276,
      "homeValueYoY": 0.05,
      "dataStatus": "verified",
      "nationalRank": 3,
      "opportunityScore": 74,
      "opportunityBasis": "full",
      "buyerScore": 44,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 63,
        "domYoY": 38,
        "priceCutShareYoY": 60,
        "priceCutShare": 14
      },
      "grossYield": 0.0466,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0432
    },
    {
      "slug": "key-west",
      "city": "Key West",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 24.5551,
      "lng": -81.78,
      "adr": 385,
      "occupancy": 74,
      "annualRevenue": 104000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "City of Key West transient rental medallion (regulatory licence under Sec. 18-147 of the municipal code) supporting a Business Tax Receipt, plus a Florida DBPR vacation rental licence",
      "tax": "6% Florida state sales tax + 1.5% Monroe County surtax + 5% Monroe County transient rental tax = 12.5%",
      "zoning": null,
      "minStay": "Transient lodging = rented for periods of less than 30 days or one calendar month",
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/key-west",
      "regUrl": "/regulations/key-west-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "most residential zones prohibit STRs entirely",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.cityofkeywest-fl.gov/856/Map-Addresses-of-Transient-Rental-Proper",
      "countyName": "Monroe County",
      "countyFips": "12087",
      "seasonalShare": 0.2378,
      "bigHomeShare": 0.1028,
      "tourismJobShare": 0.2156,
      "amenityScore": 69,
      "dining": 200,
      "attractions": 32,
      "outdoors": 102,
      "lodgingCompetition": 128,
      "pop150": 5904213,
      "pop300": 16655012,
      "nearestMetros": [
        {
          "name": "Miami-Dade County, FL",
          "pop": 2688237
        },
        {
          "name": "Broward County, FL",
          "pop": 1940907
        },
        {
          "name": "Lee County, FL",
          "pop": 772902
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          73,
          75,
          76.4,
          79.1,
          81.1,
          83.9,
          85.6,
          86,
          84.8,
          82.5,
          78.8,
          75.3
        ],
        "lowF": [
          68.7,
          71.5,
          73.2,
          75.8,
          77.5,
          79.7,
          81.5,
          81.8,
          80.7,
          78.9,
          75.4,
          71.4
        ],
        "precipIn": [
          1.5,
          1.3,
          1.8,
          1.6,
          3.4,
          5.5,
          5.1,
          5,
          6.7,
          4.5,
          3.6,
          3.1
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          9.7,
          10.4,
          11.1,
          12.2,
          12.3,
          11.5,
          12,
          11.6,
          10.5,
          10.2,
          9.5,
          9.1
        ]
      },
      "effectiveTaxRate": 0.0054,
      "taxTopCoded": false,
      "annualTax4br": 10345,
      "annualTaxTypical": 5183,
      "lossPer100k": 422,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 34,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.011,
        "listPriceYoY": -0.06,
        "inventoryYoY": 0.0337,
        "domYoY": -0.0476,
        "priceCutShare": 0.1346,
        "priceCutShareYoY": 0.0018,
        "popChange1yr": -0.0196,
        "domesticMigPer1000": -23.54
      },
      "activeListings": 1226,
      "medianDom": 110,
      "medianListPrice": 1175000,
      "permitsPer1000Units": 5.16,
      "permitsYoY": -0.1647,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 56.9,
        "listPriceYoY": 16.2,
        "inventoryYoY": 52,
        "domYoY": 68.8,
        "priceCutShareYoY": 42.2,
        "popChange1yr": 0,
        "domesticMigPer1000": 0.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 60836357,
        "priorTtm": 61463006,
        "yoy": -0.0102,
        "period": "2024-10..2025-09",
        "unit": "tax collected USD",
        "geography": "Monroe County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://www.monroecounty-fl.gov/328/Tourist-Development-Council"
      },
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 91.6,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "coastalFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 98,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 98.8,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 42.9,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 61.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 25.6,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 6.4,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 16.8,
          "rating": "Very Low"
        }
      },
      "homeValue": 959844,
      "homeValue4br": 1915781,
      "homeValueYoY": 0.011,
      "dataStatus": "verified",
      "nationalRank": 4,
      "opportunityScore": 62,
      "opportunityBasis": "full",
      "buyerScore": 38,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 48,
        "domYoY": 32,
        "priceCutShareYoY": 58,
        "priceCutShare": 13
      },
      "grossYield": 0.0543,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0489
    },
    {
      "slug": "breckenridge",
      "city": "Breckenridge",
      "state": "Colorado",
      "stateCode": "CO",
      "lat": 39.4817,
      "lng": -106.0384,
      "adr": 385,
      "occupancy": 72,
      "annualRevenue": 101000,
      "medianPrice": 980000,
      "regStrictness": 3,
      "regNotes": "STR license required. Hard cap on total licenses in market. Strict noise and occupancy limits.",
      "growthTrend": "+3%",
      "permit": "Accommodation Unit License (short-term rental licence), Town of Breckenridge Finance Department; required before advertising, licence number must appear in all advertising",
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/breckenridge",
      "regUrl": "/regulations/breckenridge-co-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "Annual accommodation unit licence $75 (studio) / $100 (1BR) / $125 (2BR) / $150 (3BR) / $175 (4+BR), plus an annual accommodation unit regulatory fee of $756 per bedroom/studio with no cap on bedrooms charged",
      "strCap": "Zoned caps: Zone 1 (Tourism) allows 1,680 licences; Zone 2 (downtown core) allows 130; Zone 3 (residential) allows 390. As of July 2026: Zone 1 had 1,221 issued and 467 available with no waitlist; Zone 2 was full at 130 with a waitlist; Zone 3 had 1,002 issued against a 390 cap, full with a waitlist. The Resort Properties Zone had 1,711 current licences and no waitlist.",
      "ownerOccupancy": "No owner-occupancy requirement to hold a licence. Owner occupancy matters only as a fee exemption: the regulatory fee is not imposed where the unit is the licence holder's primary residence and is rented no more than 21 days per year.",
      "transfersOnSale": "Non-transferable and non-refundable on sale; the licence terminates and the buyer must apply anew subject to the zone cap and waitlist",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.townofbreckenridge.com/community/short-term-rentals",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Summit County",
      "countyFips": "08117",
      "seasonalShare": 0.5295,
      "bigHomeShare": 0.2026,
      "tourismJobShare": 0.2226,
      "amenityScore": 76,
      "dining": 138,
      "attractions": 64,
      "outdoors": 982,
      "lodgingCompetition": 41,
      "pop150": 5646966,
      "pop300": 7227240,
      "nearestMetros": [
        {
          "name": "El Paso County, CO",
          "pop": 730323
        },
        {
          "name": "Denver County, CO",
          "pop": 710800
        },
        {
          "name": "Arapahoe County, CO",
          "pop": 654453
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 8,
      "climate": {
        "highF": [
          25.1,
          24.8,
          32.7,
          39.9,
          49.4,
          60.7,
          69.9,
          69.2,
          63.4,
          47.3,
          35.3,
          26.9
        ],
        "lowF": [
          4.8,
          4.6,
          10.8,
          17.5,
          26.3,
          32.3,
          39.9,
          41,
          35,
          20.9,
          6.7,
          2.6
        ],
        "precipIn": [
          2,
          2.2,
          2.6,
          2.2,
          2.5,
          1.6,
          2.4,
          2.3,
          1.4,
          1.7,
          1.4,
          2.2
        ],
        "snowIn": [
          13.7,
          15,
          18.5,
          15.2,
          14.1,
          3,
          0,
          0.1,
          2.4,
          10.7,
          10.1,
          15.4
        ],
        "sunHours": [
          7.4,
          8.8,
          9.8,
          11.4,
          12.2,
          13.3,
          13.2,
          12.5,
          11.4,
          10,
          8.3,
          7
        ]
      },
      "effectiveTaxRate": 0.00315,
      "taxTopCoded": false,
      "annualTax4br": 6225,
      "annualTaxTypical": 3055,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 38,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.004,
        "listPriceYoY": -0.1183,
        "inventoryYoY": 0.1131,
        "domYoY": -0.0733,
        "priceCutShare": 0.2228,
        "priceCutShareYoY": -0.0339,
        "popChange1yr": -0.004,
        "domesticMigPer1000": -14.16
      },
      "activeListings": 1004,
      "medianDom": 70,
      "medianListPrice": 965450,
      "permitsPer1000Units": 10.09,
      "permitsYoY": 0.2326,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 45.1,
        "listPriceYoY": 2.3,
        "inventoryYoY": 27.7,
        "domYoY": 80.9,
        "priceCutShareYoY": 92.5,
        "popChange1yr": 11.4,
        "domesticMigPer1000": 2.9
      },
      "supplyCaution": false,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 7,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 60.2,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hail",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 65.4,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 53.6,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 21.8,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 46.9,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 74.2,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 78.5,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 969935,
      "homeValue4br": 1976195,
      "homeValueYoY": 0.004,
      "dataStatus": "verified",
      "nationalRank": 5,
      "opportunityScore": 75,
      "opportunityBasis": "full",
      "buyerScore": 41,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 72,
        "domYoY": 20,
        "priceCutShareYoY": 8,
        "priceCutShare": 64
      },
      "grossYield": 0.0511,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.048
    },
    {
      "slug": "lake-tahoe",
      "city": "Lake Tahoe",
      "state": "California",
      "stateCode": "CA",
      "lat": 39.0968,
      "lng": -120.0324,
      "adr": 395,
      "occupancy": 68,
      "annualRevenue": 98000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "City of South Lake Tahoe Vacation Home Rental (VHR) permit; SLTCC Chapter 3.50 Article V as amended by Ordinance 2026-1203",
      "tax": "Transient occupancy tax due under SLTCC Chapter 3.50 Article II; the owner or agent must also report room nights rented when remitting. Rate not stated in any source reached.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "The lesser of the paved-parking-space limit and the bedroom limit. Residential areas: bedrooms x 2 (studio 2, 1BR 2, 2BR 4, 3BR 6, 4BR 8, 5BR 10). Outside residential areas: bedrooms x 2 + 4 (studio 4, 1BR 6, 2BR 8, 3BR 10, 4BR 12, 5BR 14). Up to five children aged 13 and under excluded (two for studios).",
      "penalties": "Violations are declared a public nuisance and subject to citation in amounts set by separate City Council resolution (amounts not in the ordinance)",
      "restrictions": null,
      "marketUrl": "/markets/lake-tahoe",
      "regUrl": "/regulations/lake-tahoe-ca-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "South Lake Tahoe maintains a strict cap on the total number of VHR (Vacation Home Rental) permits.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "strCap": "900 VHR permits in residential areas, with a City-maintained waitlist in application-completion order once exceeded; Tourist Core and Commercial zones are not subject to the cap",
      "ownerOccupancy": "Not required for a VHR permit; the City operates a separate Hosted Rental permit for owner-present rentals",
      "transfersOnSale": "Permits are nontransferable to a different person or entity, and cannot be moved between dwelling units. Narrow exception: a permit may pass to another owner who was already an owner when the application was submitted, or into a family trust.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.cityofslt.gov/2510/Vacation-Home-Rentals",
      "countyName": "Placer County",
      "countyFips": "06061",
      "seasonalShare": 0.0859,
      "bigHomeShare": 0.3366,
      "tourismJobShare": 0.0887,
      "amenityScore": 62,
      "dining": 42,
      "attractions": 23,
      "outdoors": 305,
      "lodgingCompetition": 14,
      "pop150": 9183313,
      "pop300": 18112328,
      "nearestMetros": [
        {
          "name": "Alameda County, CA",
          "pop": 1663823
        },
        {
          "name": "Sacramento County, CA",
          "pop": 1579211
        },
        {
          "name": "Contra Costa County, CA",
          "pop": 1162648
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 6,
      "climate": {
        "highF": [
          37.2,
          37.3,
          39.2,
          49.3,
          57.4,
          69.8,
          80.5,
          79.4,
          71.1,
          59.7,
          46.5,
          38.6
        ],
        "lowF": [
          25,
          23.1,
          26,
          32.3,
          39.3,
          49.1,
          58.3,
          58.7,
          52,
          41.6,
          31.4,
          26.6
        ],
        "precipIn": [
          4.3,
          4.1,
          3.4,
          1.5,
          1.4,
          0.4,
          0,
          0.4,
          1.3,
          1.9,
          1.8,
          6.9
        ],
        "snowIn": [
          27.9,
          26.6,
          20.6,
          8.2,
          4.9,
          0.1,
          0,
          0,
          1.4,
          3.4,
          8.6,
          37.9
        ],
        "sunHours": [
          7.6,
          8.7,
          10,
          12,
          13,
          13.5,
          13.8,
          13.1,
          11.8,
          10.3,
          8.7,
          6.7
        ]
      },
      "effectiveTaxRate": 0.0085,
      "taxTopCoded": false,
      "annualTax4br": 6500,
      "annualTaxTypical": 5838,
      "lossPer100k": 140,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 78,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.009,
        "listPriceYoY": 0.0345,
        "inventoryYoY": -0.0567,
        "domYoY": -0.0862,
        "priceCutShare": 0.2203,
        "priceCutShareYoY": -0.0104,
        "popChange1yr": 0.018,
        "domesticMigPer1000": 16.29
      },
      "activeListings": 1464,
      "medianDom": 53,
      "medianListPrice": 749999,
      "permitsPer1000Units": 18.8,
      "permitsYoY": -0.1236,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 55.2,
        "listPriceYoY": 84.4,
        "inventoryYoY": 80.9,
        "domYoY": 86.1,
        "priceCutShareYoY": 59.5,
        "popChange1yr": 90.9,
        "domesticMigPer1000": 91.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 5,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 93.1,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 95.8,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 98.7,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 23.3,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 95.2,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 47.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 25.8,
          "rating": "Very Low"
        }
      },
      "homeValue": 686808,
      "homeValue4br": 764715,
      "homeValueYoY": 0.009,
      "dataStatus": "verified",
      "nationalRank": 6,
      "opportunityScore": 56,
      "opportunityBasis": "full",
      "buyerScore": 34,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 20,
        "domYoY": 15,
        "priceCutShareYoY": 40,
        "priceCutShare": 61
      },
      "grossYield": 0.1282,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1197
    },
    {
      "slug": "scottsdale",
      "city": "Scottsdale",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 33.4942,
      "lng": -111.9261,
      "adr": 345,
      "occupancy": 72,
      "annualRevenue": 91000,
      "medianPrice": 625000,
      "regStrictness": 2,
      "regNotes": "Arizona state law limits local STR restrictions. One of the most investor-friendly markets.",
      "growthTrend": "+8%",
      "permit": "Annual registration required",
      "tax": "5.6% state + 1.75% city",
      "zoning": "Allowed in most residential zones",
      "minStay": "None",
      "occupancyRule": "No specific limit",
      "penalties": "Up to $1,000/day",
      "restrictions": [
        "Must register with city",
        "Collect and remit TPT taxes",
        "Comply with noise ordinances"
      ],
      "marketUrl": "/markets/scottsdale",
      "regUrl": "/regulations/scottsdale-az-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$250 per property per year",
      "strCap": "No cap - A.R.S. 9-500.39: 'A city or town may not prohibit vacation rentals or short-term rentals.' The statute caps any local permit fee at the actual cost of issuance or $250, whichever is less.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.scottsdaleaz.gov/codes-and-ordinances/vacation-and-short-term-rentals",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Maricopa County",
      "countyFips": "04013",
      "seasonalShare": 0.0358,
      "bigHomeShare": 0.2619,
      "tourismJobShare": 0.093,
      "amenityScore": 98,
      "dining": 1642,
      "attractions": 160,
      "outdoors": 752,
      "lodgingCompetition": 270,
      "pop150": 6505197,
      "pop300": 18018883,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pima County, AZ",
          "pop": 1042393
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65,
          67.2,
          74,
          87.2,
          93.9,
          103.7,
          106.3,
          104.2,
          99.4,
          88.6,
          77.1,
          65.4
        ],
        "lowF": [
          43.4,
          44.6,
          50.5,
          60.3,
          68.6,
          78.1,
          85.1,
          83.1,
          77.1,
          63.8,
          53.7,
          45.5
        ],
        "precipIn": [
          1.1,
          1.4,
          1.8,
          0.1,
          0.1,
          0.1,
          2.8,
          1.8,
          1.4,
          0.3,
          1,
          1.9
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.6,
          10.3,
          12.5,
          12.9,
          13.2,
          12,
          12,
          11.4,
          10.6,
          9.4,
          8
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 2798,
      "annualTaxTypical": 2313,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": "summed-components",
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0495,
        "inventoryYoY": 0.0564,
        "domYoY": -0.0563,
        "priceCutShare": 0.277,
        "priceCutShareYoY": -0.0097,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 0.2
      },
      "activeListings": 15125,
      "medianDom": 67,
      "medianListPrice": 499000,
      "permitsPer1000Units": 17.38,
      "permitsYoY": -0.13,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 25.4,
        "inventoryYoY": 42.8,
        "domYoY": 74.6,
        "priceCutShareYoY": 55.5,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 44
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "permitRegistry": {
        "active": 2799,
        "asOf": null,
        "byType": {
          "Active": 2799
        },
        "name": "Licensed Short-term Rental",
        "url": "https://data-scottsdaleaz.opendata.arcgis.com/",
        "per1000CountyUnits": null,
        "capText": "No cap - A.R.S. 9-500.39: 'A city or town may not prohibit vacation rentals or short-term rentals.' The statute caps any local permit fee at the actual cost of issuance or $250, whichever is less."
      },
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 26.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 84,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 456252,
      "homeValue4br": 551940,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 7,
      "opportunityScore": 77,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 57,
        "domYoY": 26,
        "priceCutShareYoY": 44,
        "priceCutShare": 90
      },
      "grossYield": 0.1649,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1598
    },
    {
      "slug": "napa-valley",
      "city": "Napa Valley",
      "state": "California",
      "stateCode": "CA",
      "lat": 38.4617,
      "lng": -122.3142,
      "adr": 375,
      "occupancy": 66,
      "annualRevenue": 90000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/napa-valley",
      "regUrl": "/regulations/napa-valley-ca-airbnb-regulations",
      "sources": [
        "analytics",
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Properties in unincorporated Napa County on agriculturally zoned land (which is the majority of the valley floor) are generally prohibited from operating as STRs.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/napa-valley-ca-airbnb-regulations",
      "countyName": "Napa County",
      "countyFips": "06055",
      "seasonalShare": 0.0625,
      "bigHomeShare": 0.2066,
      "tourismJobShare": 0.1268,
      "amenityScore": 53,
      "dining": 32,
      "attractions": 17,
      "outdoors": 48,
      "lodgingCompetition": 30,
      "pop150": 13089717,
      "pop300": 18427558,
      "nearestMetros": [
        {
          "name": "Santa Clara County, CA",
          "pop": 1916831
        },
        {
          "name": "Alameda County, CA",
          "pop": 1663823
        },
        {
          "name": "Sacramento County, CA",
          "pop": 1579211
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          54.5,
          56.6,
          57.5,
          67.2,
          72.7,
          81.5,
          86.3,
          87.7,
          83.3,
          75.1,
          62.4,
          53.3
        ],
        "lowF": [
          38,
          36.8,
          38.3,
          42.5,
          46.8,
          51.8,
          52.2,
          55,
          54.1,
          48.9,
          40.9,
          38
        ],
        "precipIn": [
          6,
          4.5,
          4.3,
          1,
          1.1,
          0.2,
          0,
          0,
          0.4,
          2.1,
          1.7,
          6.7
        ],
        "snowIn": [
          0.1,
          1,
          0.5,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.6,
          8.7,
          8.9,
          11.3,
          12.6,
          13.6,
          13.7,
          12.8,
          11.6,
          9.9,
          8.6,
          6
        ]
      },
      "effectiveTaxRate": 0.00698,
      "taxTopCoded": false,
      "annualTax4br": 7055,
      "annualTaxTypical": 6081,
      "lossPer100k": 386,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 53,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.017,
        "listPriceYoY": -0.0354,
        "inventoryYoY": -0.0291,
        "domYoY": -0.1383,
        "priceCutShare": 0.1617,
        "priceCutShareYoY": -0.0335,
        "popChange1yr": -0.0012,
        "domesticMigPer1000": -1.6
      },
      "activeListings": 533,
      "medianDom": 81,
      "medianListPrice": 1349000,
      "permitsPer1000Units": 6.55,
      "permitsYoY": -0.1708,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 13.5,
        "listPriceYoY": 39.9,
        "inventoryYoY": 71.7,
        "domYoY": 93.6,
        "priceCutShareYoY": 91.9,
        "popChange1yr": 25.7,
        "domesticMigPer1000": 33.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 8,
      "emergingDriverCount": 0,
      "eventMonths": [
        5,
        8
      ],
      "riskScore": 95.3,
      "riskRating": "Relatively High",
      "topHazards": [
        "earthquake",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 68.2,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 95.8,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 96,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 18.3,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 98.4,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 4.2,
          "rating": "Very Low"
        },
        "hail": {
          "score": 8.5,
          "rating": "Very Low"
        }
      },
      "homeValue": 871204,
      "homeValue4br": 1010815,
      "homeValueYoY": -0.017,
      "dataStatus": "verified",
      "nationalRank": 8,
      "opportunityScore": 56,
      "opportunityBasis": "full",
      "buyerScore": 16,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 29,
        "domYoY": 7,
        "priceCutShareYoY": 8,
        "priceCutShare": 21
      },
      "grossYield": 0.089,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.082
    },
    {
      "slug": "naples",
      "city": "Naples",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 26.142,
      "lng": -81.7948,
      "adr": 345,
      "occupancy": 68,
      "annualRevenue": 86000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/naples",
      "regUrl": "/regulations/naples-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "The City of Naples restricts most single-family home rentals to 30-day minimums.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/naples-fl-airbnb-regulations",
      "countyName": "Collier County",
      "countyFips": "12021",
      "seasonalShare": 0.2589,
      "bigHomeShare": 0.1343,
      "tourismJobShare": 0.1339,
      "amenityScore": 79,
      "dining": 412,
      "attractions": 52,
      "outdoors": 223,
      "lodgingCompetition": 63,
      "pop150": 12861072,
      "pop300": 20004483,
      "nearestMetros": [
        {
          "name": "Miami-Dade County, FL",
          "pop": 2688237
        },
        {
          "name": "Broward County, FL",
          "pop": 1940907
        },
        {
          "name": "Palm Beach County, FL",
          "pop": 1494805
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 0,
      "climate": {
        "highF": [
          74.6,
          79,
          81.9,
          84.7,
          87.6,
          87.2,
          88.9,
          89,
          88.1,
          85.9,
          80.7,
          76.4
        ],
        "lowF": [
          57.6,
          62.5,
          63.9,
          67.6,
          70.6,
          74.4,
          75.7,
          76.2,
          74.6,
          71.7,
          65.7,
          60.7
        ],
        "precipIn": [
          1.8,
          1.7,
          1.2,
          2.9,
          3.4,
          8.6,
          6.2,
          7.1,
          7.7,
          3.6,
          3.6,
          2.8
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          9.5,
          10.2,
          10.8,
          11.8,
          12.2,
          11.1,
          11,
          10.5,
          10.1,
          10.1,
          9.2,
          8.8
        ]
      },
      "effectiveTaxRate": 0.00691,
      "taxTopCoded": false,
      "annualTax4br": 7539,
      "annualTaxTypical": 3805,
      "lossPer100k": 366,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 56,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.024,
        "listPriceYoY": -0.02,
        "inventoryYoY": -0.1584,
        "domYoY": -0.1167,
        "priceCutShare": 0.1229,
        "priceCutShareYoY": -0.0205,
        "popChange1yr": 0.001,
        "domesticMigPer1000": -5.61
      },
      "activeListings": 4676,
      "medianDom": 106,
      "medianListPrice": 685000,
      "permitsPer1000Units": 11.91,
      "permitsYoY": -0.2236,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 8.6,
        "listPriceYoY": 57.8,
        "inventoryYoY": 97.1,
        "domYoY": 91.3,
        "priceCutShareYoY": 80.9,
        "popChange1yr": 36,
        "domesticMigPer1000": 20
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 51136864.94,
        "priorTtm": 48547790.76,
        "yoy": 0.0533,
        "period": "2025-03..2026-02",
        "unit": "tax collected USD",
        "geography": "Collier County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://floridarevenue.com/DataPortal/Pages/TaxResearch.aspx"
      },
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 98.9,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.7,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 95.2,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 98.3,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 96.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 76.4,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 38.6,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 19.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 550723,
      "homeValue4br": 1091024,
      "homeValueYoY": -0.024,
      "dataStatus": "verified",
      "nationalRank": 9,
      "opportunityScore": 61,
      "opportunityBasis": "full",
      "buyerScore": 10,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 4,
        "domYoY": 9,
        "priceCutShareYoY": 19,
        "priceCutShare": 9
      },
      "grossYield": 0.0788,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0719
    },
    {
      "slug": "miami",
      "city": "Miami",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 25.7617,
      "lng": -80.1918,
      "adr": 325,
      "occupancy": 70,
      "annualRevenue": 83000,
      "medianPrice": 580000,
      "regStrictness": 4,
      "regNotes": "Miami Beach bans most STRs. City of Miami allows with Certificate of Use. Zoning is critical.",
      "growthTrend": "+2%",
      "permit": "Certificate of Use + Business Tax Receipt",
      "tax": "6% state + 6% tourist dev",
      "zoning": "Limited to commercial/resort zones",
      "minStay": "6 months in some zones",
      "occupancyRule": "2 per bedroom",
      "penalties": "Up to $500/day",
      "restrictions": [
        "Heavily restricted in residential zones",
        "6-month minimum stay in some areas",
        "Must obtain Certificate of Use"
      ],
      "marketUrl": "/markets/miami",
      "regUrl": "/regulations/miami-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.miami.gov/Permits-Construction/Short-Term-RentalLodging-Procedures",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Miami-Dade County",
      "countyFips": "12086",
      "seasonalShare": 0.0524,
      "bigHomeShare": 0.152,
      "tourismJobShare": 0.1009,
      "amenityScore": 92,
      "dining": 1104,
      "attractions": 124,
      "outdoors": 446,
      "lodgingCompetition": 532,
      "pop150": 8432631,
      "pop300": 18260039,
      "nearestMetros": [
        {
          "name": "Miami-Dade County, FL",
          "pop": 2688237
        },
        {
          "name": "Broward County, FL",
          "pop": 1940907
        },
        {
          "name": "Palm Beach County, FL",
          "pop": 1494805
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          75.5,
          77.9,
          80,
          82.4,
          83.9,
          85.4,
          87.7,
          88,
          86.4,
          83.9,
          80.1,
          76.8
        ],
        "lowF": [
          62.7,
          67.6,
          68.7,
          71.3,
          73.4,
          76.1,
          78,
          78.3,
          76.6,
          74.8,
          70.1,
          65.7
        ],
        "precipIn": [
          2.6,
          3.4,
          2.7,
          4.1,
          5.6,
          8.7,
          5.5,
          6,
          8.3,
          5.6,
          6.1,
          4.8
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          9.5,
          10.3,
          10.7,
          11.6,
          11.9,
          10.5,
          11.3,
          10.9,
          9.9,
          9.7,
          8.9,
          8.6
        ]
      },
      "effectiveTaxRate": 0.0085,
      "taxTopCoded": false,
      "annualTax4br": 6186,
      "annualTaxTypical": 4429,
      "lossPer100k": 165,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": "summed-components",
      "momentumScore": 52,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0,
        "listPriceYoY": -0.0167,
        "inventoryYoY": -0.124,
        "domYoY": -0.0538,
        "priceCutShare": 0.1196,
        "priceCutShareYoY": -0.0239,
        "popChange1yr": -0.0036,
        "domesticMigPer1000": -25.69
      },
      "activeListings": 16507,
      "medianDom": 88,
      "medianListPrice": 589000,
      "permitsPer1000Units": 15.38,
      "permitsYoY": 0.5587,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 40.5,
        "listPriceYoY": 59.5,
        "inventoryYoY": 91.9,
        "domYoY": 71.7,
        "priceCutShareYoY": 85.5,
        "popChange1yr": 14,
        "domesticMigPer1000": 0
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 8,
      "emergingDriverCount": 0,
      "eventMonths": [
        3,
        5,
        7,
        12
      ],
      "riskScore": 99.6,
      "riskRating": "Very High",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 100,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 99.6,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 99.7,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 96.9,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 98.7,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 62.1,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 96.6,
          "rating": "Relatively High"
        }
      },
      "homeValue": 521012,
      "homeValue4br": 727803,
      "homeValueYoY": 0,
      "dataStatus": "verified",
      "nationalRank": 10,
      "opportunityScore": 59,
      "opportunityBasis": "full",
      "buyerScore": 15,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 9,
        "domYoY": 29,
        "priceCutShareYoY": 15,
        "priceCutShare": 8
      },
      "grossYield": 0.114,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1055
    },
    {
      "slug": "honolulu",
      "city": "Honolulu",
      "state": "Hawaii",
      "stateCode": "HI",
      "lat": 21.3069,
      "lng": -157.8583,
      "adr": 285,
      "occupancy": 78,
      "annualRevenue": 81000,
      "medianPrice": 750000,
      "regStrictness": 5,
      "regNotes": "Extremely restrictive. Non-hosted STRs banned in most residential zones. Heavy fines for violations.",
      "growthTrend": "-5%",
      "permit": "STR registration with the Department of Planning and Permitting as either a Bed and Breakfast Home (B&B) or a Transient Vacation Unit (TVU), via HNL Build; or an existing Nonconforming Use Certificate (NUC). Land Use Ordinance (ROH Chapter 21) as amended by Ordinances 22-7, 24-14, 25-2 and 25-52.",
      "tax": null,
      "zoning": null,
      "minStay": "DPP enforces the short-term rental threshold at less than 30 consecutive days",
      "occupancyRule": "Maximum two adult transient occupants per room. B&Bs may rent up to two rooms.",
      "penalties": "For TVU and B&B violations, civil fines not to exceed $10,000 and not to exceed $10,000 per day for each day the violation persists beyond the date specified in the order; the general ceiling for other Land Use Ordinance violations is $5,000 and $5,000 per day",
      "restrictions": null,
      "marketUrl": "/markets/honolulu",
      "regUrl": "/regulations/honolulu-hi-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$1,000 initial registration fee",
      "strCap": "No numeric cap; STRs are confined by zoning to resort-zoned areas and specific apartment-zoned areas mapped in Ordinance 25-52. NUCs are a closed category — no new NUCs are issued.",
      "ownerOccupancy": "Required for B&Bs — the homeowner or permanent resident must be present during the transient stay, and the applicant must hold at least a 50% ownership interest and have a real property tax home exemption. Not required for TVUs.",
      "transfersOnSale": "A new STR registration is required on any change of ownership or operator. A NUC, by contrast, may be renewed by a new owner, operator or proprietor so long as it is renewed before expiry. Under Ordinance 22-6 a seller must give the buyer an STR disclosure form stating whether the property may legally be used for STRs.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.honolulu.gov/dpp/permitting/str/",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Honolulu County",
      "countyFips": "15003",
      "seasonalShare": 0.0334,
      "bigHomeShare": 0.2334,
      "tourismJobShare": 0.1368,
      "amenityScore": 90,
      "dining": 954,
      "attractions": 129,
      "outdoors": 326,
      "lodgingCompetition": 193,
      "pop150": 1248426,
      "pop300": 1450589,
      "nearestMetros": [
        {
          "name": "Honolulu County, HI",
          "pop": 1010100
        },
        {
          "name": "Maui County, HI",
          "pop": 164765
        },
        {
          "name": "Kauai County, HI",
          "pop": 73511
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          77.6,
          76.4,
          77,
          78.8,
          80.6,
          83,
          83.8,
          85,
          84.8,
          83.4,
          81.3,
          78.4
        ],
        "lowF": [
          68.4,
          67.6,
          68.4,
          69.8,
          71.4,
          73.3,
          74.1,
          74.6,
          74.6,
          73.3,
          72.2,
          69.8
        ],
        "precipIn": [
          1.4,
          1.9,
          2.5,
          1.6,
          1.4,
          1.4,
          0.8,
          0.8,
          0.8,
          1.2,
          1.3,
          3
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          9.9,
          10.4,
          10.6,
          11.7,
          12.2,
          12.7,
          12.7,
          12.5,
          11.6,
          10.8,
          10.1,
          9.6
        ]
      },
      "effectiveTaxRate": 0.00285,
      "taxTopCoded": false,
      "annualTax4br": 3389,
      "annualTaxTypical": 2441,
      "lossPer100k": 272,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 51,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.023,
        "listPriceYoY": 0.0082,
        "inventoryYoY": 0.0371,
        "domYoY": -0.0875,
        "priceCutShare": 0.1432,
        "priceCutShareYoY": 0.0066,
        "popChange1yr": -0.0015,
        "domesticMigPer1000": -6.75
      },
      "activeListings": 3494,
      "medianDom": 73,
      "medianListPrice": 674000,
      "permitsPer1000Units": 3.91,
      "permitsYoY": -0.1172,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 69.5,
        "listPriceYoY": 76.3,
        "inventoryYoY": 51.4,
        "domYoY": 86.7,
        "priceCutShareYoY": 33.5,
        "popChange1yr": 22.3,
        "domesticMigPer1000": 16.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "other",
      "regChangeYear": 2025,
      "regChangePending": false,
      "regDirectionEvidence": "Bill 62 (CO 25-02) - Effective September 2025 90-Day Minimum: All non-B&B, non-NUC residential rentals must have 90-day minimum rental terms Advertising Ban: Advertising shorter stays in non-permitted areas prohibited",
      "regDirectionReviewed": false,
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 98.8,
      "riskRating": "Relatively High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 73.3,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": 75.6,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 99.3,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 33.2,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 98.6,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 10.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 856332,
      "homeValue4br": 1189274,
      "homeValueYoY": 0.023,
      "dataStatus": "verified",
      "nationalRank": 11,
      "opportunityScore": 61,
      "opportunityBasis": "full",
      "buyerScore": 36,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 49,
        "domYoY": 14,
        "priceCutShareYoY": 67,
        "priceCutShare": 15
      },
      "grossYield": 0.0681,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0652
    },
    {
      "slug": "sedona",
      "city": "Sedona",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 34.8697,
      "lng": -111.761,
      "adr": 315,
      "occupancy": 70,
      "annualRevenue": 80000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "TPT License required",
      "tax": "3.5% state + local taxes",
      "zoning": "Allowed with some restrictions",
      "minStay": "None",
      "occupancyRule": "Based on bedroom count",
      "penalties": "Standard fines",
      "restrictions": [
        "State preemption limits city restrictions",
        "Must collect TPT taxes",
        "Noise and parking regulations apply"
      ],
      "marketUrl": "/markets/sedona",
      "regUrl": "/regulations/sedona-az-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "strCap": "No cap - A.R.S. 9-500.39: 'A city or town may not prohibit vacation rentals or short-term rentals.' The statute caps any local permit fee at the actual cost of issuance or $250, whichever is less.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.sedonaaz.gov/your-government/departments/short-term-rentals",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Coconino County",
      "countyFips": "04005",
      "seasonalShare": 0.1754,
      "bigHomeShare": 0.1782,
      "tourismJobShare": 0.169,
      "amenityScore": 65,
      "dining": 85,
      "attractions": 63,
      "outdoors": 45,
      "lodgingCompetition": 49,
      "pop150": 5687556,
      "pop300": 15860621,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        },
        {
          "name": "Yavapai County, AZ",
          "pop": 237830
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 5,
      "snowMonths": 2,
      "climate": {
        "highF": [
          50.9,
          52.5,
          58.5,
          72.3,
          79.4,
          90.2,
          93.5,
          91,
          85.5,
          73.9,
          62.6,
          52.1
        ],
        "lowF": [
          31.1,
          30.6,
          36.6,
          46.2,
          53.4,
          63.3,
          69.8,
          66.4,
          61.2,
          49.1,
          40.1,
          33.5
        ],
        "precipIn": [
          2.5,
          2.3,
          2.9,
          0.3,
          0.4,
          0.1,
          1.2,
          1.2,
          0.9,
          0.7,
          1.5,
          2.1
        ],
        "snowIn": [
          6.3,
          7.3,
          4.3,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          2,
          2.1
        ],
        "sunHours": [
          8.3,
          9.5,
          9.9,
          12.3,
          12.9,
          13.6,
          12.4,
          12.2,
          11.4,
          10.8,
          9.2,
          7.5
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 4206,
      "annualTaxTypical": 3166,
      "lossPer100k": 290,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 34,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0,
        "listPriceYoY": 0.0208,
        "inventoryYoY": 0.0942,
        "domYoY": 0,
        "priceCutShare": 0.2604,
        "priceCutShareYoY": 0.0472,
        "popChange1yr": -0.002,
        "domesticMigPer1000": -6.08
      },
      "activeListings": 778,
      "medianDom": 79,
      "medianListPrice": 735000,
      "permitsPer1000Units": 9.16,
      "permitsYoY": -0.0982,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 40.5,
        "listPriceYoY": 78.6,
        "inventoryYoY": 31.8,
        "domYoY": 49.7,
        "priceCutShareYoY": 2.9,
        "popChange1yr": 19.4,
        "domesticMigPer1000": 17.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 94.2,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "wildfire",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 96.5,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 99.4,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 24.3,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 90.4,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 98.3,
          "rating": "Very High"
        },
        "hail": {
          "score": 57.1,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 624434,
      "homeValue4br": 829596,
      "homeValueYoY": 0,
      "dataStatus": "verified",
      "nationalRank": 12,
      "opportunityScore": 66,
      "opportunityBasis": "full",
      "buyerScore": 75,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 68,
        "domYoY": 51,
        "priceCutShareYoY": 97,
        "priceCutShare": 83
      },
      "grossYield": 0.0964,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0913
    },
    {
      "slug": "destin",
      "city": "Destin",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 30.3935,
      "lng": -86.4958,
      "adr": 295,
      "occupancy": 72,
      "annualRevenue": 78000,
      "medianPrice": null,
      "regStrictness": 1,
      "regNotes": null,
      "growthTrend": null,
      "permit": "County vacation rental license",
      "tax": "5% bed tax + state sales",
      "zoning": "Allowed in tourist areas",
      "minStay": "None",
      "occupancyRule": "Based on bedroom count",
      "penalties": "Standard fines",
      "restrictions": [
        "Register with Okaloosa County",
        "Collect tourist development tax",
        "Pool safety compliance required"
      ],
      "marketUrl": "/markets/destin",
      "regUrl": "/regulations/destin-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "transfersOnSale": "A Business Tax Receipt may be transferred to a new owner on payment of a transfer fee and presentation of evidence of the sale and the original BTR",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.cityofdestin.com/736/Register-a-Short-Term-Rental",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Okaloosa County",
      "countyFips": "12091",
      "seasonalShare": 0.08,
      "bigHomeShare": 0.2302,
      "tourismJobShare": 0.1446,
      "amenityScore": 74,
      "dining": 174,
      "attractions": 50,
      "outdoors": 198,
      "lodgingCompetition": 59,
      "pop150": 3326990,
      "pop300": 23393982,
      "nearestMetros": [
        {
          "name": "Mobile County, AL",
          "pop": 413878
        },
        {
          "name": "Escambia County, FL",
          "pop": 321296
        },
        {
          "name": "Leon County, FL",
          "pop": 294128
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.7,
          65.7,
          70.5,
          74.3,
          80.9,
          85.8,
          86.9,
          87.5,
          85.5,
          78.9,
          69.8,
          64.6
        ],
        "lowF": [
          46.1,
          51.3,
          56,
          59,
          66.6,
          73.7,
          75.8,
          76.4,
          71.9,
          63.5,
          53.1,
          49.9
        ],
        "precipIn": [
          4.9,
          4.8,
          4.4,
          5.9,
          4,
          5.7,
          6.9,
          8.3,
          7,
          4.2,
          3.2,
          6
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.7,
          7.6,
          9.8,
          10.1,
          11.7,
          11.3,
          11,
          10.3,
          10,
          9.6,
          8.8,
          7.4
        ]
      },
      "effectiveTaxRate": 0.00616,
      "taxTopCoded": false,
      "annualTax4br": 2640,
      "annualTaxTypical": 2175,
      "lossPer100k": 263,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 64,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.007,
        "listPriceYoY": -0.0503,
        "inventoryYoY": -0.1327,
        "domYoY": -0.0761,
        "priceCutShare": 0.1945,
        "priceCutShareYoY": -0.0216,
        "popChange1yr": 0.0077,
        "domesticMigPer1000": 0.8
      },
      "activeListings": 1836,
      "medianDom": 85,
      "medianListPrice": 405000,
      "permitsPer1000Units": 10.42,
      "permitsYoY": -0.1664,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 52.3,
        "listPriceYoY": 21.4,
        "inventoryYoY": 92.5,
        "domYoY": 83.2,
        "priceCutShareYoY": 81.8,
        "popChange1yr": 70.3,
        "domesticMigPer1000": 49.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 43074993.91,
        "priorTtm": null,
        "yoy": null,
        "yoyWithheld": true,
        "period": "2023-10..2024-09",
        "unit": "tax collected USD",
        "geography": "Okaloosa County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://okaloosaclerk.com/board-services/tourist-development-tax/tourist-development-tax-documents/"
      },
      "driverCount": 5,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 92.5,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hurricane",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 98.1,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 62.6,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 80.4,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 75.7,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 94.2,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 62.3,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 46.9,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 28.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 353011,
      "homeValue4br": 428561,
      "homeValueYoY": 0.007,
      "dataStatus": "verified",
      "nationalRank": 13,
      "opportunityScore": 82,
      "opportunityBasis": "full",
      "buyerScore": 23,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 8,
        "domYoY": 17,
        "priceCutShareYoY": 18,
        "priceCutShare": 47
      },
      "grossYield": 0.182,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1758
    },
    {
      "slug": "hilton-head",
      "city": "Hilton Head",
      "state": "South Carolina",
      "stateCode": "SC",
      "lat": 32.2163,
      "lng": -80.7526,
      "adr": 315,
      "occupancy": 68,
      "annualRevenue": 78000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/hilton-head",
      "regUrl": "/regulations/hilton-head-sc-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Some communities like Hilton Head Plantation effectively prohibit short-term rentals.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/hilton-head-sc-airbnb-regulations",
      "countyName": "Beaufort County",
      "countyFips": "45013",
      "seasonalShare": 0.1638,
      "bigHomeShare": 0.2271,
      "tourismJobShare": 0.1414,
      "amenityScore": 64,
      "dining": 137,
      "attractions": 13,
      "outdoors": 134,
      "lodgingCompetition": 41,
      "pop150": 5360126,
      "pop300": 34969406,
      "nearestMetros": [
        {
          "name": "Duval County, FL",
          "pop": 995708
        },
        {
          "name": "Richland County, SC",
          "pop": 416161
        },
        {
          "name": "Charleston County, SC",
          "pop": 409840
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 10,
      "snowMonths": 0,
      "climate": {
        "highF": [
          59.9,
          64,
          68.9,
          73.9,
          80.1,
          85,
          88.2,
          86.6,
          82.8,
          76.9,
          67,
          62.2
        ],
        "lowF": [
          46.4,
          50.3,
          55,
          59.5,
          67.4,
          73.3,
          76.6,
          76.4,
          71.6,
          64.3,
          53.7,
          48.9
        ],
        "precipIn": [
          2.8,
          3.4,
          3.5,
          3.6,
          2.5,
          5.2,
          5.3,
          6.6,
          5.7,
          2.9,
          3.3,
          4
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.8,
          7.6,
          9.3,
          11,
          11.8,
          11,
          11.6,
          10.8,
          10.2,
          9.5,
          8,
          7.4
        ]
      },
      "effectiveTaxRate": 0.0051,
      "taxTopCoded": false,
      "annualTax4br": 4374,
      "annualTaxTypical": 2823,
      "lossPer100k": 500,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 49,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.016,
        "listPriceYoY": -0.1018,
        "inventoryYoY": 0.0888,
        "domYoY": 0.1731,
        "priceCutShare": 0.1731,
        "priceCutShareYoY": -0.061,
        "popChange1yr": 0.007,
        "domesticMigPer1000": 5.62
      },
      "activeListings": 2121,
      "medianDom": 92,
      "medianListPrice": 529950,
      "permitsPer1000Units": 12.28,
      "permitsYoY": -0.2558,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 63.2,
        "listPriceYoY": 4.6,
        "inventoryYoY": 34.7,
        "domYoY": 9.8,
        "priceCutShareYoY": 96.5,
        "popChange1yr": 61.7,
        "domesticMigPer1000": 73.1
      },
      "supplyCaution": false,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 97.1,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.5,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 94.2,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 80.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 90.3,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 82,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 93.6,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 69.9,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 68.6,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 553576,
      "homeValue4br": 857610,
      "homeValueYoY": 0.016,
      "dataStatus": "verified",
      "nationalRank": 14,
      "opportunityScore": 59,
      "opportunityBasis": "full",
      "buyerScore": 47,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 65,
        "domYoY": 90,
        "priceCutShareYoY": 4,
        "priceCutShare": 30
      },
      "grossYield": 0.091,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0859
    },
    {
      "slug": "mammoth-lakes",
      "city": "Mammoth Lakes",
      "state": "California",
      "stateCode": "CA",
      "lat": 37.6485,
      "lng": -118.9721,
      "adr": 325,
      "occupancy": 64,
      "annualRevenue": 76000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/mammoth-lakes",
      "regUrl": "/regulations/mammoth-lakes-ca-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "strict cap on the number of permits allowed in single-family residential zones",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/mammoth-lakes-ca-airbnb-regulations",
      "countyName": "Mono County",
      "countyFips": "06051",
      "seasonalShare": 0.5268,
      "bigHomeShare": 0.1448,
      "tourismJobShare": 0.2583,
      "amenityScore": 60,
      "dining": 49,
      "attractions": 19,
      "outdoors": 322,
      "lodgingCompetition": 27,
      "pop150": 6195736,
      "pop300": 36285023,
      "nearestMetros": [
        {
          "name": "Sacramento County, CA",
          "pop": 1579211
        },
        {
          "name": "Fresno County, CA",
          "pop": 1008280
        },
        {
          "name": "San Joaquin County, CA",
          "pop": 779445
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 7,
      "climate": {
        "highF": [
          34.1,
          32.6,
          34.4,
          44.5,
          52.8,
          66.2,
          76.9,
          75.6,
          68.7,
          58.2,
          44.1,
          36
        ],
        "lowF": [
          17.4,
          14.6,
          18.1,
          25.5,
          29.6,
          40.3,
          49.2,
          48.4,
          42.7,
          32.9,
          22.4,
          18.3
        ],
        "precipIn": [
          5.9,
          5.1,
          5.1,
          1.5,
          1.4,
          0.7,
          0.3,
          0.8,
          0.3,
          1.2,
          1.9,
          7.2
        ],
        "snowIn": [
          41.6,
          35.6,
          35.7,
          10,
          6,
          0.1,
          0,
          0,
          0.1,
          4.9,
          12.2,
          49.2
        ],
        "sunHours": [
          8,
          9,
          10,
          11.9,
          13.2,
          13.5,
          13.8,
          13,
          11.8,
          10.6,
          8.8,
          7.3
        ]
      },
      "effectiveTaxRate": 0.00684,
      "taxTopCoded": false,
      "annualTax4br": 9127,
      "annualTaxTypical": 5178,
      "lossPer100k": 267,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 39,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.029,
        "listPriceYoY": -0.0501,
        "inventoryYoY": -0.1564,
        "domYoY": 0.194,
        "priceCutShare": 0.1765,
        "priceCutShareYoY": -0.014,
        "popChange1yr": -0.0147,
        "domesticMigPer1000": -18.59
      },
      "activeListings": 178,
      "medianDom": 80,
      "medianListPrice": 759000,
      "permitsPer1000Units": 3.16,
      "permitsYoY": -0.656,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 74.7,
        "listPriceYoY": 22,
        "inventoryYoY": 96.5,
        "domYoY": 8.1,
        "priceCutShareYoY": 67.6,
        "popChange1yr": 0.6,
        "domesticMigPer1000": 1.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 46.5,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 46.9,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 91.2,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 2.5,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 89,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 84.7,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 3.2,
          "rating": "Very Low"
        }
      },
      "homeValue": 757039,
      "homeValue4br": 1334415,
      "homeValueYoY": 0.029,
      "dataStatus": "verified",
      "nationalRank": 15,
      "opportunityScore": 56,
      "opportunityBasis": "full",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 4,
        "domYoY": 92,
        "priceCutShareYoY": 32,
        "priceCutShare": 32
      },
      "grossYield": 0.057,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0502
    },
    {
      "slug": "ponte-vedra-beach",
      "city": "Ponte Vedra Beach",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 30.2397,
      "lng": -81.3856,
      "adr": 325,
      "occupancy": 64,
      "annualRevenue": 76000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "County STVR registration, renewed every 12 months (Ord. 2021-23)",
      "tax": "FL sales tax + county Tourist Development Tax; DBPR licence required",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "2 per bedroom/common area, max 10 (children 12 and under excluded)",
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/ponte-vedra-beach",
      "regUrl": "/regulations/ponte-vedra-beach-fl-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "County short-term vacation rental registration",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "St. Johns County (unincorporated)",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.sjcfl.us/short-term-vacation-rentals/",
      "countyName": "St. Johns County",
      "countyFips": "12109",
      "seasonalShare": 0.0997,
      "bigHomeShare": 0.3564,
      "tourismJobShare": 0.0958,
      "amenityScore": 64,
      "dining": 213,
      "attractions": 10,
      "outdoors": 125,
      "lodgingCompetition": 62,
      "pop150": 8418890,
      "pop300": 28741086,
      "nearestMetros": [
        {
          "name": "Orange County, FL",
          "pop": 1427403
        },
        {
          "name": "Duval County, FL",
          "pop": 995708
        },
        {
          "name": "Brevard County, FL",
          "pop": 610723
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          64.9,
          69.1,
          72.7,
          75.8,
          80.9,
          85.1,
          87.3,
          86.7,
          83.6,
          78.7,
          71.2,
          67.1
        ],
        "lowF": [
          51.2,
          55.2,
          59,
          62.8,
          68.2,
          73.4,
          75.5,
          76.1,
          73.7,
          68.4,
          60.5,
          54.4
        ],
        "precipIn": [
          1.8,
          2.6,
          2.6,
          3.4,
          2.8,
          5.5,
          6.8,
          6.9,
          7.7,
          2.8,
          4.5,
          2.4
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.2,
          8.4,
          9.8,
          10.7,
          11.8,
          10.9,
          11,
          10.6,
          9.7,
          9.6,
          7.6,
          7.5
        ]
      },
      "effectiveTaxRate": 0.00816,
      "taxTopCoded": false,
      "annualTax4br": 4714,
      "annualTaxTypical": 3990,
      "lossPer100k": 147,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 78,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": -0.015,
        "listPriceYoY": -0.0273,
        "inventoryYoY": -0.234,
        "domYoY": -0.1529,
        "priceCutShare": 0.2356,
        "priceCutShareYoY": -0.0227,
        "popChange1yr": 0.039,
        "domesticMigPer1000": 37.65
      },
      "activeListings": 2203,
      "medianDom": 72,
      "medianListPrice": 531500,
      "permitsPer1000Units": 39.16,
      "permitsYoY": -0.1507,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 15.8,
        "listPriceYoY": 50.6,
        "inventoryYoY": 99.7,
        "domYoY": 98,
        "priceCutShareYoY": 84.1,
        "popChange1yr": 99.7,
        "domesticMigPer1000": 99.7
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The 10-guest ceiling was phased in over three years for pre-existing rentals.",
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 23685686.03,
        "priorTtm": 23821352.05,
        "yoy": -0.0057,
        "period": "2025-03..2026-02",
        "unit": "tax collected USD",
        "geography": "St. Johns County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://floridarevenue.com/DataPortal/Pages/TaxResearch.aspx"
      },
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 87.5,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 93.7,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 89,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 89.4,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 89.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 85.4,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 56.6,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 7.5,
          "rating": "Very Low"
        }
      },
      "homeValue": 488938,
      "homeValue4br": 577755,
      "homeValueYoY": -0.015,
      "dataStatus": "verified",
      "nationalRank": 16,
      "opportunityScore": 62,
      "opportunityBasis": "full",
      "buyerScore": 23,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 1,
        "domYoY": 3,
        "priceCutShareYoY": 16,
        "priceCutShare": 72
      },
      "grossYield": 0.1315,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1233
    },
    {
      "slug": "fredericksburg",
      "city": "Fredericksburg",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 30.2752,
      "lng": -98.872,
      "adr": 295,
      "occupancy": 70,
      "annualRevenue": 75000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/fredericksburg",
      "regUrl": "/regulations/fredericksburg-tx-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Type 2 permits have stricter requirements including density caps, neighbor notification, and annual inspections.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/fredericksburg-tx-airbnb-regulations",
      "countyName": "Gillespie County",
      "countyFips": "48171",
      "seasonalShare": 0.1453,
      "bigHomeShare": 0.174,
      "tourismJobShare": 0.1397,
      "amenityScore": 44,
      "dining": 49,
      "attractions": 9,
      "outdoors": 10,
      "lodgingCompetition": 36,
      "pop150": 6588081,
      "pop300": 27279271,
      "nearestMetros": [
        {
          "name": "Bexar County, TX",
          "pop": 2014059
        },
        {
          "name": "Travis County, TX",
          "pop": 1289054
        },
        {
          "name": "Williamson County, TX",
          "pop": 617396
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 0,
      "climate": {
        "highF": [
          60.6,
          60.8,
          71.3,
          77.3,
          82.9,
          90.3,
          93,
          93.7,
          87.7,
          78.2,
          66.6,
          64
        ],
        "lowF": [
          41.3,
          40.2,
          50.5,
          56.5,
          64.3,
          70.4,
          72.9,
          73.6,
          68.9,
          58.5,
          48.5,
          44.4
        ],
        "precipIn": [
          1.5,
          1.3,
          2.3,
          2.8,
          5.2,
          2.2,
          1.6,
          2,
          1.8,
          2.7,
          2,
          1.2
        ],
        "snowIn": [
          0.6,
          0.8,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.3
        ],
        "sunHours": [
          7.5,
          7.4,
          8.3,
          9.4,
          10.1,
          11.8,
          12.3,
          11.8,
          10.9,
          9.4,
          7.2,
          7.6
        ]
      },
      "effectiveTaxRate": 0.01031,
      "taxTopCoded": false,
      "annualTax4br": 7245,
      "annualTaxTypical": 5310,
      "lossPer100k": 95,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 53,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.04,
        "listPriceYoY": -0.0629,
        "inventoryYoY": -0.0807,
        "domYoY": 0.0469,
        "priceCutShare": 0.1241,
        "priceCutShareYoY": -0.0103,
        "popChange1yr": 0.0143,
        "domesticMigPer1000": 17.92
      },
      "activeListings": 444,
      "medianDom": 101,
      "medianListPrice": 745000,
      "permitsPer1000Units": 3.62,
      "permitsYoY": -0.0192,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 1.4,
        "listPriceYoY": 15,
        "inventoryYoY": 85,
        "domYoY": 27.2,
        "priceCutShareYoY": 59,
        "popChange1yr": 89.7,
        "domesticMigPer1000": 93.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "moratorium",
      "regChangeYear": null,
      "regChangePending": true,
      "regDirectionEvidence": "The city council is actively debating residential density caps for Type 2 STRs; potential moratorium in some neighborhoods",
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 5873164,
        "priorTtm": 5884567.48,
        "yoy": -0.0019,
        "period": "FY2025",
        "unit": "tax collected USD",
        "geography": "Fredericksburg",
        "locations": 924,
        "smallPropertyShare": null,
        "sourceUrl": "https://data.texas.gov/d/er34-v24h"
      },
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 57.7,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 55.4,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 68.1,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 84,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 70.2,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 12,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 75,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 83.5,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 515009,
      "homeValue4br": 702723,
      "homeValueYoY": -0.04,
      "dataStatus": "verified",
      "nationalRank": 17,
      "opportunityScore": 56,
      "opportunityBasis": "full",
      "buyerScore": 35,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 16,
        "domYoY": 73,
        "priceCutShareYoY": 41,
        "priceCutShare": 10
      },
      "grossYield": 0.1067,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0964
    },
    {
      "slug": "fort-lauderdale",
      "city": "Fort Lauderdale",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 26.1224,
      "lng": -80.1373,
      "adr": 295,
      "occupancy": 70,
      "annualRevenue": 75000,
      "medianPrice": 490000,
      "regStrictness": 3,
      "regNotes": "STR certificate required. Zoning restrictions in some areas. Beach proximity drives rates.",
      "growthTrend": "+5%",
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/fort-lauderdale",
      "regUrl": "/regulations/fort-lauderdale-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "regulation-page",
        "regulations-table"
      ],
      "regSourceUrl": "https://stragenthub.com/regulations/fort-lauderdale-fl-airbnb-regulations",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Broward County",
      "countyFips": "12011",
      "seasonalShare": 0.0779,
      "bigHomeShare": 0.1474,
      "tourismJobShare": 0.101,
      "amenityScore": 83,
      "dining": 642,
      "attractions": 46,
      "outdoors": 410,
      "lodgingCompetition": 318,
      "pop150": 8851904,
      "pop300": 18805304,
      "nearestMetros": [
        {
          "name": "Miami-Dade County, FL",
          "pop": 2688237
        },
        {
          "name": "Broward County, FL",
          "pop": 1940907
        },
        {
          "name": "Palm Beach County, FL",
          "pop": 1494805
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          75.4,
          78,
          80,
          82.6,
          83.6,
          85.6,
          87.5,
          87.7,
          86.4,
          83.7,
          79.6,
          76.4
        ],
        "lowF": [
          61,
          66.1,
          67.3,
          69.7,
          72.1,
          75.1,
          76.7,
          77,
          75.5,
          73.8,
          69,
          64
        ],
        "precipIn": [
          2.9,
          3.6,
          2.2,
          4.5,
          6,
          9.9,
          7.2,
          8.6,
          11.2,
          7.2,
          6.2,
          4.2
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          9.3,
          10.3,
          10.6,
          11.4,
          11.7,
          10.3,
          11.3,
          10.9,
          9.9,
          9.5,
          8.7,
          8.5
        ]
      },
      "effectiveTaxRate": 0.00948,
      "taxTopCoded": false,
      "annualTax4br": 6825,
      "annualTaxTypical": 4015,
      "lossPer100k": 188,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 44,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.021,
        "listPriceYoY": -0.05,
        "inventoryYoY": -0.1519,
        "domYoY": -0.0341,
        "priceCutShare": 0.1636,
        "priceCutShareYoY": -0.0254,
        "popChange1yr": -0.0002,
        "domesticMigPer1000": -14.66
      },
      "activeListings": 14270,
      "medianDom": 85,
      "medianListPrice": 380000,
      "permitsPer1000Units": 3.13,
      "permitsYoY": 0.6254,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 10.1,
        "listPriceYoY": 22.5,
        "inventoryYoY": 96,
        "domYoY": 60.7,
        "priceCutShareYoY": 87.9,
        "popChange1yr": 31.1,
        "domesticMigPer1000": 2.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "enforcement",
      "regChangeYear": 2024,
      "regChangePending": false,
      "regDirectionEvidence": "Fort Lauderdale has been increasingly aggressive in pursuing unpermitted vacation rentals since 2024.",
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 126947023.26,
        "priorTtm": null,
        "yoy": null,
        "yoyWithheld": true,
        "period": "2025-02..2026-01",
        "unit": "tax collected USD",
        "geography": "Broward County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://floridarevenue.com/DataPortal/Pages/TaxResearch.aspx"
      },
      "driverCount": 8,
      "emergingDriverCount": 0,
      "eventMonths": [
        3,
        5,
        7,
        12
      ],
      "riskScore": 99.5,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.8,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 97,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 99.4,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 97,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 96.3,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 40.9,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 34.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 423492,
      "homeValue4br": 719981,
      "homeValueYoY": -0.021,
      "dataStatus": "verified",
      "nationalRank": 18,
      "opportunityScore": 59,
      "opportunityBasis": "full",
      "buyerScore": 20,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 5,
        "domYoY": 40,
        "priceCutShareYoY": 12,
        "priceCutShare": 23
      },
      "grossYield": 0.1042,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0947
    },
    {
      "slug": "san-diego",
      "city": "San Diego",
      "state": "California",
      "stateCode": "CA",
      "lat": 32.7157,
      "lng": -117.1611,
      "adr": 285,
      "occupancy": 72,
      "annualRevenue": 75000,
      "medianPrice": 830000,
      "regStrictness": 4,
      "regNotes": "Home sharing ordinance in effect. Whole-home STRs limited to primary residence only.",
      "growthTrend": "+1%",
      "permit": "Short-Term Residential Occupancy (STRO) licence, four tiers, City of San Diego Office of the City Treasurer; SDMC Ch.5 Art.10 Div.1",
      "tax": "Transient Occupancy Tax by Measure C tax zone since 1 May 2025: 11.75%, 12.75% or 13.75%. Rental Unit Business Tax also due; Business Tax Certificate additionally required where the host is not the owner.",
      "zoning": null,
      "minStay": "Two consecutive nights minimum for the same guest under Tier 3 and Tier 4",
      "occupancyRule": null,
      "penalties": "Licence revocation on a third violation within 12 months; no application processed for a host whose licence was revoked in the previous 12 months; administrative citations up to $1,000 for noise violations, issuable to each guest and to the host",
      "restrictions": null,
      "marketUrl": "/markets/san-diego",
      "regUrl": "/regulations/san-diego-ca-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "Effective 1 March 2025 (two-year licence): Tier 1 $33 application + $193 licence; Tier 2 $33 + $284; Tier 3 $41 + $1,129; Tier 4 $41 + $1,129",
      "strCap": "Tier 3 capped at 1% of total citywide housing units excluding Mission Beach CPA; Tier 4 capped at 30% of housing units in the Mission Beach CPA; both recalculated every two years from SANDAG estimates. As of 11 Sept 2026: Tier 3 4,862 issued / 799 remaining; Tier 4 1,099 issued / 0 remaining",
      "ownerOccupancy": "Tier 1: not required. Tier 2: required — host must occupy the primary residence at least 275 days of the calendar year. Tier 3 and Tier 4: host does NOT reside onsite (whole home).",
      "transfersOnSale": "Licences are not transferable between owners or between locations/dwelling units",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.sandiego.gov/treasurer/short-term-residential-occupancy",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "San Diego County",
      "countyFips": "06073",
      "seasonalShare": 0.0197,
      "bigHomeShare": 0.2249,
      "tourismJobShare": 0.1056,
      "amenityScore": 97,
      "dining": 1931,
      "attractions": 206,
      "outdoors": 582,
      "lodgingCompetition": 308,
      "pop150": 19010683,
      "pop300": 31681764,
      "nearestMetros": [
        {
          "name": "Los Angeles County, CA",
          "pop": 9936690
        },
        {
          "name": "San Diego County, CA",
          "pop": 3289701
        },
        {
          "name": "Orange County, CA",
          "pop": 3175227
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          63.1,
          63.3,
          62.9,
          66.6,
          67.8,
          71.4,
          75.1,
          77.5,
          77.8,
          75,
          69.8,
          63.7
        ],
        "lowF": [
          47,
          46.1,
          49.7,
          54.2,
          57.4,
          60.7,
          64.4,
          66,
          65,
          58.9,
          51.7,
          48
        ],
        "precipIn": [
          2.8,
          1.9,
          2.9,
          1.1,
          0.5,
          0.1,
          0.2,
          0.4,
          0.6,
          0.3,
          1.7,
          2.7
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.3,
          9.8,
          10.5,
          10.8,
          11.4,
          12.1,
          11.4,
          10.5,
          9.8,
          9.4,
          7.9
        ]
      },
      "effectiveTaxRate": 0.00719,
      "taxTopCoded": false,
      "annualTax4br": 8211,
      "annualTaxTypical": 6692,
      "lossPer100k": 218,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 44,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.005,
        "listPriceYoY": -0.0537,
        "inventoryYoY": -0.049,
        "domYoY": 0,
        "priceCutShare": 0.2,
        "priceCutShareYoY": -0.0154,
        "popChange1yr": -0.0016,
        "domesticMigPer1000": -7.26
      },
      "activeListings": 5841,
      "medianDom": 45,
      "medianListPrice": 899000,
      "permitsPer1000Units": 9.52,
      "permitsYoY": 0.0117,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 47.7,
        "listPriceYoY": 18.5,
        "inventoryYoY": 79.8,
        "domYoY": 49.7,
        "priceCutShareYoY": 72.8,
        "popChange1yr": 21.1,
        "domesticMigPer1000": 16
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "March 2026 Increased Insurance Requirements Minimum liability insurance coverage increasing from $500,000 to $1,000,000 for Tier 3 and Tier 4 whole-home licenses.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        7
      ],
      "riskScore": 99.7,
      "riskRating": "Very High",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 8.3,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": 72.8,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 99.7,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 100,
          "rating": "Very High"
        },
        "tornado": {
          "score": 64.4,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 99.7,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 48.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 77,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 930800,
      "homeValue4br": 1141945,
      "homeValueYoY": 0.005,
      "dataStatus": "verified",
      "nationalRank": 19,
      "opportunityScore": 61,
      "opportunityBasis": "full",
      "buyerScore": 38,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 21,
        "domYoY": 51,
        "priceCutShareYoY": 27,
        "priceCutShare": 51
      },
      "grossYield": 0.0657,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0585
    },
    {
      "slug": "outer-banks",
      "city": "Outer Banks",
      "state": "North Carolina",
      "stateCode": "NC",
      "lat": 35.5669,
      "lng": -75.4688,
      "adr": 325,
      "occupancy": 62,
      "annualRevenue": 74000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/outer-banks",
      "regUrl": "/regulations/outer-banks-nc-airbnb-regulations",
      "sources": [
        "analytics",
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Rental permit required, septic capacity verification, event restrictions",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/outer-banks-nc-airbnb-regulations",
      "countyName": "Dare County",
      "countyFips": "37055",
      "seasonalShare": 0.3156,
      "bigHomeShare": 0.3646,
      "tourismJobShare": 0.1547,
      "amenityScore": 42,
      "dining": 12,
      "attractions": 10,
      "outdoors": 24,
      "lodgingCompetition": 4,
      "pop150": 3214220,
      "pop300": 25429681,
      "nearestMetros": [
        {
          "name": "Virginia Beach city, VA",
          "pop": 457900
        },
        {
          "name": "Chesapeake city, VA",
          "pop": 249377
        },
        {
          "name": "Norfolk city, VA",
          "pop": 236973
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          54,
          54.5,
          58.2,
          63.8,
          69.3,
          76.6,
          81.9,
          81.5,
          77.9,
          71.1,
          63.8,
          58
        ],
        "lowF": [
          46,
          46.7,
          50.6,
          57.4,
          64.7,
          73,
          78.6,
          78.2,
          74.5,
          66.7,
          57.5,
          50.5
        ],
        "precipIn": [
          4.5,
          5.1,
          3.3,
          4.9,
          3.5,
          4.9,
          4.3,
          6.1,
          5.3,
          3.2,
          3.6,
          3.7
        ],
        "snowIn": [
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.9,
          7,
          8.8,
          10.6,
          11.4,
          11.6,
          11.9,
          10.7,
          10.2,
          8.9,
          7.9,
          7.3
        ]
      },
      "effectiveTaxRate": 0.0055,
      "taxTopCoded": false,
      "annualTax4br": 3928,
      "annualTaxTypical": 3296,
      "lossPer100k": 530,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 44,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.008,
        "listPriceYoY": -0.0519,
        "inventoryYoY": 0.14,
        "domYoY": -0.0745,
        "priceCutShare": 0.1547,
        "priceCutShareYoY": 0.0073,
        "popChange1yr": 0.0004,
        "domesticMigPer1000": 2.41
      },
      "activeListings": 562,
      "medianDom": 87,
      "medianListPrice": 639900,
      "permitsPer1000Units": 9.42,
      "permitsYoY": -0.124,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 54,
        "listPriceYoY": 20.2,
        "inventoryYoY": 22,
        "domYoY": 82.7,
        "priceCutShareYoY": 31.8,
        "popChange1yr": 34.9,
        "domesticMigPer1000": 59.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 89.6,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hurricane",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": 97.7,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 86.8,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 50.3,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 82.7,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 47,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 24.8,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 88.5,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 13.8,
          "rating": "Very Low"
        }
      },
      "homeValue": 599211,
      "homeValue4br": 714214,
      "homeValueYoY": 0.008,
      "dataStatus": "verified",
      "nationalRank": 20,
      "opportunityScore": 69,
      "opportunityBasis": "full",
      "buyerScore": 46,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 78,
        "domYoY": 18,
        "priceCutShareYoY": 68,
        "priceCutShare": 18
      },
      "grossYield": 0.1036,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0981
    },
    {
      "slug": "charleston",
      "city": "Charleston",
      "state": "South Carolina",
      "stateCode": "SC",
      "lat": 32.7765,
      "lng": -79.9311,
      "adr": 285,
      "occupancy": 70,
      "annualRevenue": 73000,
      "medianPrice": 555000,
      "regStrictness": 3,
      "regNotes": "Owner-occupancy required in many historic zones. STR license and annual inspection required.",
      "growthTrend": "+6%",
      "permit": "STR zoning permit",
      "tax": "7% accommodations tax",
      "zoning": "Limited overlay districts only",
      "minStay": "None",
      "occupancyRule": "Based on zoning",
      "penalties": "Up to $1,092/day",
      "restrictions": [
        "Only allowed in specific overlay districts",
        "Must live on-site for some permit types",
        "Annual inspections required"
      ],
      "marketUrl": "/markets/charleston",
      "regUrl": "/regulations/charleston-sc-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$345 zoning and application review fee at submission (effective Jan 1, 2024); plus fire $40 application + $32.61 plan review + $32.61 inspection; plus $64 base business licence fee + $3.90 per additional $1,000 of expected income",
      "strCap": "One STR unit per property in all three residential categories (\"Property shall not contain more than 1 Short Term Rental unit\")",
      "ownerOccupancy": "Required - property must be the owner's full-time primary residence, verified by the County's 4% Legal Residence tax exemption. Host need not be present during the stay but must be 'generally available'.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.charleston-sc.gov/1840/Short-Term-Rental-Permit-Information",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Charleston County",
      "countyFips": "45019",
      "seasonalShare": 0.0578,
      "bigHomeShare": 0.2239,
      "tourismJobShare": 0.1163,
      "amenityScore": 89,
      "dining": 687,
      "attractions": 151,
      "outdoors": 320,
      "lodgingCompetition": 205,
      "pop150": 4921350,
      "pop300": 30669769,
      "nearestMetros": [
        {
          "name": "Richland County, SC",
          "pop": 416161
        },
        {
          "name": "Charleston County, SC",
          "pop": 409840
        },
        {
          "name": "Horry County, SC",
          "pop": 356578
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          59.1,
          62.7,
          67.6,
          73.7,
          80,
          84.3,
          87.6,
          86.2,
          82.6,
          76.1,
          66.6,
          61.8
        ],
        "lowF": [
          45.1,
          48.9,
          53.6,
          58.7,
          66.8,
          72.8,
          76.7,
          76.1,
          70.9,
          62.9,
          52.1,
          47.6
        ],
        "precipIn": [
          3,
          3.4,
          3.1,
          4.7,
          2.7,
          5.3,
          4.7,
          7.1,
          6.6,
          2.9,
          3.1,
          4.7
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.5,
          7.5,
          8.9,
          11,
          11.7,
          11.2,
          11.4,
          10.6,
          10.2,
          9.3,
          8.1,
          7.4
        ]
      },
      "effectiveTaxRate": 0.00425,
      "taxTopCoded": false,
      "annualTax4br": 3741,
      "annualTaxTypical": 2605,
      "lossPer100k": 427,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 45,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.013,
        "listPriceYoY": -0.0811,
        "inventoryYoY": 0.0257,
        "domYoY": 0.0169,
        "priceCutShare": 0.2612,
        "priceCutShareYoY": 0.0022,
        "popChange1yr": 0.0068,
        "domesticMigPer1000": 0.4
      },
      "activeListings": 2074,
      "medianDom": 60,
      "medianListPrice": 680000,
      "permitsPer1000Units": 16.74,
      "permitsYoY": -0.1832,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 60.6,
        "listPriceYoY": 7.2,
        "inventoryYoY": 55.8,
        "domYoY": 40.5,
        "priceCutShareYoY": 41.3,
        "popChange1yr": 60,
        "domesticMigPer1000": 47.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 98.6,
      "riskRating": "Relatively High",
      "topHazards": [
        "coastalFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.6,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 99.8,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 89.9,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 93.9,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 71,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 98.8,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 84.2,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 60.9,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 612976,
      "homeValue4br": 880193,
      "homeValueYoY": 0.013,
      "dataStatus": "verified",
      "nationalRank": 21,
      "opportunityScore": 66,
      "opportunityBasis": "full",
      "buyerScore": 62,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 45,
        "domYoY": 60,
        "priceCutShareYoY": 59,
        "priceCutShare": 84
      },
      "grossYield": 0.0829,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0787
    },
    {
      "slug": "palm-springs",
      "city": "Palm Springs",
      "state": "California",
      "stateCode": "CA",
      "lat": 33.8303,
      "lng": -116.5453,
      "adr": 295,
      "occupancy": 68,
      "annualRevenue": 73000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Vacation rental registration",
      "tax": "11.5% TOT",
      "zoning": "Allowed with registration",
      "minStay": "None",
      "occupancyRule": "2 per bedroom + 2",
      "penalties": "Fines + permit suspension",
      "restrictions": [
        "Must register with city",
        "Noise monitoring may be required",
        "HOA restrictions may apply"
      ],
      "marketUrl": "/markets/palm-springs",
      "regUrl": "/regulations/palm-springs-ca-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "strCap": "VR Neighborhood Percentage Cap of 20% of total residential dwelling units in each Organized Neighborhood (PSMC 5.25.045). No new certificates issued in a neighbourhood at or above the cap; queued applications issued first-in-time, first-in-right. Junior vacation rental registration certificates are excluded from the cap.",
      "ownerOccupancy": "Not required for a Vacation Rental certificate (owner absent); a Homeshare requires the owner to be present. Vacation rentals and homeshares are limited to single-family dwelling units and prohibited in apartments.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.palmspringsca.gov/government/departments/special-program-compliance/vacation-rentals-1098",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Riverside County",
      "countyFips": "06065",
      "seasonalShare": 0.0715,
      "bigHomeShare": 0.313,
      "tourismJobShare": 0.1097,
      "amenityScore": 71,
      "dining": 189,
      "attractions": 36,
      "outdoors": 136,
      "lodgingCompetition": 139,
      "pop150": 21207927,
      "pop300": 34130162,
      "nearestMetros": [
        {
          "name": "Los Angeles County, CA",
          "pop": 9936690
        },
        {
          "name": "San Diego County, CA",
          "pop": 3289701
        },
        {
          "name": "Orange County, CA",
          "pop": 3175227
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65.7,
          68.1,
          72.4,
          85.5,
          90.9,
          100.3,
          106.9,
          105.5,
          98.6,
          87.6,
          75.4,
          65.3
        ],
        "lowF": [
          49.5,
          49.3,
          52.4,
          61.5,
          67.5,
          76.3,
          84.1,
          83.3,
          76,
          64.7,
          54.4,
          49.5
        ],
        "precipIn": [
          1.5,
          1.6,
          1.7,
          0.4,
          0,
          0,
          0.1,
          0.6,
          0.4,
          0.1,
          0.7,
          1.5
        ],
        "snowIn": [
          0,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.7,
          9.6,
          10.9,
          12.2,
          13.3,
          13.7,
          13.6,
          12.6,
          11.5,
          10.8,
          9.7,
          8.2
        ]
      },
      "effectiveTaxRate": 0.00855,
      "taxTopCoded": false,
      "annualTax4br": 5787,
      "annualTaxTypical": 5167,
      "lossPer100k": 433,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 59,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0,
        "listPriceYoY": -0.0218,
        "inventoryYoY": -0.041,
        "domYoY": -0.0462,
        "priceCutShare": 0.1795,
        "priceCutShareYoY": -0.0047,
        "popChange1yr": 0.0062,
        "domesticMigPer1000": 3.07
      },
      "activeListings": 7023,
      "medianDom": 62,
      "medianListPrice": 630937,
      "permitsPer1000Units": 11.39,
      "permitsYoY": 0.0103,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 40.5,
        "listPriceYoY": 56.9,
        "inventoryYoY": 75.7,
        "domYoY": 67.6,
        "priceCutShareYoY": 49.7,
        "popChange1yr": 57.1,
        "domesticMigPer1000": 62.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 8,
      "emergingDriverCount": 2,
      "eventMonths": [
        4
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 12,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 100,
          "rating": "Very High"
        },
        "tornado": {
          "score": 86.7,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 99.8,
          "rating": "Very High"
        },
        "winterWeather": {
          "score": 66.8,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 81.4,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 604305,
      "homeValue4br": 676821,
      "homeValueYoY": 0,
      "dataStatus": "verified",
      "nationalRank": 22,
      "opportunityScore": 65,
      "opportunityBasis": "full",
      "buyerScore": 36,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 25,
        "domYoY": 33,
        "priceCutShareYoY": 50,
        "priceCutShare": 36
      },
      "grossYield": 0.1079,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0993
    },
    {
      "slug": "cape-cod",
      "city": "Cape Cod",
      "state": "Massachusetts",
      "stateCode": "MA",
      "lat": 41.7988,
      "lng": -69.9961,
      "adr": 345,
      "occupancy": 58,
      "annualRevenue": 73000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/cape-cod",
      "regUrl": "/regulations/cape-cod-ma-airbnb-regulations",
      "sources": [
        "analytics",
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Provincetown has some of the strictest STR regulations on Cape Cod, including caps on the total number of non-owner-occupied STR permits.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/cape-cod-ma-airbnb-regulations",
      "countyName": "Barnstable County",
      "countyFips": "25001",
      "seasonalShare": 0.3556,
      "bigHomeShare": 0.2276,
      "tourismJobShare": 0.1045,
      "amenityScore": 80,
      "dining": 99,
      "attractions": 55,
      "outdoors": 1138,
      "lodgingCompetition": 42,
      "pop150": 11194306,
      "pop300": 42580212,
      "nearestMetros": [
        {
          "name": "Middlesex County, MA",
          "pop": 1623109
        },
        {
          "name": "Capitol Planning Region, CT",
          "pop": 977165
        },
        {
          "name": "Worcester County, MA",
          "pop": 858898
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 2,
      "climate": {
        "highF": [
          40.4,
          40.7,
          45.1,
          52,
          60.2,
          69.4,
          77.6,
          76.9,
          70.3,
          62.3,
          52.7,
          45.7
        ],
        "lowF": [
          30.9,
          30.4,
          34.5,
          42.2,
          49.9,
          59.9,
          68.4,
          68.5,
          62.7,
          54.2,
          42.8,
          36.3
        ],
        "precipIn": [
          5.3,
          4.1,
          3.8,
          4.3,
          3.7,
          3.7,
          3.3,
          2.9,
          4.7,
          5.8,
          3.1,
          5.3
        ],
        "snowIn": [
          6.5,
          7.5,
          3.2,
          0.5,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          2.3
        ],
        "sunHours": [
          5.3,
          5.9,
          8.4,
          8.7,
          10.4,
          11.3,
          11.5,
          10.8,
          9.5,
          7.4,
          7,
          5.2
        ]
      },
      "effectiveTaxRate": 0.00757,
      "taxTopCoded": false,
      "annualTax4br": 8104,
      "annualTaxTypical": 5772,
      "lossPer100k": 111,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 63,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.024,
        "listPriceYoY": -0.0281,
        "inventoryYoY": -0.0588,
        "domYoY": -0.1528,
        "priceCutShare": 0.1547,
        "priceCutShareYoY": -0.0109,
        "popChange1yr": -0.0018,
        "domesticMigPer1000": 2.34
      },
      "activeListings": 1136,
      "medianDom": 61,
      "medianListPrice": 899000,
      "permitsPer1000Units": 3.82,
      "permitsYoY": -0.0156,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 71,
        "listPriceYoY": 49.7,
        "inventoryYoY": 81.5,
        "domYoY": 97.1,
        "priceCutShareYoY": 61.8,
        "popChange1yr": 20,
        "domesticMigPer1000": 58
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 89.1,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "coastalFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 94.5,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 94.6,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 90.7,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 53.2,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 45.5,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 78.1,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 24.8,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 69,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 762440,
      "homeValue4br": 1070599,
      "homeValueYoY": 0.024,
      "dataStatus": "verified",
      "nationalRank": 23,
      "opportunityScore": 57,
      "opportunityBasis": "full",
      "buyerScore": 20,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 19,
        "domYoY": 4,
        "priceCutShareYoY": 38,
        "priceCutShare": 18
      },
      "grossYield": 0.0682,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0606
    },
    {
      "slug": "clearwater-beach",
      "city": "Clearwater Beach",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 27.9778,
      "lng": -82.8267,
      "adr": 275,
      "occupancy": 72,
      "annualRevenue": 72000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/clearwater-beach",
      "regUrl": "/regulations/clearwater-beach-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Clearwater prohibits short-term rentals in residential zoning districts.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/clearwater-beach-fl-airbnb-regulations",
      "countyName": "Pinellas County",
      "countyFips": "12103",
      "seasonalShare": 0.0972,
      "bigHomeShare": 0.1058,
      "tourismJobShare": 0.1043,
      "amenityScore": 74,
      "dining": 415,
      "attractions": 17,
      "outdoors": 304,
      "lodgingCompetition": 129,
      "pop150": 11288426,
      "pop300": 22933060,
      "nearestMetros": [
        {
          "name": "Hillsborough County, FL",
          "pop": 1468560
        },
        {
          "name": "Orange County, FL",
          "pop": 1427403
        },
        {
          "name": "Pinellas County, FL",
          "pop": 959918
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          67.8,
          72.9,
          76.5,
          79.6,
          84.1,
          85.9,
          87.4,
          87.5,
          85.8,
          83,
          75.7,
          71.2
        ],
        "lowF": [
          54.9,
          59.3,
          62.3,
          66.5,
          71,
          75.8,
          77.5,
          77.6,
          75,
          70.2,
          62.4,
          57.7
        ],
        "precipIn": [
          2.4,
          1.9,
          1.3,
          4.1,
          3,
          7.1,
          8,
          9.4,
          8.1,
          2.7,
          3.1,
          3.7
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          9,
          9.6,
          10.6,
          11.3,
          12.3,
          11.2,
          11.2,
          10.5,
          10.1,
          10.1,
          8.8,
          8.3
        ]
      },
      "effectiveTaxRate": 0.00759,
      "taxTopCoded": false,
      "annualTax4br": 4963,
      "annualTaxTypical": 2812,
      "lossPer100k": 139,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 41,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.008,
        "listPriceYoY": -0.0455,
        "inventoryYoY": -0.1123,
        "domYoY": 0,
        "priceCutShare": 0.2506,
        "priceCutShareYoY": -0.0176,
        "popChange1yr": -0.0123,
        "domesticMigPer1000": -9.58
      },
      "activeListings": 6607,
      "medianDom": 85,
      "medianListPrice": 420000,
      "permitsPer1000Units": 8.13,
      "permitsYoY": 0.598,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 27.9,
        "listPriceYoY": 31.5,
        "inventoryYoY": 90.5,
        "domYoY": 49.7,
        "priceCutShareYoY": 75.7,
        "popChange1yr": 1.4,
        "domesticMigPer1000": 12.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 91308474.11,
        "priorTtm": null,
        "yoy": null,
        "yoyWithheld": true,
        "period": "2025-02..2026-01",
        "unit": "tax collected USD",
        "geography": "Pinellas County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://floridarevenue.com/DataPortal/Pages/TaxResearch.aspx"
      },
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 98.2,
      "riskRating": "Relatively High",
      "topHazards": [
        "coastalFlood",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 98.9,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 99.2,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 96.9,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 81.1,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 99,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 66.9,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 94.3,
          "rating": "Relatively High"
        }
      },
      "homeValue": 370534,
      "homeValue4br": 653826,
      "homeValueYoY": -0.008,
      "dataStatus": "verified",
      "nationalRank": 24,
      "opportunityScore": 48,
      "opportunityBasis": "full",
      "buyerScore": 41,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 10,
        "domYoY": 51,
        "priceCutShareYoY": 24,
        "priceCutShare": 78
      },
      "grossYield": 0.1101,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1025
    },
    {
      "slug": "nashville",
      "city": "Nashville",
      "state": "Tennessee",
      "stateCode": "TN",
      "lat": 36.1627,
      "lng": -86.7816,
      "adr": 275,
      "occupancy": 68,
      "annualRevenue": 68000,
      "medianPrice": 435000,
      "regStrictness": 3,
      "regNotes": "Non-owner-occupied STRs banned in residential zones since 2023. Commercial zones permit-friendly.",
      "growthTrend": "+5%",
      "permit": "Permit required (owner-occupied or non-owner)",
      "tax": "6% state + 2.5% city",
      "zoning": "Non-owner permits capped by district",
      "minStay": "None for owner-occupied",
      "occupancyRule": "Based on building code",
      "penalties": "Up to $50/day",
      "restrictions": [
        "Non-owner-occupied permits limited by census tract",
        "Must have permit before advertising",
        "Neighbor notification required"
      ],
      "marketUrl": "/markets/nashville",
      "regUrl": "/regulations/nashville-tn-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "strCap": "Only one permit per lot in single-family and two-family zoning districts. New not-owner-occupied permits are barred entirely from AR2A, R, RS and RM districts and are a use permitted with conditions in the listed mixed-use, office, commercial and downtown districts. SP/PUD properties only if the SP or PUD allows it.",
      "ownerOccupancy": "For an owner-occupied permit the owner must permanently reside at the property and be a natural person; LLCs, corporations, trusts, partnerships, joint ventures and other entities are ineligible. Four documents proving owner-occupation required, matching the recorded deed.",
      "transfersOnSale": "No. 'A permit shall not be transferred or assigned to another individual, person, entity, or address.' and 'Changes in the ownership of a property will result in the cancellation of a permit.' - including a change from a person to a trust or LLC or vice-versa.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.nashville.gov/departments/codes/short-term-rentals",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Davidson County",
      "countyFips": "47037",
      "seasonalShare": 0.0109,
      "bigHomeShare": 0.1567,
      "tourismJobShare": 0.1174,
      "amenityScore": 83,
      "dining": 752,
      "attractions": 67,
      "outdoors": 231,
      "lodgingCompetition": 222,
      "pop150": 7922678,
      "pop300": 40356954,
      "nearestMetros": [
        {
          "name": "Davidson County, TN",
          "pop": 709786
        },
        {
          "name": "Madison County, AL",
          "pop": 389781
        },
        {
          "name": "Hamilton County, TN",
          "pop": 367193
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          49,
          53.1,
          61.5,
          68.4,
          78.2,
          86.1,
          88.8,
          86.5,
          82.8,
          72.1,
          59.4,
          54
        ],
        "lowF": [
          32.6,
          35.1,
          41.4,
          47.4,
          58.6,
          66.4,
          71.5,
          69.9,
          64,
          53.3,
          39.8,
          36.8
        ],
        "precipIn": [
          6,
          7.1,
          6.2,
          4.7,
          4.9,
          7.2,
          9.1,
          9.9,
          6.5,
          5.6,
          3.7,
          4.9
        ],
        "snowIn": [
          1.9,
          1.5,
          0.5,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.3,
          0.5
        ],
        "sunHours": [
          6,
          5.6,
          7.9,
          9.5,
          10.5,
          11.6,
          11.5,
          10.4,
          10.1,
          8.4,
          7.8,
          6
        ]
      },
      "effectiveTaxRate": 0.00629,
      "taxTopCoded": false,
      "annualTax4br": 3897,
      "annualTaxTypical": 2694,
      "lossPer100k": 128,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": "summed-components",
      "momentumScore": 40,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.027,
        "listPriceYoY": -0.0307,
        "inventoryYoY": 0.1047,
        "domYoY": 0.0308,
        "priceCutShare": 0.2346,
        "priceCutShareYoY": 0.0034,
        "popChange1yr": 0.0126,
        "domesticMigPer1000": -1.26
      },
      "activeListings": 4599,
      "medianDom": 67,
      "medianListPrice": 533117,
      "permitsPer1000Units": 16.87,
      "permitsYoY": -0.1814,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 7.8,
        "listPriceYoY": 44.5,
        "inventoryYoY": 30.1,
        "domYoY": 32.4,
        "priceCutShareYoY": 38.7,
        "popChange1yr": 87.4,
        "domesticMigPer1000": 36
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 5,
      "emergingDriverCount": 1,
      "eventMonths": [
        6
      ],
      "riskScore": 97.2,
      "riskRating": "Relatively High",
      "topHazards": [
        "riverFlood",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 53.7,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 98.2,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 57.5,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 97.9,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 98.2,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 82.4,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 87.8,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 428280,
      "homeValue4br": 619574,
      "homeValueYoY": -0.027,
      "dataStatus": "verified",
      "nationalRank": 25,
      "opportunityScore": 61,
      "opportunityBasis": "full",
      "buyerScore": 68,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 70,
        "domYoY": 68,
        "priceCutShareYoY": 61,
        "priceCutShare": 71
      },
      "grossYield": 0.1098,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1035
    },
    {
      "slug": "joshua-tree",
      "city": "Joshua Tree",
      "state": "California",
      "stateCode": "CA",
      "lat": 34.1347,
      "lng": -116.3131,
      "adr": 285,
      "occupancy": 65,
      "annualRevenue": 68000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/joshua-tree",
      "regUrl": "/regulations/joshua-tree-ca-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "All short-term rental operators in unincorporated San Bernardino County, including Joshua Tree, must obtain a Short-Term Residential Rental (STRR) permit before listing or renting their property.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/joshua-tree-ca-airbnb-regulations",
      "countyName": "San Bernardino County",
      "countyFips": "06071",
      "seasonalShare": 0.0529,
      "bigHomeShare": 0.2663,
      "tourismJobShare": 0.0907,
      "amenityScore": 51,
      "dining": 31,
      "attractions": 11,
      "outdoors": 55,
      "lodgingCompetition": 22,
      "pop150": 21207927,
      "pop300": 34721424,
      "nearestMetros": [
        {
          "name": "Los Angeles County, CA",
          "pop": 9936690
        },
        {
          "name": "San Diego County, CA",
          "pop": 3289701
        },
        {
          "name": "Orange County, CA",
          "pop": 3175227
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 5,
      "snowMonths": 0,
      "climate": {
        "highF": [
          57.2,
          59.1,
          63.7,
          76.4,
          82.6,
          92.7,
          99.5,
          98,
          91,
          78.6,
          66.4,
          56.9
        ],
        "lowF": [
          39.2,
          39.9,
          44.4,
          53.7,
          59.2,
          69,
          76.8,
          75.7,
          69.1,
          56.8,
          45.9,
          39.5
        ],
        "precipIn": [
          1,
          0.8,
          1,
          0.4,
          0.1,
          0,
          0.2,
          0.5,
          0.1,
          0,
          0.4,
          1.2
        ],
        "snowIn": [
          0.1,
          0.9,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          0.9
        ],
        "sunHours": [
          8.8,
          9.7,
          11,
          12.2,
          13.3,
          13.7,
          13.6,
          12.6,
          11.6,
          10.9,
          9.8,
          8.3
        ]
      },
      "effectiveTaxRate": 0.00719,
      "taxTopCoded": false,
      "annualTax4br": 4808,
      "annualTaxTypical": 3947,
      "lossPer100k": 421,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 52,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.006,
        "listPriceYoY": -0.0094,
        "inventoryYoY": -0.045,
        "domYoY": -0.0303,
        "priceCutShare": 0.1867,
        "priceCutShareYoY": 0.0043,
        "popChange1yr": 0.0024,
        "domesticMigPer1000": -2.24
      },
      "activeListings": 6114,
      "medianDom": 64,
      "medianListPrice": 534900,
      "permitsPer1000Units": 8.51,
      "permitsYoY": 0.0022,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 50,
        "listPriceYoY": 63.3,
        "inventoryYoY": 77.5,
        "domYoY": 58.4,
        "priceCutShareYoY": 36.4,
        "popChange1yr": 46.6,
        "domesticMigPer1000": 32.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 8,
      "emergingDriverCount": 2,
      "eventMonths": [
        4
      ],
      "riskScore": 99.8,
      "riskRating": "Very High",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.8,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.9,
          "rating": "Very High"
        },
        "tornado": {
          "score": 78.8,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 99.8,
          "rating": "Very High"
        },
        "winterWeather": {
          "score": 48.4,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 90.9,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 548894,
      "homeValue4br": 668742,
      "homeValueYoY": 0.006,
      "dataStatus": "verified",
      "nationalRank": 26,
      "opportunityScore": 51,
      "opportunityBasis": "full",
      "buyerScore": 43,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 23,
        "domYoY": 42,
        "priceCutShareYoY": 64,
        "priceCutShare": 41
      },
      "grossYield": 0.1017,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0945
    },
    {
      "slug": "sandbridge-beach",
      "city": "Sandbridge Beach",
      "state": "Virginia",
      "stateCode": "VA",
      "lat": 36.7168,
      "lng": -75.9341,
      "adr": 295,
      "occupancy": 62,
      "annualRevenue": 67000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Annual STR Zoning Permit - by right in the district",
      "tax": "Transient occupancy tax via Commissioner of the Revenue + VA sales tax",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/sandbridge-beach",
      "regUrl": "/regulations/sandbridge-beach-va-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Annual STR zoning permit ($500/yr) — by right",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "City of Virginia Beach - Sandbridge Special Service District",
      "permitFee": "$500/yr",
      "strCap": "None in district (STRs banned by right elsewhere in Virginia Beach)",
      "transfersOnSale": "No - new owner must re-apply",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://planning.virginiabeach.gov/permits/short-term-rental",
      "countyName": "Virginia Beach city",
      "countyFips": "51810",
      "seasonalShare": 0.0161,
      "bigHomeShare": 0.3135,
      "tourismJobShare": 0.1056,
      "amenityScore": 64,
      "dining": 137,
      "attractions": 21,
      "outdoors": 83,
      "lodgingCompetition": 23,
      "pop150": 5888295,
      "pop300": 49389270,
      "nearestMetros": [
        {
          "name": "Virginia Beach city, VA",
          "pop": 457900
        },
        {
          "name": "Chesterfield County, VA",
          "pop": 366019
        },
        {
          "name": "Henrico County, VA",
          "pop": 333120
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 0,
      "climate": {
        "highF": [
          51.2,
          55,
          60.5,
          68.2,
          74,
          81.5,
          87.8,
          85.4,
          79.9,
          71.5,
          60.9,
          55.4
        ],
        "lowF": [
          37.1,
          39.8,
          44.8,
          51.7,
          59.4,
          67.6,
          73.3,
          72.7,
          67.8,
          58.2,
          47.2,
          40.7
        ],
        "precipIn": [
          4.2,
          4,
          2.8,
          4,
          3.2,
          4.8,
          5,
          4.6,
          4.9,
          2.4,
          3.5,
          4.1
        ],
        "snowIn": [
          2.2,
          0.6,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.8,
          6.5,
          8.5,
          10.3,
          10.9,
          11.7,
          12.2,
          10.7,
          9.7,
          8.4,
          7.6,
          6.8
        ]
      },
      "effectiveTaxRate": 0.0082,
      "taxTopCoded": false,
      "annualTax4br": 4286,
      "annualTaxTypical": 3506,
      "lossPer100k": 59,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 41,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.033,
        "listPriceYoY": 0.1078,
        "inventoryYoY": 0.2477,
        "domYoY": 0.0286,
        "priceCutShare": 0.2512,
        "priceCutShareYoY": 0.0244,
        "popChange1yr": -0.0001,
        "domesticMigPer1000": -4.65
      },
      "activeListings": 1098,
      "medianDom": 36,
      "medianListPrice": 498500,
      "permitsPer1000Units": 2.3,
      "permitsYoY": -0.3453,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 80.2,
        "listPriceYoY": 97.4,
        "inventoryYoY": 7.8,
        "domYoY": 35,
        "priceCutShareYoY": 13.6,
        "popChange1yr": 32.3,
        "domesticMigPer1000": 21.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 3,
      "emergingDriverCount": 1,
      "eventMonths": [],
      "riskScore": 57.9,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hurricane",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 88.9,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": 67.4,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 27.9,
          "rating": "Very Low"
        },
        "wildfire": {
          "score": 55.8,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 66.7,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 67.5,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 37.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 54.7,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 427536,
      "homeValue4br": 522685,
      "homeValueYoY": 0.033,
      "dataStatus": "verified",
      "nationalRank": 27,
      "opportunityScore": 66,
      "opportunityBasis": "full",
      "buyerScore": 81,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 92,
        "domYoY": 65,
        "priceCutShareYoY": 86,
        "priceCutShare": 79
      },
      "grossYield": 0.1282,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.12
    },
    {
      "slug": "orange-beach",
      "city": "Orange Beach",
      "state": "Alabama",
      "stateCode": "AL",
      "lat": 30.2938,
      "lng": -87.573,
      "adr": 275,
      "occupancy": 66,
      "annualRevenue": 66000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/orange-beach",
      "regUrl": "/regulations/orange-beach-al-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "The City of Orange Beach requires all vacation rental operators to obtain a city business license before advertising or accepting bookings.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/orange-beach-al-airbnb-regulations",
      "countyName": "Baldwin County",
      "countyFips": "01003",
      "seasonalShare": 0.1088,
      "bigHomeShare": 0.2301,
      "tourismJobShare": 0.104,
      "amenityScore": 65,
      "dining": 190,
      "attractions": 13,
      "outdoors": 132,
      "lodgingCompetition": 35,
      "pop150": 3809449,
      "pop300": 14829611,
      "nearestMetros": [
        {
          "name": "Mobile County, AL",
          "pop": 413878
        },
        {
          "name": "Orleans Parish, LA",
          "pop": 380408
        },
        {
          "name": "Escambia County, FL",
          "pop": 321296
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.3,
          65.1,
          69.5,
          73.2,
          79.5,
          84.9,
          86.3,
          87.2,
          84.4,
          77.5,
          68.9,
          64.3
        ],
        "lowF": [
          47.7,
          52.1,
          57.4,
          60.8,
          68.7,
          74.9,
          77.1,
          77.7,
          73.5,
          65,
          54.7,
          51.5
        ],
        "precipIn": [
          4.5,
          3.4,
          4.2,
          5.7,
          5.1,
          7.2,
          7.1,
          7.6,
          7.6,
          4.5,
          3.4,
          4.4
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.8,
          8,
          9.9,
          10.3,
          11.6,
          11.7,
          11.3,
          10.4,
          10.4,
          9.6,
          8.7,
          7.7
        ]
      },
      "effectiveTaxRate": 0.00299,
      "taxTopCoded": false,
      "annualTax4br": 1330,
      "annualTaxTypical": 1113,
      "lossPer100k": 404,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 77,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": -0.001,
        "listPriceYoY": -0.0018,
        "inventoryYoY": -0.0823,
        "domYoY": -0.044,
        "priceCutShare": 0.1682,
        "priceCutShareYoY": -0.0322,
        "popChange1yr": 0.0233,
        "domesticMigPer1000": 22.98
      },
      "activeListings": 2876,
      "medianDom": 87,
      "medianListPrice": 499000,
      "permitsPer1000Units": 21.3,
      "permitsYoY": -0.3137,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 38.2,
        "listPriceYoY": 67.9,
        "inventoryYoY": 86.4,
        "domYoY": 64.5,
        "priceCutShareYoY": 91,
        "popChange1yr": 95.1,
        "domesticMigPer1000": 95.7
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        5
      ],
      "riskScore": 96.7,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.2,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 85.8,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 92.2,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 90.8,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 92.8,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 72.4,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 59.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 63.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 372122,
      "homeValue4br": 444765,
      "homeValueYoY": -0.001,
      "dataStatus": "verified",
      "nationalRank": 28,
      "opportunityScore": 61,
      "opportunityBasis": "full",
      "buyerScore": 22,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 14,
        "domYoY": 36,
        "priceCutShareYoY": 9,
        "priceCutShare": 27
      },
      "grossYield": 0.1484,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1454
    },
    {
      "slug": "blue-ridge",
      "city": "Blue Ridge",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 34.864,
      "lng": -84.3244,
      "adr": 265,
      "occupancy": 68,
      "annualRevenue": 66000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/blue-ridge",
      "regUrl": "/regulations/blue-ridge-ga-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "The City generally permits short-term vacation rentals only in the Central Business District, C-1 commercial, and R-3 residential zones.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/blue-ridge-ga-airbnb-regulations",
      "countyName": "Fannin County",
      "countyFips": "13111",
      "seasonalShare": 0.2597,
      "bigHomeShare": 0.1657,
      "tourismJobShare": 0.0926,
      "amenityScore": 43,
      "dining": 29,
      "attractions": 6,
      "outdoors": 21,
      "lodgingCompetition": 9,
      "pop150": 15095193,
      "pop300": 40673019,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          49.1,
          54.4,
          61,
          66.6,
          74.2,
          80.2,
          84.1,
          83.2,
          79.2,
          69.3,
          58.5,
          53.1
        ],
        "lowF": [
          33.1,
          37,
          41.6,
          46.4,
          55.7,
          62.5,
          67.1,
          66.2,
          60.5,
          50.5,
          39.6,
          36.1
        ],
        "precipIn": [
          5.2,
          7.2,
          6.4,
          4.4,
          3.6,
          4.3,
          3.7,
          4.8,
          3.3,
          3.7,
          2.6,
          4.8
        ],
        "snowIn": [
          2.4,
          1.3,
          0.2,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          0.5
        ],
        "sunHours": [
          6.2,
          5.9,
          8.1,
          10.1,
          10.8,
          11.3,
          11.5,
          10.9,
          10.5,
          8.8,
          8,
          5.9
        ]
      },
      "effectiveTaxRate": 0.00366,
      "taxTopCoded": false,
      "annualTax4br": 2886,
      "annualTaxTypical": 1825,
      "lossPer100k": 147,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 59,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.021,
        "listPriceYoY": -0.0679,
        "inventoryYoY": 0.1416,
        "domYoY": -0.0734,
        "priceCutShare": 0.1875,
        "priceCutShareYoY": -0.0224,
        "popChange1yr": 0.0057,
        "domesticMigPer1000": 16.14
      },
      "activeListings": 806,
      "medianDom": 82,
      "medianListPrice": 699000,
      "permitsPer1000Units": 19.99,
      "permitsYoY": -0.0872,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 66.7,
        "listPriceYoY": 13,
        "inventoryYoY": 20.5,
        "domYoY": 81.8,
        "priceCutShareYoY": 82.9,
        "popChange1yr": 55.1,
        "domesticMigPer1000": 90.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [
        9,
        10,
        11
      ],
      "riskScore": 56.5,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 58.7,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 66.1,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 76.3,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 63.9,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 72.4,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 26.8,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 43.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 498675,
      "homeValue4br": 788588,
      "homeValueYoY": 0.021,
      "dataStatus": "verified",
      "nationalRank": 29,
      "opportunityScore": 43,
      "opportunityBasis": "full",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 79,
        "domYoY": 19,
        "priceCutShareYoY": 17,
        "priceCutShare": 43
      },
      "grossYield": 0.0837,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.08
    },
    {
      "slug": "st-pete",
      "city": "St. Petersburg",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 27.7676,
      "lng": -82.6403,
      "adr": 245,
      "occupancy": 74,
      "annualRevenue": 66000,
      "medianPrice": null,
      "regStrictness": 5,
      "regNotes": null,
      "growthTrend": null,
      "permit": "DBPR licence + city Business Tax Receipt where allowed",
      "tax": "FL sales tax + Pinellas Tourist Development Tax; DBPR licence required",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/st-pete",
      "regUrl": "/regulations/st-pete-fl-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Effectively restricted — 3 short stays per 365 days",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "City of St. Petersburg",
      "strCap": "Max 3 stays under 30 days per 365 days in most residential zones (pre-2011, grandfathered)",
      "statusNote": "Exempt downtown/mixed-use zones exist; get written zoning determination.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances",
      "countyName": "Pinellas County",
      "countyFips": "12103",
      "seasonalShare": 0.0972,
      "bigHomeShare": 0.1058,
      "tourismJobShare": 0.1043,
      "amenityScore": 82,
      "dining": 598,
      "attractions": 44,
      "outdoors": 350,
      "lodgingCompetition": 185,
      "pop150": 12089860,
      "pop300": 22182417,
      "nearestMetros": [
        {
          "name": "Hillsborough County, FL",
          "pop": 1468560
        },
        {
          "name": "Orange County, FL",
          "pop": 1427403
        },
        {
          "name": "Pinellas County, FL",
          "pop": 959918
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 10,
      "snowMonths": 0,
      "climate": {
        "highF": [
          68.7,
          73.9,
          77.9,
          81.1,
          86.1,
          87.3,
          88.8,
          88.8,
          86.9,
          84.2,
          76.6,
          71.7
        ],
        "lowF": [
          55.5,
          59.8,
          63.2,
          67.3,
          71.7,
          76.3,
          78.1,
          78.4,
          76,
          71.6,
          63.8,
          58.9
        ],
        "precipIn": [
          1.9,
          2,
          1.2,
          3.5,
          2.3,
          6,
          6.1,
          7.7,
          6.2,
          2.7,
          3.1,
          3.7
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.9,
          9.6,
          10.5,
          11.2,
          12.2,
          10.9,
          11,
          10.3,
          9.9,
          10,
          8.7,
          8.2
        ]
      },
      "effectiveTaxRate": 0.00759,
      "taxTopCoded": false,
      "annualTax4br": 4963,
      "annualTaxTypical": 2812,
      "lossPer100k": 139,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 41,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.008,
        "listPriceYoY": -0.0455,
        "inventoryYoY": -0.1123,
        "domYoY": 0,
        "priceCutShare": 0.2506,
        "priceCutShareYoY": -0.0176,
        "popChange1yr": -0.0123,
        "domesticMigPer1000": -9.58
      },
      "activeListings": 6607,
      "medianDom": 85,
      "medianListPrice": 420000,
      "permitsPer1000Units": 8.13,
      "permitsYoY": 0.598,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 27.9,
        "listPriceYoY": 31.5,
        "inventoryYoY": 90.5,
        "domYoY": 49.7,
        "priceCutShareYoY": 75.7,
        "popChange1yr": 1.4,
        "domesticMigPer1000": 12.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 91308474.11,
        "priorTtm": null,
        "yoy": null,
        "yoyWithheld": true,
        "period": "2025-02..2026-01",
        "unit": "tax collected USD",
        "geography": "Pinellas County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://floridarevenue.com/DataPortal/Pages/TaxResearch.aspx"
      },
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 98.2,
      "riskRating": "Relatively High",
      "topHazards": [
        "coastalFlood",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 98.9,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 99.2,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 96.9,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 81.1,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 99,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 66.9,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 94.3,
          "rating": "Relatively High"
        }
      },
      "homeValue": 370534,
      "homeValue4br": 653826,
      "homeValueYoY": -0.008,
      "dataStatus": "verified",
      "nationalRank": 30,
      "opportunityScore": 42,
      "opportunityBasis": "full",
      "buyerScore": 41,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 10,
        "domYoY": 51,
        "priceCutShareYoY": 24,
        "priceCutShare": 78
      },
      "grossYield": 0.1009,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0933
    },
    {
      "slug": "gatlinburg",
      "city": "Gatlinburg",
      "state": "Tennessee",
      "stateCode": "TN",
      "lat": 35.7143,
      "lng": -83.5102,
      "adr": 285,
      "occupancy": 68,
      "annualRevenue": 65000,
      "medianPrice": 390000,
      "regStrictness": 1,
      "regNotes": "Highly STR-friendly. Simple business license only. No density or occupancy restrictions.",
      "growthTrend": "+10%",
      "permit": "Business license required",
      "tax": "5% state + 3% local",
      "zoning": "Widely permitted",
      "minStay": "None",
      "occupancyRule": "2 per bedroom",
      "penalties": "Standard code enforcement",
      "restrictions": [
        "Business license required",
        "Bear-proof trash containers required",
        "Noise restrictions after 10 PM"
      ],
      "marketUrl": "/markets/gatlinburg",
      "regUrl": "/regulations/gatlinburg-tn-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$200 for a unit of two or fewer bedrooms; +$75 per bedroom over two (covers the fire and building inspection)",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.gatlinburgtn.gov/page/apply-for-a-tourist-residency-permit/",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Sevier County",
      "countyFips": "47155",
      "seasonalShare": 0.1419,
      "bigHomeShare": 0.1487,
      "tourismJobShare": 0.2335,
      "amenityScore": 73,
      "dining": 198,
      "attractions": 109,
      "outdoors": 89,
      "lodgingCompetition": 193,
      "pop150": 13787289,
      "pop300": 47064794,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 1,
      "climate": {
        "highF": [
          50.5,
          56.3,
          62.6,
          68.3,
          75.9,
          82.4,
          86.6,
          85,
          80.6,
          71.1,
          60,
          55.4
        ],
        "lowF": [
          35,
          39,
          43.3,
          48.7,
          58.1,
          65.2,
          69.4,
          68.2,
          62.7,
          53.2,
          41.6,
          38.9
        ],
        "precipIn": [
          6.1,
          7.1,
          6,
          4.8,
          5,
          3.9,
          4.1,
          5.3,
          3.3,
          4.9,
          3.3,
          5.1
        ],
        "snowIn": [
          7.5,
          3.1,
          1.3,
          0.3,
          0,
          0,
          0,
          0,
          0,
          0,
          1.1,
          2.2
        ],
        "sunHours": [
          5.8,
          5.8,
          8,
          9.7,
          10.7,
          11.8,
          12,
          11.2,
          10.6,
          8.7,
          7.9,
          6.2
        ]
      },
      "effectiveTaxRate": 0.00338,
      "taxTopCoded": false,
      "annualTax4br": 2206,
      "annualTaxTypical": 1378,
      "lossPer100k": 124,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": "summed-components",
      "momentumScore": 29,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.002,
        "listPriceYoY": -0.0771,
        "inventoryYoY": 0.0444,
        "domYoY": 0.0549,
        "priceCutShare": 0.287,
        "priceCutShareYoY": 0.0182,
        "popChange1yr": 0.0012,
        "domesticMigPer1000": -3.11
      },
      "activeListings": 2164,
      "medianDom": 96,
      "medianListPrice": 599900,
      "permitsPer1000Units": 20.08,
      "permitsYoY": -0.2096,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 35.9,
        "listPriceYoY": 10.1,
        "inventoryYoY": 49.4,
        "domYoY": 22.8,
        "priceCutShareYoY": 18.8,
        "popChange1yr": 38.9,
        "domesticMigPer1000": 28.3
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 77.4,
      "riskRating": "Relatively Low",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 56.5,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 84.1,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 78.7,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 70.9,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 90,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 81.2,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 56.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 407695,
      "homeValue4br": 652572,
      "homeValueYoY": -0.002,
      "dataStatus": "verified",
      "nationalRank": 31,
      "opportunityScore": 71,
      "opportunityBasis": "full",
      "buyerScore": 76,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 51,
        "domYoY": 77,
        "priceCutShareYoY": 81,
        "priceCutShare": 95
      },
      "grossYield": 0.0996,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0962
    },
    {
      "slug": "south-padre-island",
      "city": "South Padre Island",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 26.1118,
      "lng": -97.1681,
      "adr": 265,
      "occupancy": 68,
      "annualRevenue": 65000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/south-padre-island",
      "regUrl": "/regulations/south-padre-island-tx-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "The Town of South Padre Island maintains a generally welcoming regulatory environment for STR operators while ensuring tax compliance and guest safety.",
      "regEvidenceConfidence": "medium",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/south-padre-island-tx-airbnb-regulations",
      "countyName": "Cameron County",
      "countyFips": "48061",
      "seasonalShare": 0.0732,
      "bigHomeShare": 0.1555,
      "tourismJobShare": 0.0869,
      "amenityScore": 53,
      "dining": 58,
      "attractions": 8,
      "outdoors": 67,
      "lodgingCompetition": 28,
      "pop150": 1933061,
      "pop300": 13444453,
      "nearestMetros": [
        {
          "name": "Hidalgo County, TX",
          "pop": 873167
        },
        {
          "name": "Cameron County, TX",
          "pop": 421854
        },
        {
          "name": "Nueces County, TX",
          "pop": 353245
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          70.9,
          70.6,
          76.5,
          81.4,
          85.2,
          89,
          90.4,
          90.8,
          88.1,
          84.2,
          76.7,
          73.6
        ],
        "lowF": [
          58.5,
          56.8,
          64.4,
          69.8,
          75,
          78.5,
          79.6,
          79.9,
          77.6,
          71.6,
          64.4,
          60.2
        ],
        "precipIn": [
          2.9,
          1.3,
          2.5,
          2.6,
          3.8,
          2.3,
          3.3,
          2.4,
          3.6,
          2,
          3.9,
          1.7
        ],
        "snowIn": [
          0,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.5,
          7.9,
          8.6,
          10.2,
          11.2,
          12,
          11.9,
          12.3,
          10.8,
          9.9,
          7.9,
          8.2
        ]
      },
      "effectiveTaxRate": 0.01686,
      "taxTopCoded": false,
      "annualTax4br": 5292,
      "annualTaxTypical": 3532,
      "lossPer100k": 181,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 54,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.013,
        "listPriceYoY": -0.0752,
        "inventoryYoY": -0.1126,
        "domYoY": -0.0449,
        "priceCutShare": 0.1275,
        "priceCutShareYoY": -0.0216,
        "popChange1yr": 0.0023,
        "domesticMigPer1000": -4.24
      },
      "activeListings": 1560,
      "medianDom": 85,
      "medianListPrice": 295000,
      "permitsPer1000Units": 17.37,
      "permitsYoY": 0.1513,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 60.6,
        "listPriceYoY": 11.6,
        "inventoryYoY": 91.3,
        "domYoY": 65.9,
        "priceCutShareYoY": 81.8,
        "popChange1yr": 45.1,
        "domesticMigPer1000": 22.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The Town of South Padre Island maintains a generally welcoming regulatory environment for STR operators while ensuring tax compliance and guest safety.",
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 12831425.01,
        "priorTtm": 11448410.65,
        "yoy": 0.1208,
        "period": "FY2025",
        "unit": "tax collected USD",
        "geography": "South Padre Island",
        "locations": 1046,
        "smallPropertyShare": null,
        "sourceUrl": "https://data.texas.gov/d/er34-v24h"
      },
      "driverCount": 2,
      "emergingDriverCount": 1,
      "eventMonths": [],
      "riskScore": 97.3,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 99,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 67,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 92.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 83.8,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 85.1,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 50.4,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 85.9,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 96.6,
          "rating": "Relatively High"
        }
      },
      "homeValue": 209484,
      "homeValue4br": 313878,
      "homeValueYoY": 0.013,
      "dataStatus": "verified",
      "nationalRank": 32,
      "opportunityScore": 47,
      "opportunityBasis": "full",
      "buyerScore": 18,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 9,
        "domYoY": 35,
        "priceCutShareYoY": 18,
        "priceCutShare": 11
      },
      "grossYield": 0.2071,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1902
    },
    {
      "slug": "cave-creek",
      "city": "Cave Creek",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 33.8314,
      "lng": -111.9507,
      "adr": 285,
      "occupancy": 62,
      "annualRevenue": 65000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Residential registration",
      "tax": "State TPT + county + city lodging tax; TPT licence must list each address",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Up to $500 / $1,000 / $3,500 (or 1/2/3 nights rent) per verified violation",
      "restrictions": null,
      "marketUrl": "/markets/cave-creek",
      "regUrl": "/regulations/cave-creek-az-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Cave Creek can regulate licensing, taxes, safety and nuisance — it cannot prohibit the use.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "jurisdiction": "Town of Cave Creek",
      "permitFee": "$250/yr permit + $50/yr business licence",
      "strCap": "None - caps barred by state law (A.R.S. 9-500.39)",
      "statusNote": "Pending AZ SB 1076 could allow caps in towns under 70,000.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.cavecreekaz.gov/737/Short-Term-Rental-License",
      "countyName": "Maricopa County",
      "countyFips": "04013",
      "seasonalShare": 0.0358,
      "bigHomeShare": 0.2619,
      "tourismJobShare": 0.093,
      "amenityScore": 65,
      "dining": 56,
      "attractions": 36,
      "outdoors": 148,
      "lodgingCompetition": 5,
      "pop150": 6709174,
      "pop300": 18173209,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pima County, AZ",
          "pop": 1042393
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.2,
          62.5,
          68.7,
          82,
          88.5,
          98.3,
          101.3,
          99.4,
          94.6,
          83.9,
          73,
          62
        ],
        "lowF": [
          45.6,
          45.8,
          50.7,
          60,
          66.4,
          76,
          82,
          80.8,
          75.8,
          64.8,
          55.7,
          47.4
        ],
        "precipIn": [
          1.7,
          1.9,
          2.5,
          0.1,
          0.1,
          0.1,
          2.1,
          1.4,
          1.3,
          0.3,
          1.2,
          2
        ],
        "snowIn": [
          0.3,
          1,
          0.7,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.6,
          10.2,
          12.5,
          12.9,
          13.3,
          12,
          12,
          11.4,
          10.7,
          9.4,
          7.9
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 2798,
      "annualTaxTypical": 2313,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0495,
        "inventoryYoY": 0.0564,
        "domYoY": -0.0563,
        "priceCutShare": 0.277,
        "priceCutShareYoY": -0.0097,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 0.2
      },
      "activeListings": 15125,
      "medianDom": 67,
      "medianListPrice": 499000,
      "permitsPer1000Units": 17.38,
      "permitsYoY": -0.13,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 25.4,
        "inventoryYoY": 42.8,
        "domYoY": 74.6,
        "priceCutShareYoY": 55.5,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 44
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 26.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 84,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 456252,
      "homeValue4br": 551940,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 33,
      "opportunityScore": 58,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 57,
        "domYoY": 26,
        "priceCutShareYoY": 44,
        "priceCutShare": 90
      },
      "grossYield": 0.1178,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1127
    },
    {
      "slug": "lake-oconee",
      "city": "Lake Oconee",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 33.5621,
      "lng": -83.4468,
      "adr": 295,
      "occupancy": 60,
      "annualRevenue": 65000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Greene: STR Business License inside overlay district only. Putnam: STVR Certificate + occupation tax cert",
      "tax": "4% state sales tax + $5/night state fee + local hotel-motel tax (6-8%)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Greene: $1,000 per day unlicensed",
      "restrictions": null,
      "marketUrl": "/markets/lake-oconee",
      "regUrl": "/regulations/lake-oconee-ga-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Permit required — Greene restricts STRs to overlay zones",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Greene County + Putnam County (unincorporated)",
      "strCap": "Greene restricts STRs to mapped overlay districts",
      "statusNote": "GA SB 570 training required for all STR operators from 1 Jul 2026. Private lake communities add their own rental rules.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.greenecountyga.gov/246/Short-Term-Rentals",
      "countyName": "Morgan County",
      "countyFips": "13211",
      "seasonalShare": 0.0258,
      "bigHomeShare": 0.2862,
      "tourismJobShare": 0.083,
      "amenityScore": 26,
      "dining": 11,
      "attractions": 1,
      "outdoors": 7,
      "lodgingCompetition": 8,
      "pop150": 13866818,
      "pop300": 37347434,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          55.5,
          60.8,
          67.3,
          73.7,
          81.6,
          86.6,
          90.1,
          88.9,
          83.9,
          74.9,
          63.9,
          57.7
        ],
        "lowF": [
          38.9,
          42.3,
          47.6,
          51.8,
          60.9,
          67.8,
          71.9,
          71.3,
          65.1,
          56,
          45.4,
          40.9
        ],
        "precipIn": [
          5.1,
          5.4,
          5.4,
          4.4,
          2.6,
          4.1,
          4.4,
          4.8,
          4.3,
          3.8,
          2.9,
          4.7
        ],
        "snowIn": [
          0.1,
          0.1,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.7,
          6.5,
          8.2,
          10.6,
          11,
          11.1,
          11.3,
          10.6,
          10,
          9,
          8,
          6.2
        ]
      },
      "effectiveTaxRate": 0.00817,
      "taxTopCoded": false,
      "annualTax4br": 4800,
      "annualTaxTypical": 3745,
      "lossPer100k": 108,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 49,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.03,
        "listPriceYoY": -0.0338,
        "inventoryYoY": -0.031,
        "domYoY": 0.2039,
        "priceCutShare": 0.1749,
        "priceCutShareYoY": 0.0287,
        "popChange1yr": 0.0064,
        "domesticMigPer1000": 6.01
      },
      "activeListings": 125,
      "medianDom": 92,
      "medianListPrice": 599000,
      "permitsPer1000Units": 17.35,
      "permitsYoY": -0.1037,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 76.1,
        "listPriceYoY": 41.6,
        "inventoryYoY": 74,
        "domYoY": 6.4,
        "priceCutShareYoY": 9.5,
        "popChange1yr": 57.7,
        "domesticMigPer1000": 74.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "GA SB 570 training required for all STR operators from 1 Jul 2026.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 19.4,
      "riskRating": "Very Low",
      "topHazards": [
        "hurricane",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 57.4,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 38.4,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 38.3,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 52.3,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 6.3,
          "rating": "Very Low"
        },
        "hail": {
          "score": 41,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 458390,
      "homeValue4br": 587515,
      "homeValueYoY": 0.03,
      "dataStatus": "verified",
      "nationalRank": 34,
      "opportunityScore": 39,
      "opportunityBasis": "full",
      "buyerScore": 60,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 27,
        "domYoY": 93,
        "priceCutShareYoY": 90,
        "priceCutShare": 31
      },
      "grossYield": 0.1106,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1024
    },
    {
      "slug": "pigeon-forge",
      "city": "Pigeon Forge",
      "state": "Tennessee",
      "stateCode": "TN",
      "lat": 35.7884,
      "lng": -83.5543,
      "adr": 265,
      "occupancy": 66,
      "annualRevenue": 64000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/pigeon-forge",
      "regUrl": "/regulations/pigeon-forge-tn-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Pigeon Forge takes a business-friendly approach to short-term rental regulation.",
      "regEvidenceConfidence": "medium",
      "regRatingReviewed": false,
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.tn.gov/revenue/taxes/sales-and-use-tax.html",
      "countyName": "Sevier County",
      "countyFips": "47155",
      "seasonalShare": 0.1419,
      "bigHomeShare": 0.1487,
      "tourismJobShare": 0.2335,
      "amenityScore": 73,
      "dining": 225,
      "attractions": 106,
      "outdoors": 77,
      "lodgingCompetition": 209,
      "pop150": 13588633,
      "pop300": 47199377,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          50.2,
          56,
          63,
          69.2,
          77.3,
          84.2,
          88.6,
          86.8,
          82.4,
          72.2,
          60.1,
          54.8
        ],
        "lowF": [
          33.7,
          36.5,
          41,
          46.8,
          56.8,
          63.9,
          68.5,
          67.4,
          61.5,
          51.4,
          39.4,
          36.1
        ],
        "precipIn": [
          5,
          6.6,
          5.9,
          4.1,
          4.6,
          3.6,
          4,
          5.1,
          3,
          4.1,
          2.8,
          4.3
        ],
        "snowIn": [
          3.7,
          1.4,
          0.7,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.6,
          0.9
        ],
        "sunHours": [
          5.9,
          5.9,
          8,
          9.8,
          10.7,
          11.8,
          11.9,
          11.2,
          10.6,
          8.8,
          8,
          6.2
        ]
      },
      "effectiveTaxRate": 0.00338,
      "taxTopCoded": false,
      "annualTax4br": 2206,
      "annualTaxTypical": 1378,
      "lossPer100k": 124,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 29,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.002,
        "listPriceYoY": -0.0771,
        "inventoryYoY": 0.0444,
        "domYoY": 0.0549,
        "priceCutShare": 0.287,
        "priceCutShareYoY": 0.0182,
        "popChange1yr": 0.0012,
        "domesticMigPer1000": -3.11
      },
      "activeListings": 2164,
      "medianDom": 96,
      "medianListPrice": 599900,
      "permitsPer1000Units": 20.08,
      "permitsYoY": -0.2096,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 35.9,
        "listPriceYoY": 10.1,
        "inventoryYoY": 49.4,
        "domYoY": 22.8,
        "priceCutShareYoY": 18.8,
        "popChange1yr": 38.9,
        "domesticMigPer1000": 28.3
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 7,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 77.4,
      "riskRating": "Relatively Low",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 56.5,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 84.1,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 78.7,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 70.9,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 90,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 81.2,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 56.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 407695,
      "homeValue4br": 652572,
      "homeValueYoY": -0.002,
      "dataStatus": "verified",
      "nationalRank": 35,
      "opportunityScore": 64,
      "opportunityBasis": "full",
      "buyerScore": 76,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 51,
        "domYoY": 77,
        "priceCutShareYoY": 81,
        "priceCutShare": 95
      },
      "grossYield": 0.0981,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0947
    },
    {
      "slug": "sarasota",
      "city": "Sarasota",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 27.3364,
      "lng": -82.5307,
      "adr": 265,
      "occupancy": 66,
      "annualRevenue": 64000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/sarasota",
      "regUrl": "/regulations/sarasota-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Florida's preemption law (F.S. 509.032) prevents local governments from banning vacation rentals",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/sarasota-fl-airbnb-regulations",
      "countyName": "Sarasota County",
      "countyFips": "12115",
      "seasonalShare": 0.1545,
      "bigHomeShare": 0.097,
      "tourismJobShare": 0.1132,
      "amenityScore": 75,
      "dining": 303,
      "attractions": 28,
      "outdoors": 252,
      "lodgingCompetition": 80,
      "pop150": 15019917,
      "pop300": 21573299,
      "nearestMetros": [
        {
          "name": "Broward County, FL",
          "pop": 1940907
        },
        {
          "name": "Palm Beach County, FL",
          "pop": 1494805
        },
        {
          "name": "Hillsborough County, FL",
          "pop": 1468560
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          69.8,
          74.9,
          78.5,
          81.2,
          85.8,
          87.1,
          87.3,
          87.7,
          86.4,
          83.7,
          76.9,
          72.6
        ],
        "lowF": [
          55.5,
          60.2,
          62.9,
          66.7,
          70.5,
          74.9,
          77.2,
          77.2,
          75.1,
          71,
          63.9,
          58.9
        ],
        "precipIn": [
          2.2,
          1.8,
          1.2,
          4.3,
          2.6,
          6.3,
          6.3,
          7,
          7.3,
          2.6,
          3.2,
          3.5
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          9.2,
          9.9,
          10.7,
          11.6,
          12.3,
          11.1,
          11.1,
          10.4,
          10.1,
          10.1,
          9,
          8.5
        ]
      },
      "effectiveTaxRate": 0.00788,
      "taxTopCoded": false,
      "annualTax4br": 5167,
      "annualTaxTypical": 3126,
      "lossPer100k": 274,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 69,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": -0.029,
        "listPriceYoY": -0.0416,
        "inventoryYoY": -0.1883,
        "domYoY": -0.1132,
        "priceCutShare": 0.1618,
        "priceCutShareYoY": -0.0433,
        "popChange1yr": 0.0083,
        "domesticMigPer1000": 12.72
      },
      "activeListings": 4030,
      "medianDom": 94,
      "medianListPrice": 460000,
      "permitsPer1000Units": 26.03,
      "permitsYoY": -0.1124,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 6.9,
        "listPriceYoY": 34.7,
        "inventoryYoY": 98.8,
        "domYoY": 89,
        "priceCutShareYoY": 94.2,
        "popChange1yr": 76.3,
        "domesticMigPer1000": 86.3
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "enforcement",
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Enhanced DBPR Enforcement: Florida has increased funding for DBPR vacation rental inspections, particularly in high-volume markets like Sarasota",
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 47386925.58,
        "priorTtm": 48374443.78,
        "yoy": -0.0204,
        "period": "2024-10..2025-09",
        "unit": "tax collected USD",
        "geography": "Sarasota County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://www.sarasotataxcollector.gov/services/tax-services/tourist-tax"
      },
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 98.2,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.5,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 93.6,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 95.7,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 93.3,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 92.5,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 34.7,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 21,
          "rating": "Very Low"
        }
      },
      "homeValue": 396714,
      "homeValue4br": 655701,
      "homeValueYoY": -0.029,
      "dataStatus": "verified",
      "nationalRank": 36,
      "opportunityScore": 58,
      "opportunityBasis": "full",
      "buyerScore": 10,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 2,
        "domYoY": 12,
        "priceCutShareYoY": 6,
        "priceCutShare": 21
      },
      "grossYield": 0.0976,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0897
    },
    {
      "slug": "gulf-shores",
      "city": "Gulf Shores",
      "state": "Alabama",
      "stateCode": "AL",
      "lat": 30.246,
      "lng": -87.7008,
      "adr": 265,
      "occupancy": 66,
      "annualRevenue": 64000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/gulf-shores",
      "regUrl": "/regulations/gulf-shores-al-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Gulf Shores requires all property owners who rent their property within the city's corporate limits or police jurisdiction to obtain a business license.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/gulf-shores-al-airbnb-regulations",
      "countyName": "Baldwin County",
      "countyFips": "01003",
      "seasonalShare": 0.1088,
      "bigHomeShare": 0.2301,
      "tourismJobShare": 0.104,
      "amenityScore": 63,
      "dining": 167,
      "attractions": 13,
      "outdoors": 93,
      "lodgingCompetition": 34,
      "pop150": 4152710,
      "pop300": 14418371,
      "nearestMetros": [
        {
          "name": "Jefferson Parish, LA",
          "pop": 436171
        },
        {
          "name": "Mobile County, AL",
          "pop": 413878
        },
        {
          "name": "Orleans Parish, LA",
          "pop": 380408
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.5,
          65.2,
          69.5,
          73.4,
          79.8,
          85.2,
          86.2,
          87.2,
          85,
          77.9,
          69,
          64.5
        ],
        "lowF": [
          49,
          53.1,
          58.1,
          61.7,
          69.6,
          75.9,
          77.9,
          78.6,
          74.7,
          66.2,
          55.8,
          52.7
        ],
        "precipIn": [
          4.3,
          3.4,
          4.1,
          5.6,
          4.8,
          6.1,
          5.8,
          6.5,
          6.8,
          4.7,
          3,
          4.3
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.7,
          8.1,
          10,
          10.2,
          11.6,
          11.7,
          11.3,
          10.4,
          10.3,
          9.5,
          8.7,
          7.7
        ]
      },
      "effectiveTaxRate": 0.00299,
      "taxTopCoded": false,
      "annualTax4br": 1330,
      "annualTaxTypical": 1113,
      "lossPer100k": 404,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 77,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": -0.001,
        "listPriceYoY": -0.0018,
        "inventoryYoY": -0.0823,
        "domYoY": -0.044,
        "priceCutShare": 0.1682,
        "priceCutShareYoY": -0.0322,
        "popChange1yr": 0.0233,
        "domesticMigPer1000": 22.98
      },
      "activeListings": 2876,
      "medianDom": 87,
      "medianListPrice": 499000,
      "permitsPer1000Units": 21.3,
      "permitsYoY": -0.3137,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 38.2,
        "listPriceYoY": 67.9,
        "inventoryYoY": 86.4,
        "domYoY": 64.5,
        "priceCutShareYoY": 91,
        "popChange1yr": 95.1,
        "domesticMigPer1000": 95.7
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        5
      ],
      "riskScore": 96.7,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.2,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 85.8,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 92.2,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 90.8,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 92.8,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 72.4,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 59.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 63.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 372122,
      "homeValue4br": 444765,
      "homeValueYoY": -0.001,
      "dataStatus": "verified",
      "nationalRank": 37,
      "opportunityScore": 57,
      "opportunityBasis": "full",
      "buyerScore": 22,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 14,
        "domYoY": 36,
        "priceCutShareYoY": 9,
        "priceCutShare": 27
      },
      "grossYield": 0.1439,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1409
    },
    {
      "slug": "lake-lanier",
      "city": "Lake Lanier",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 34.1749,
      "lng": -83.9869,
      "adr": 275,
      "occupancy": 62,
      "annualRevenue": 62000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Licence/permit in all four; Forsyth only in A-1/Ag-Res zoning with Conditional Use Permit",
      "tax": "4% state sales tax + $5/night state fee + local hotel-motel tax (6-8%)",
      "zoning": null,
      "minStay": "2 nights (Hall, Dawson)",
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/lake-lanier",
      "regUrl": "/regulations/lake-lanier-ga-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Permit required everywhere — four different regimes",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Hall, Forsyth, Gwinnett and Dawson counties (unincorporated)",
      "strCap": "Forsyth effectively excludes residential zones",
      "statusNote": "GA SB 570 training required for all STR operators from 1 Jul 2026. Gwinnett adopted new ordinance Apr 2026 - rollout into 2027.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.hallcounty.org/964/Short-Term-Rental-Properties",
      "countyName": "Hall County",
      "countyFips": "13139",
      "seasonalShare": 0.0165,
      "bigHomeShare": 0.2978,
      "tourismJobShare": 0.0764,
      "amenityScore": 67,
      "dining": 184,
      "attractions": 17,
      "outdoors": 168,
      "lodgingCompetition": 20,
      "pop150": 14641961,
      "pop300": 39674035,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 0,
      "climate": {
        "highF": [
          52.5,
          57.3,
          63.8,
          70.1,
          78.3,
          84,
          87.2,
          86,
          81.6,
          72.3,
          61.6,
          55
        ],
        "lowF": [
          37,
          40.3,
          45.9,
          50.4,
          60,
          67,
          71.2,
          70.6,
          65,
          55.3,
          44.4,
          39.8
        ],
        "precipIn": [
          5.6,
          7.1,
          6.1,
          5.2,
          4.4,
          5.2,
          5.2,
          7.1,
          5.4,
          4.4,
          3.5,
          5.6
        ],
        "snowIn": [
          1.1,
          0.6,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.4,
          6,
          7.8,
          10.3,
          10.7,
          10.9,
          11.3,
          10.4,
          9.9,
          8.6,
          7.9,
          6.1
        ]
      },
      "effectiveTaxRate": 0.00792,
      "taxTopCoded": false,
      "annualTax4br": 3666,
      "annualTaxTypical": 3067,
      "lossPer100k": 100,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 55,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.013,
        "listPriceYoY": 0.0199,
        "inventoryYoY": 0.1277,
        "domYoY": 0.0847,
        "priceCutShare": 0.244,
        "priceCutShareYoY": -0.0269,
        "popChange1yr": 0.0135,
        "domesticMigPer1000": 4.69
      },
      "activeListings": 1148,
      "medianDom": 64,
      "medianListPrice": 498750,
      "permitsPer1000Units": 25.76,
      "permitsYoY": -0.1466,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 17.8,
        "listPriceYoY": 77.5,
        "inventoryYoY": 25.4,
        "domYoY": 16.8,
        "priceCutShareYoY": 88.4,
        "popChange1yr": 89.1,
        "domesticMigPer1000": 70.3
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "GA SB 570 training required for all STR operators from 1 Jul 2026. Gwinnett adopted new ordinance Apr 2026 - rollout into 2027.",
      "regDirectionReviewed": false,
      "driverCount": 9,
      "emergingDriverCount": 0,
      "eventMonths": [
        9,
        10,
        11
      ],
      "riskScore": 84.3,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "tornado",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 66.9,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 86.2,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 50.4,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 94.1,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 84.3,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 34.2,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 86.1,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 387290,
      "homeValue4br": 462868,
      "homeValueYoY": -0.013,
      "dataStatus": "verified",
      "nationalRank": 38,
      "opportunityScore": 43,
      "opportunityBasis": "full",
      "buyerScore": 61,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 75,
        "domYoY": 83,
        "priceCutShareYoY": 12,
        "priceCutShare": 75
      },
      "grossYield": 0.1339,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.126
    },
    {
      "slug": "panama-city-beach",
      "city": "Panama City Beach",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 30.1766,
      "lng": -85.8055,
      "adr": 245,
      "occupancy": 68,
      "annualRevenue": 61000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/panama-city-beach",
      "regUrl": "/regulations/panama-city-beach-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "annual fire safety inspections for all vacation rental properties",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/panama-city-beach-fl-airbnb-regulations",
      "countyName": "Bay County",
      "countyFips": "12005",
      "seasonalShare": 0.194,
      "bigHomeShare": 0.1473,
      "tourismJobShare": 0.1221,
      "amenityScore": 68,
      "dining": 187,
      "attractions": 20,
      "outdoors": 156,
      "lodgingCompetition": 140,
      "pop150": 3244493,
      "pop300": 28389047,
      "nearestMetros": [
        {
          "name": "Mobile County, AL",
          "pop": 413878
        },
        {
          "name": "Escambia County, FL",
          "pop": 321296
        },
        {
          "name": "Leon County, FL",
          "pop": 294128
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.5,
          65,
          69.8,
          73.6,
          79.9,
          84.6,
          85.3,
          86.2,
          84.9,
          79.1,
          69.6,
          64.3
        ],
        "lowF": [
          49.1,
          53.4,
          58.5,
          61.9,
          69.5,
          76.2,
          78.2,
          78.7,
          74.4,
          66.2,
          55.8,
          52.1
        ],
        "precipIn": [
          6.5,
          3.8,
          4.3,
          6.2,
          2.6,
          5.2,
          5.7,
          6.3,
          6.4,
          3.8,
          2.6,
          4.9
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.8,
          7.9,
          10,
          10.3,
          11.9,
          11.4,
          11.1,
          10.5,
          9.9,
          9.9,
          8.9,
          7.7
        ]
      },
      "effectiveTaxRate": 0.00598,
      "taxTopCoded": false,
      "annualTax4br": 2478,
      "annualTaxTypical": 2057,
      "lossPer100k": 369,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 56,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.004,
        "listPriceYoY": -0.0546,
        "inventoryYoY": -0.038,
        "domYoY": -0.0485,
        "priceCutShare": 0.2324,
        "priceCutShareYoY": 0.0257,
        "popChange1yr": 0.0217,
        "domesticMigPer1000": 15.04
      },
      "activeListings": 2861,
      "medianDom": 98,
      "medianListPrice": 399900,
      "permitsPer1000Units": 19.84,
      "permitsYoY": -0.1622,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 33.3,
        "listPriceYoY": 17.9,
        "inventoryYoY": 75.1,
        "domYoY": 69.4,
        "priceCutShareYoY": 12.7,
        "popChange1yr": 93.1,
        "domesticMigPer1000": 88
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 94.1,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hurricane",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 98.7,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 77.2,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 74.7,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 75.7,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 94.1,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 54.9,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 32.6,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 20.4,
          "rating": "Very Low"
        }
      },
      "homeValue": 344049,
      "homeValue4br": 414355,
      "homeValueYoY": -0.004,
      "dataStatus": "verified",
      "nationalRank": 39,
      "opportunityScore": 50,
      "opportunityBasis": "full",
      "buyerScore": 53,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 25,
        "domYoY": 31,
        "priceCutShareYoY": 87,
        "priceCutShare": 70
      },
      "grossYield": 0.1472,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1412
    },
    {
      "slug": "asheville",
      "city": "Asheville",
      "state": "North Carolina",
      "stateCode": "NC",
      "lat": 35.5951,
      "lng": -82.5515,
      "adr": 255,
      "occupancy": 65,
      "annualRevenue": 60000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Homestay permit (City of Asheville), annual renewal; whole-dwelling short-term rental (STVR) is a separate use permitted only in the resort zoning district",
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/asheville",
      "regUrl": "/regulations/asheville-nc-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Some neighborhoods in Asheville have enacted complete bans",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "ownerOccupancy": "Required for a homestay - owner must live in the dwelling unit full-time and rent only one to two bedrooms",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.ashevillenc.gov/service/apply-for-a-homestay-permit/",
      "countyName": "Buncombe County",
      "countyFips": "37021",
      "seasonalShare": 0.0448,
      "bigHomeShare": 0.1408,
      "tourismJobShare": 0.1368,
      "amenityScore": 77,
      "dining": 424,
      "attractions": 71,
      "outdoors": 106,
      "lodgingCompetition": 89,
      "pop150": 13373516,
      "pop300": 44556303,
      "nearestMetros": [
        {
          "name": "Mecklenburg County, NC",
          "pop": 1115403
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Greenville County, SC",
          "pop": 528251
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          47.4,
          52.8,
          59.3,
          65.4,
          73.2,
          79.5,
          84.7,
          82.7,
          78.1,
          68.4,
          57.2,
          52.1
        ],
        "lowF": [
          29.2,
          32.6,
          36.8,
          40.9,
          51.1,
          57.7,
          62.8,
          62,
          55.9,
          46.6,
          35.6,
          31.8
        ],
        "precipIn": [
          4,
          4.8,
          4.1,
          3.7,
          3.5,
          3.2,
          3.4,
          3.8,
          3.1,
          3.3,
          2.1,
          3.5
        ],
        "snowIn": [
          4,
          2.1,
          0.7,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          0.8
        ],
        "sunHours": [
          6.5,
          6.5,
          8.2,
          10.1,
          10.8,
          11.6,
          11.9,
          11.1,
          10.6,
          8.9,
          8.1,
          6.4
        ]
      },
      "effectiveTaxRate": 0.00612,
      "taxTopCoded": false,
      "annualTax4br": 4135,
      "annualTaxTypical": 2722,
      "lossPer100k": 103,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 27,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.043,
        "listPriceYoY": -0.0067,
        "inventoryYoY": 0.099,
        "domYoY": 0.0541,
        "priceCutShare": 0.2612,
        "priceCutShareYoY": 0.0031,
        "popChange1yr": -0.0065,
        "domesticMigPer1000": -7.36
      },
      "activeListings": 1799,
      "medianDom": 78,
      "medianListPrice": 595000,
      "permitsPer1000Units": 15.59,
      "permitsYoY": -0.4387,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 0.6,
        "listPriceYoY": 67.1,
        "inventoryYoY": 31.2,
        "domYoY": 24.3,
        "priceCutShareYoY": 39.3,
        "popChange1yr": 8,
        "domesticMigPer1000": 15.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "permitRegistry": {
        "active": 894,
        "asOf": "2026-08-26",
        "byType": {
          "In Compliance": 387,
          "Issued": 84,
          "Renewed": 423
        },
        "name": "Homestay Permits",
        "url": "https://data.ashevillenc.gov/",
        "per1000CountyUnits": null,
        "capText": null
      },
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 89.3,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "riverFlood",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 68.6,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 91.7,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 80.6,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 81.3,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 85.4,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 77.1,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 75.2,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 444801,
      "homeValue4br": 675645,
      "homeValueYoY": -0.043,
      "dataStatus": "verified",
      "nationalRank": 40,
      "opportunityScore": 53,
      "opportunityBasis": "full",
      "buyerScore": 73,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 69,
        "domYoY": 76,
        "priceCutShareYoY": 61,
        "priceCutShare": 84
      },
      "grossYield": 0.0888,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0827
    },
    {
      "slug": "big-bear",
      "city": "Big Bear",
      "state": "California",
      "stateCode": "CA",
      "lat": 34.2439,
      "lng": -116.9114,
      "adr": 265,
      "occupancy": 62,
      "annualRevenue": 60000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/big-bear",
      "regUrl": "/regulations/big-bear-ca-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Both jurisdictions require permits, tax registration, and compliance with operational standards including the critical parking and snow removal rules unique to mountain communities.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/big-bear-ca-airbnb-regulations",
      "countyName": "San Bernardino County",
      "countyFips": "06071",
      "seasonalShare": 0.0529,
      "bigHomeShare": 0.2663,
      "tourismJobShare": 0.0907,
      "amenityScore": 67,
      "dining": 76,
      "attractions": 26,
      "outdoors": 325,
      "lodgingCompetition": 28,
      "pop150": 22940138,
      "pop300": 33902770,
      "nearestMetros": [
        {
          "name": "Los Angeles County, CA",
          "pop": 9936690
        },
        {
          "name": "San Diego County, CA",
          "pop": 3289701
        },
        {
          "name": "Orange County, CA",
          "pop": 3175227
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 6,
      "snowMonths": 6,
      "climate": {
        "highF": [
          43,
          41.6,
          43,
          55,
          61.7,
          72.4,
          79.4,
          78.7,
          73.2,
          63.6,
          53.1,
          44.9
        ],
        "lowF": [
          26.9,
          24.7,
          25.9,
          34.7,
          40.4,
          50.3,
          57.9,
          57,
          51.2,
          42.1,
          33.6,
          28.9
        ],
        "precipIn": [
          3.6,
          3.7,
          4.2,
          1.2,
          1.1,
          0.4,
          0.8,
          1.5,
          0.8,
          0.6,
          1.8,
          3.4
        ],
        "snowIn": [
          17.7,
          20,
          20.9,
          6.8,
          2.2,
          0,
          0,
          0,
          0,
          0.1,
          8.2,
          15.7
        ],
        "sunHours": [
          8.5,
          9.4,
          10.3,
          12,
          13.2,
          13.8,
          13.7,
          12.7,
          11.7,
          10.8,
          9.6,
          8.1
        ]
      },
      "effectiveTaxRate": 0.00719,
      "taxTopCoded": false,
      "annualTax4br": 4808,
      "annualTaxTypical": 3947,
      "lossPer100k": 421,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 52,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.006,
        "listPriceYoY": -0.0094,
        "inventoryYoY": -0.045,
        "domYoY": -0.0303,
        "priceCutShare": 0.1867,
        "priceCutShareYoY": 0.0043,
        "popChange1yr": 0.0024,
        "domesticMigPer1000": -2.24
      },
      "activeListings": 6114,
      "medianDom": 64,
      "medianListPrice": 534900,
      "permitsPer1000Units": 8.51,
      "permitsYoY": 0.0022,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 50,
        "listPriceYoY": 63.3,
        "inventoryYoY": 77.5,
        "domYoY": 58.4,
        "priceCutShareYoY": 36.4,
        "popChange1yr": 46.6,
        "domesticMigPer1000": 32.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 6,
      "emergingDriverCount": 2,
      "eventMonths": [],
      "riskScore": 99.8,
      "riskRating": "Very High",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.8,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.9,
          "rating": "Very High"
        },
        "tornado": {
          "score": 78.8,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 99.8,
          "rating": "Very High"
        },
        "winterWeather": {
          "score": 48.4,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 90.9,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 548894,
      "homeValue4br": 668742,
      "homeValueYoY": 0.006,
      "dataStatus": "verified",
      "nationalRank": 41,
      "opportunityScore": 55,
      "opportunityBasis": "full",
      "buyerScore": 43,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 23,
        "domYoY": 42,
        "priceCutShareYoY": 64,
        "priceCutShare": 41
      },
      "grossYield": 0.0897,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0825
    },
    {
      "slug": "ocean-city",
      "city": "Ocean City",
      "state": "Maryland",
      "stateCode": "MD",
      "lat": 38.3365,
      "lng": -75.0849,
      "adr": 275,
      "occupancy": 60,
      "annualRevenue": 60000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/ocean-city",
      "regUrl": "/regulations/ocean-city-md-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Zoning Restrictions Ocean City's zoning ordinance generally permits transient rentals in most zones where residential use is allowed",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/ocean-city-md-airbnb-regulations",
      "countyName": "Worcester County",
      "countyFips": "24047",
      "seasonalShare": 0.5358,
      "bigHomeShare": 0.1545,
      "tourismJobShare": 0.1897,
      "amenityScore": 69,
      "dining": 234,
      "attractions": 31,
      "outdoors": 98,
      "lodgingCompetition": 185,
      "pop150": 22843866,
      "pop300": 61223229,
      "nearestMetros": [
        {
          "name": "Philadelphia County, PA",
          "pop": 1593208
        },
        {
          "name": "Fairfax County, VA",
          "pop": 1145354
        },
        {
          "name": "Montgomery County, MD",
          "pop": 1056910
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          46.5,
          48.8,
          54.4,
          62.8,
          68.7,
          77.9,
          84.7,
          82.5,
          77.2,
          68.7,
          57.7,
          51.3
        ],
        "lowF": [
          33,
          35.3,
          40.3,
          48.1,
          56.3,
          65.9,
          73.2,
          72.2,
          66.2,
          56.3,
          43.9,
          37.7
        ],
        "precipIn": [
          3.8,
          4,
          4,
          3.7,
          3.7,
          3.2,
          4.7,
          3.7,
          3.8,
          4.2,
          2.9,
          4.4
        ],
        "snowIn": [
          4.7,
          1.3,
          0.2,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          0.1
        ],
        "sunHours": [
          6.4,
          6.8,
          8.3,
          9.9,
          10.7,
          12,
          12.4,
          10.8,
          9.9,
          8.2,
          7.8,
          6.4
        ]
      },
      "effectiveTaxRate": 0.00801,
      "taxTopCoded": false,
      "annualTax4br": 5011,
      "annualTaxTypical": 3388,
      "lossPer100k": 114,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 44,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.011,
        "listPriceYoY": -0.029,
        "inventoryYoY": 0.085,
        "domYoY": 0.025,
        "priceCutShare": 0.2031,
        "priceCutShareYoY": -0.0029,
        "popChange1yr": 0.0014,
        "domesticMigPer1000": 6.91
      },
      "activeListings": 740,
      "medianDom": 82,
      "medianListPrice": 459945,
      "permitsPer1000Units": 4.29,
      "permitsYoY": -0.3164,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 19,
        "listPriceYoY": 48,
        "inventoryYoY": 35.8,
        "domYoY": 35.8,
        "priceCutShareYoY": 46.8,
        "popChange1yr": 41.1,
        "domesticMigPer1000": 78.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 68.2,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hurricane",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 92,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": 88,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 50.1,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 65.9,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 16.1,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 49.7,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 74.1,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 11.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 422936,
      "homeValue4br": 625547,
      "homeValueYoY": -0.011,
      "dataStatus": "verified",
      "nationalRank": 42,
      "opportunityScore": 60,
      "opportunityBasis": "full",
      "buyerScore": 59,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 64,
        "domYoY": 64,
        "priceCutShareYoY": 53,
        "priceCutShare": 55
      },
      "grossYield": 0.0959,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0879
    },
    {
      "slug": "lake-blue-ridge",
      "city": "Lake Blue Ridge",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 34.8587,
      "lng": -84.2812,
      "adr": 255,
      "occupancy": 64,
      "annualRevenue": 60000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Accommodation Excise Tax Certificate",
      "tax": "4% state sales tax + $5/night state fee + local hotel-motel tax (6-8%) (Fannin 6%)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/lake-blue-ridge",
      "regUrl": "/regulations/lake-blue-ridge-ga-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Accommodation Excise Tax Certificate — $225/unit",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Fannin County (unincorporated); City of Blue Ridge differs",
      "permitFee": "$225 per unit/yr; $25 late penalty",
      "transfersOnSale": "Yes - $50 fee, apply within 7 days of sale (30-day grace)",
      "statusNote": "GA SB 570 training required for all STR operators from 1 Jul 2026. City of Blue Ridge bans STRs in residential zones.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://fannincountyga.com/lodging-tax-information-page/",
      "countyName": "Fannin County",
      "countyFips": "13111",
      "seasonalShare": 0.2597,
      "bigHomeShare": 0.1657,
      "tourismJobShare": 0.0926,
      "amenityScore": 41,
      "dining": 23,
      "attractions": 5,
      "outdoors": 21,
      "lodgingCompetition": 9,
      "pop150": 15070653,
      "pop300": 39884439,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          49.1,
          54.4,
          61,
          66.6,
          74.2,
          80.2,
          84.1,
          83.2,
          79.2,
          69.3,
          58.5,
          53.1
        ],
        "lowF": [
          33.1,
          37,
          41.6,
          46.4,
          55.7,
          62.5,
          67.1,
          66.2,
          60.5,
          50.5,
          39.6,
          36.1
        ],
        "precipIn": [
          5.2,
          7.2,
          6.4,
          4.4,
          3.6,
          4.3,
          3.7,
          4.8,
          3.3,
          3.7,
          2.6,
          4.8
        ],
        "snowIn": [
          2.4,
          1.3,
          0.2,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          0.5
        ],
        "sunHours": [
          6.2,
          5.9,
          8.1,
          10.1,
          10.8,
          11.3,
          11.5,
          10.9,
          10.5,
          8.8,
          8,
          5.9
        ]
      },
      "effectiveTaxRate": 0.00366,
      "taxTopCoded": false,
      "annualTax4br": 2886,
      "annualTaxTypical": 1825,
      "lossPer100k": 147,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 59,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.021,
        "listPriceYoY": -0.0679,
        "inventoryYoY": 0.1416,
        "domYoY": -0.0734,
        "priceCutShare": 0.1875,
        "priceCutShareYoY": -0.0224,
        "popChange1yr": 0.0057,
        "domesticMigPer1000": 16.14
      },
      "activeListings": 806,
      "medianDom": 82,
      "medianListPrice": 699000,
      "permitsPer1000Units": 19.99,
      "permitsYoY": -0.0872,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 66.7,
        "listPriceYoY": 13,
        "inventoryYoY": 20.5,
        "domYoY": 81.8,
        "priceCutShareYoY": 82.9,
        "popChange1yr": 55.1,
        "domesticMigPer1000": 90.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "GA SB 570 training required for all STR operators from 1 Jul 2026.",
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [
        9,
        10,
        11
      ],
      "riskScore": 56.5,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 58.7,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 66.1,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 76.3,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 63.9,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 72.4,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 26.8,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 43.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 498675,
      "homeValue4br": 788588,
      "homeValueYoY": 0.021,
      "dataStatus": "verified",
      "nationalRank": 43,
      "opportunityScore": 37,
      "opportunityBasis": "full",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 79,
        "domYoY": 19,
        "priceCutShareYoY": 17,
        "priceCutShare": 43
      },
      "grossYield": 0.0761,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0724
    },
    {
      "slug": "orlando",
      "city": "Orlando",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 28.5383,
      "lng": -81.3792,
      "adr": 215,
      "occupancy": 75,
      "annualRevenue": 59000,
      "medianPrice": 355000,
      "regStrictness": 2,
      "regNotes": "Very STR-friendly. County vacation home permit required. Disney-area properties perform strongly.",
      "growthTrend": "+7%",
      "permit": "Business Tax Receipt required",
      "tax": "6% state + 6% tourist development",
      "zoning": "Allowed in resort zones",
      "minStay": "None",
      "occupancyRule": "2 per bedroom + 2",
      "penalties": "Code enforcement fines",
      "restrictions": [
        "Must be in qualifying zoning district",
        "Annual registration with county",
        "Collect and remit tourist development tax"
      ],
      "marketUrl": "/markets/orlando",
      "regUrl": "/regulations/orlando-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$275 first year; $100/year thereafter if the owner lives on the property, $125/year if non-owner-occupied",
      "ownerOccupancy": "Required - the registrant must live on site and be present when hosting guests, with two forms of proof of primary residence; an HOA approval letter is required in mandatory HOAs",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.orlando.gov/Initiatives/Home-Sharing-Registration",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Orange County",
      "countyFips": "12095",
      "seasonalShare": 0.0322,
      "bigHomeShare": 0.2559,
      "tourismJobShare": 0.1671,
      "amenityScore": 91,
      "dining": 882,
      "attractions": 150,
      "outdoors": 357,
      "lodgingCompetition": 242,
      "pop150": 14983191,
      "pop300": 23034341,
      "nearestMetros": [
        {
          "name": "Palm Beach County, FL",
          "pop": 1494805
        },
        {
          "name": "Hillsborough County, FL",
          "pop": 1468560
        },
        {
          "name": "Orange County, FL",
          "pop": 1427403
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 0,
      "climate": {
        "highF": [
          70.1,
          76.6,
          81.1,
          83.1,
          87.3,
          88.5,
          88.5,
          88.7,
          85.8,
          82.5,
          75.7,
          71.8
        ],
        "lowF": [
          52.2,
          57.2,
          60.1,
          63.7,
          68.1,
          73,
          74.8,
          75.3,
          73,
          68.3,
          61.2,
          55.5
        ],
        "precipIn": [
          1.9,
          2.5,
          2.4,
          4.4,
          4.6,
          9.3,
          9.9,
          11.6,
          12.1,
          4,
          4.5,
          3.8
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.5,
          9.1,
          9.9,
          10.7,
          11.8,
          10.3,
          10.4,
          10.1,
          9.6,
          9.6,
          7.9,
          7.9
        ]
      },
      "effectiveTaxRate": 0.0082,
      "taxTopCoded": false,
      "annualTax4br": 4214,
      "annualTaxTypical": 3285,
      "lossPer100k": 125,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": "summed-components",
      "momentumScore": 44,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.012,
        "listPriceYoY": -0.0092,
        "inventoryYoY": -0.0269,
        "domYoY": -0.007,
        "priceCutShare": 0.244,
        "priceCutShareYoY": -0.001,
        "popChange1yr": 0.0046,
        "domesticMigPer1000": -13.33
      },
      "activeListings": 5577,
      "medianDom": 71,
      "medianListPrice": 430000,
      "permitsPer1000Units": 23.25,
      "permitsYoY": 0.6319,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 18.4,
        "listPriceYoY": 64.7,
        "inventoryYoY": 69.4,
        "domYoY": 53.8,
        "priceCutShareYoY": 45.1,
        "popChange1yr": 53.1,
        "domesticMigPer1000": 5.1
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 380124200,
        "priorTtm": null,
        "yoy": null,
        "yoyWithheld": true,
        "period": "2024-10..2025-09",
        "unit": "tax collected USD",
        "geography": "Orange County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://floridarevenue.com/DataPortal/Pages/TaxResearch.aspx"
      },
      "permitRegistry": {
        "active": 109,
        "asOf": "2026-09-21",
        "byType": {
          "Active": 109
        },
        "name": "Short Term Rental Licenses",
        "url": "https://data.cityoforlando.net/d/ssrj-rbua",
        "per1000CountyUnits": null,
        "capText": null
      },
      "driverCount": 10,
      "emergingDriverCount": 1,
      "eventMonths": [
        1,
        2
      ],
      "riskScore": 98.4,
      "riskRating": "Relatively High",
      "topHazards": [
        "tornado",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 98,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 0,
          "rating": "No Rating"
        },
        "riverFlood": {
          "score": 98.4,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 97.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 99.1,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 75.4,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 98.2,
          "rating": "Relatively High"
        }
      },
      "homeValue": 400602,
      "homeValue4br": 513913,
      "homeValueYoY": -0.012,
      "dataStatus": "verified",
      "nationalRank": 44,
      "opportunityScore": 69,
      "opportunityBasis": "full",
      "buyerScore": 52,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 31,
        "domYoY": 47,
        "priceCutShareYoY": 55,
        "priceCutShare": 75
      },
      "grossYield": 0.1148,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1066
    },
    {
      "slug": "new-orleans",
      "city": "New Orleans",
      "state": "Louisiana",
      "stateCode": "LA",
      "lat": 29.9511,
      "lng": -90.0715,
      "adr": 225,
      "occupancy": 72,
      "annualRevenue": 59000,
      "medianPrice": null,
      "regStrictness": 5,
      "regNotes": null,
      "growthTrend": null,
      "permit": "STR License (residential or commercial)",
      "tax": "15.75% combined",
      "zoning": "Banned in some neighborhoods",
      "minStay": "None",
      "occupancyRule": "Based on permit type",
      "penalties": "Up to $500/day + revocation",
      "restrictions": [
        "Banned in French Quarter residential zones",
        "Residential permits limited to 90 days/year",
        "Owner-occupancy required for some areas"
      ],
      "marketUrl": "/markets/new-orleans",
      "regUrl": "/regulations/new-orleans-la-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$50 NSTR application fee; permit fees separate, prorated by lottery quarter and payable within 5 calendar days",
      "strCap": "NSTR permits are rationed per city square by lottery; the city's review checklist also requires that no owner owns any other STR-permitted property in their name",
      "ownerOccupancy": "Required for NSTR - one bedroom must be reserved for the owner's full-time occupancy, and the operator must be present at the time of scheduled bookings",
      "transfersOnSale": "No - short-term rental licences are non-transferable, and forfeiture on sale returns the square to the next lottery",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://nola.gov/short-term-rentals/",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Orleans Parish",
      "countyFips": "22071",
      "seasonalShare": 0.0467,
      "bigHomeShare": 0.1364,
      "tourismJobShare": 0.1549,
      "amenityScore": 88,
      "dining": 1115,
      "attractions": 105,
      "outdoors": 254,
      "lodgingCompetition": 245,
      "pop150": 4934400,
      "pop300": 11413624,
      "nearestMetros": [
        {
          "name": "East Baton Rouge Parish, LA",
          "pop": 454369
        },
        {
          "name": "Jefferson Parish, LA",
          "pop": 436171
        },
        {
          "name": "Mobile County, AL",
          "pop": 413878
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          62.3,
          66.2,
          72.2,
          76.2,
          83.2,
          87.4,
          87.5,
          88.5,
          85.4,
          78.6,
          68.6,
          65
        ],
        "lowF": [
          48.5,
          52.1,
          58.1,
          62.5,
          70.2,
          75.7,
          77.3,
          78.1,
          74.7,
          66.2,
          56,
          52.7
        ],
        "precipIn": [
          3.2,
          5,
          4.7,
          5.2,
          5.3,
          7.5,
          9.4,
          8.9,
          5.4,
          4.6,
          3.3,
          5.2
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.4,
          7.7,
          9.4,
          9.9,
          11,
          11.3,
          10.1,
          9.9,
          10.2,
          9.4,
          8.1,
          7.6
        ]
      },
      "effectiveTaxRate": 0.00791,
      "taxTopCoded": false,
      "annualTax4br": 2248,
      "annualTaxTypical": 1929,
      "lossPer100k": 399,
      "lodgingTaxPct": 15.75,
      "lodgingTaxBasis": "stated-total",
      "momentumScore": 31,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.019,
        "listPriceYoY": -0.0478,
        "inventoryYoY": -0.0936,
        "domYoY": 0.0743,
        "priceCutShare": 0.1681,
        "priceCutShareYoY": 0.0038,
        "popChange1yr": -0.0036,
        "domesticMigPer1000": -7.49
      },
      "activeListings": 1724,
      "medianDom": 94,
      "medianListPrice": 319000,
      "permitsPer1000Units": 4.55,
      "permitsYoY": 0.2423,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 12.4,
        "listPriceYoY": 28.6,
        "inventoryYoY": 87.9,
        "domYoY": 19.1,
        "priceCutShareYoY": 37.6,
        "popChange1yr": 14,
        "domesticMigPer1000": 14.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "other",
      "regChangeYear": 2025,
      "regChangePending": false,
      "regDirectionEvidence": "In 2025, the New Orleans City Council eliminated all exceptions to STR rules, making regulations more uniform and stricter.",
      "regDirectionReviewed": false,
      "permitRegistry": {
        "active": 4004,
        "asOf": "2026-09-21",
        "byType": {
          "Short Term Rental Operator": 1561,
          "Short Term Rental Commercial Owner": 1289,
          "Non-Commercial Short Term Rental": 1154
        },
        "name": "Active Short-Term Rental Licenses",
        "url": "https://data.nola.gov/d/ufdg-ajws",
        "per1000CountyUnits": 20.64,
        "capText": "NSTR permits are rationed per city square by lottery; the city's review checklist also requires that no owner owns any other STR-permitted property in their name"
      },
      "driverCount": 8,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3,
        4,
        5,
        7,
        10,
        11
      ],
      "riskScore": 98.3,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.7,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 81.2,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 93.5,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 48.1,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 71.6,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 80.4,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 84.5,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 92.8,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 243912,
      "homeValue4br": 284256,
      "homeValueYoY": -0.019,
      "dataStatus": "verified",
      "nationalRank": 45,
      "opportunityScore": 42,
      "opportunityBasis": "full",
      "buyerScore": 46,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 13,
        "domYoY": 81,
        "priceCutShareYoY": 63,
        "priceCutShare": 26
      },
      "grossYield": 0.2076,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1997
    },
    {
      "slug": "las-vegas",
      "city": "Las Vegas",
      "state": "Nevada",
      "stateCode": "NV",
      "lat": 36.1699,
      "lng": -115.1398,
      "adr": 225,
      "occupancy": 72,
      "annualRevenue": 59000,
      "medianPrice": 415000,
      "regStrictness": 3,
      "regNotes": "Clark County STR permit required. Many HOA communities prohibit STRs.",
      "growthTrend": "+4%",
      "permit": "STR License required",
      "tax": "13% transient lodging tax",
      "zoning": "Limited residential zones",
      "minStay": "None",
      "occupancyRule": "Based on fire code",
      "penalties": "Up to $1,000/violation",
      "restrictions": [
        "1,000ft distance requirement between STRs",
        "Background check required",
        "Must be residential property owner"
      ],
      "marketUrl": "/markets/las-vegas",
      "regUrl": "/regulations/las-vegas-nv-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$500 per year, per unit, payable in advance",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://library.municode.com/nv/las_vegas/codes/code_of_ordinances?nodeId=TIT6BUTALIRE_CH6.75SHRMRERE",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Clark County",
      "countyFips": "32003",
      "seasonalShare": 0.0274,
      "bigHomeShare": 0.2473,
      "tourismJobShare": 0.2382,
      "amenityScore": 93,
      "dining": 1446,
      "attractions": 129,
      "outdoors": 428,
      "lodgingCompetition": 269,
      "pop150": 4919049,
      "pop300": 33460246,
      "nearestMetros": [
        {
          "name": "Clark County, NV",
          "pop": 2265926
        },
        {
          "name": "San Bernardino County, CA",
          "pop": 2180563
        },
        {
          "name": "Mohave County, AZ",
          "pop": 214229
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 5,
      "snowMonths": 0,
      "climate": {
        "highF": [
          57.6,
          61.5,
          68.2,
          81.4,
          88.6,
          99.4,
          106.4,
          103.7,
          96.3,
          81.9,
          67.6,
          57.2
        ],
        "lowF": [
          38.6,
          40.1,
          47.7,
          57.6,
          64.8,
          74.8,
          82.2,
          79.6,
          72.2,
          58.2,
          47,
          39.4
        ],
        "precipIn": [
          0.7,
          0.6,
          0.8,
          0.1,
          0.1,
          0.2,
          0.2,
          0.8,
          0.5,
          0.1,
          0.6,
          0.5
        ],
        "snowIn": [
          0.1,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.6,
          10.4,
          12.2,
          13,
          13.6,
          13.2,
          12.4,
          11.5,
          10.7,
          9.3,
          7.9
        ]
      },
      "effectiveTaxRate": 0.00515,
      "taxTopCoded": false,
      "annualTax4br": 2576,
      "annualTaxTypical": 2184,
      "lossPer100k": 107,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 46,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.027,
        "listPriceYoY": -0.0094,
        "inventoryYoY": 0.0686,
        "domYoY": 0.0357,
        "priceCutShare": 0.2418,
        "priceCutShareYoY": -0.0002,
        "popChange1yr": 0.009,
        "domesticMigPer1000": 3.55
      },
      "activeListings": 10788,
      "medianDom": 58,
      "medianListPrice": 469000,
      "permitsPer1000Units": 15.67,
      "permitsYoY": -0.0195,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 7.8,
        "listPriceYoY": 63.3,
        "inventoryYoY": 38.2,
        "domYoY": 30.6,
        "priceCutShareYoY": 43.4,
        "popChange1yr": 77.7,
        "domesticMigPer1000": 64
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 13,
      "emergingDriverCount": 2,
      "eventMonths": [
        5,
        9,
        11,
        12
      ],
      "riskScore": 99.6,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.6,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.1,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 9.2,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 99.1,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 61.6,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 97.3,
          "rating": "Relatively High"
        }
      },
      "homeValue": 423985,
      "homeValue4br": 500282,
      "homeValueYoY": -0.027,
      "dataStatus": "verified",
      "nationalRank": 46,
      "opportunityScore": 65,
      "opportunityBasis": "full",
      "buyerScore": 65,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 62,
        "domYoY": 69,
        "priceCutShareYoY": 56,
        "priceCutShare": 74
      },
      "grossYield": 0.1179,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1128
    },
    {
      "slug": "bend",
      "city": "Bend",
      "state": "Oregon",
      "stateCode": "OR",
      "lat": 44.0582,
      "lng": -121.3153,
      "adr": 245,
      "occupancy": 66,
      "annualRevenue": 59000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/bend",
      "regUrl": "/regulations/bend-or-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "strict cap per zone",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/bend-or-airbnb-regulations",
      "countyName": "Deschutes County",
      "countyFips": "41017",
      "seasonalShare": 0.1087,
      "bigHomeShare": 0.1741,
      "tourismJobShare": 0.1132,
      "amenityScore": 70,
      "dining": 270,
      "attractions": 22,
      "outdoors": 159,
      "lodgingCompetition": 59,
      "pop150": 4308823,
      "pop300": 12798037,
      "nearestMetros": [
        {
          "name": "Multnomah County, OR",
          "pop": 808098
        },
        {
          "name": "Washington County, OR",
          "pop": 599541
        },
        {
          "name": "Clark County, WA",
          "pop": 504091
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 6,
      "snowMonths": 5,
      "climate": {
        "highF": [
          43,
          41.5,
          45.2,
          54.7,
          63.2,
          73.1,
          83.7,
          83,
          73.5,
          61,
          48.2,
          41.5
        ],
        "lowF": [
          28.9,
          25.1,
          27,
          33.4,
          40.5,
          48,
          54.3,
          55.5,
          48,
          39.2,
          32.2,
          28.3
        ],
        "precipIn": [
          3.2,
          2.5,
          1.6,
          2.2,
          1.9,
          1.2,
          0.2,
          0.3,
          1.2,
          1.3,
          3.3,
          3.8
        ],
        "snowIn": [
          9.9,
          13.9,
          7.4,
          3.8,
          1.1,
          0.5,
          0,
          0,
          0.3,
          0.2,
          6.8,
          11.1
        ],
        "sunHours": [
          5.9,
          7.2,
          8.9,
          10.7,
          11.7,
          13.3,
          14.2,
          12.9,
          10.9,
          9,
          6.5,
          5.1
        ]
      },
      "effectiveTaxRate": 0.00671,
      "taxTopCoded": false,
      "annualTax4br": 5787,
      "annualTaxTypical": 4455,
      "lossPer100k": 109,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 53,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.008,
        "listPriceYoY": -0.0559,
        "inventoryYoY": 0.0073,
        "domYoY": -0.0127,
        "priceCutShare": 0.2129,
        "priceCutShareYoY": -0.0087,
        "popChange1yr": 0.0089,
        "domesticMigPer1000": 7.79
      },
      "activeListings": 2194,
      "medianDom": 78,
      "medianListPrice": 736400,
      "permitsPer1000Units": 27.12,
      "permitsYoY": 0.585,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 27.9,
        "listPriceYoY": 17.3,
        "inventoryYoY": 61.8,
        "domYoY": 54.6,
        "priceCutShareYoY": 52.6,
        "popChange1yr": 77.1,
        "domesticMigPer1000": 81.7
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "permitRegistry": {
        "active": 1519,
        "asOf": "2026-09-21",
        "byType": {
          "Short Term Rental - Whole House": 661,
          "Short Term Rental - Owner-Occupied & Infrequent": 34,
          "Short Term Rental - Owner-Occupied": 48,
          "Short Term Rental - Vacation Home Rental": 557,
          "Short Term Rental - Infrequent": 19,
          "Short Term Rental - Vacation Room Rental": 23,
          "Short Term Rental - MBV, Courtyards, Deschutes Landing": 177
        },
        "name": "Short Term Rental Table",
        "url": "https://data-cobgis.opendata.arcgis.com/",
        "per1000CountyUnits": null,
        "capText": null
      },
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 84.9,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 88.9,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 97.8,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 8.7,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 83,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 86.6,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 79.8,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 663952,
      "homeValue4br": 862453,
      "homeValueYoY": -0.008,
      "dataStatus": "verified",
      "nationalRank": 47,
      "opportunityScore": 42,
      "opportunityBasis": "full",
      "buyerScore": 48,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 39,
        "domYoY": 46,
        "priceCutShareYoY": 47,
        "priceCutShare": 60
      },
      "grossYield": 0.0684,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0617
    },
    {
      "slug": "galveston",
      "city": "Galveston",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 29.3013,
      "lng": -94.7977,
      "adr": 245,
      "occupancy": 65,
      "annualRevenue": 58000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/galveston",
      "regUrl": "/regulations/galveston-tx-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "The city requires registration for all STR properties and collects a 7% city Hotel Occupancy Tax (HOT) on top of state and county taxes.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/galveston-tx-airbnb-regulations",
      "countyName": "Galveston County",
      "countyFips": "48167",
      "seasonalShare": 0.0549,
      "bigHomeShare": 0.2578,
      "tourismJobShare": 0.0944,
      "amenityScore": 66,
      "dining": 99,
      "attractions": 38,
      "outdoors": 84,
      "lodgingCompetition": 56,
      "pop150": 8793600,
      "pop300": 29270292,
      "nearestMetros": [
        {
          "name": "Harris County, TX",
          "pop": 4726177
        },
        {
          "name": "Fort Bend County, TX",
          "pop": 832607
        },
        {
          "name": "Montgomery County, TX",
          "pop": 629989
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          62.1,
          61.8,
          69.1,
          74.6,
          80.4,
          86.2,
          86.5,
          87.7,
          85.4,
          78.2,
          68.9,
          64.6
        ],
        "lowF": [
          52.3,
          52.1,
          60.3,
          66.3,
          73.2,
          78.9,
          80.6,
          81.4,
          78.5,
          70.4,
          61.3,
          56.3
        ],
        "precipIn": [
          4.4,
          3.5,
          3.5,
          5.6,
          6.7,
          5.7,
          5.8,
          3.8,
          6.5,
          6.2,
          6.3,
          4.3
        ],
        "snowIn": [
          0,
          0.2,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.3,
          7.1,
          8.4,
          9.5,
          10.4,
          11.3,
          11.1,
          11.3,
          10,
          9.4,
          7.8,
          7.7
        ]
      },
      "effectiveTaxRate": 0.01532,
      "taxTopCoded": false,
      "annualTax4br": 5999,
      "annualTaxTypical": 4860,
      "lossPer100k": 172,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 64,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.014,
        "listPriceYoY": -0.0269,
        "inventoryYoY": -0.0803,
        "domYoY": -0.0513,
        "priceCutShare": 0.1998,
        "priceCutShareYoY": -0.0037,
        "popChange1yr": 0.0132,
        "domesticMigPer1000": 9.31
      },
      "activeListings": 3274,
      "medianDom": 74,
      "medianListPrice": 399900,
      "permitsPer1000Units": 16.1,
      "permitsYoY": -0.1979,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 17,
        "listPriceYoY": 51.4,
        "inventoryYoY": 84.4,
        "domYoY": 70.8,
        "priceCutShareYoY": 48,
        "popChange1yr": 88.6,
        "domesticMigPer1000": 84.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 26863679,
        "priorTtm": 27023237,
        "yoy": -0.0059,
        "period": "FY2025",
        "unit": "tax collected USD",
        "geography": "Galveston",
        "locations": 972,
        "smallPropertyShare": null,
        "sourceUrl": "https://data.texas.gov/d/er34-v24h"
      },
      "driverCount": 5,
      "emergingDriverCount": 1,
      "eventMonths": [
        3
      ],
      "riskScore": 95.4,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 97,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 88.6,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 93.6,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 84.9,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 96.9,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 56.4,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 15.9,
          "rating": "Very Low"
        },
        "hail": {
          "score": 68.5,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 317249,
      "homeValue4br": 391586,
      "homeValueYoY": -0.014,
      "dataStatus": "verified",
      "nationalRank": 48,
      "opportunityScore": 53,
      "opportunityBasis": "full",
      "buyerScore": 37,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 16,
        "domYoY": 30,
        "priceCutShareYoY": 52,
        "priceCutShare": 51
      },
      "grossYield": 0.1481,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1328
    },
    {
      "slug": "savannah",
      "city": "Savannah",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 32.0809,
      "lng": -81.0912,
      "adr": 235,
      "occupancy": 68,
      "annualRevenue": 58000,
      "medianPrice": 340000,
      "regStrictness": 2,
      "regNotes": "STR-friendly and fast-growing. Business license and city registration required.",
      "growthTrend": "+11%",
      "permit": "STVR Certificate required",
      "tax": "7% hotel/motel tax",
      "zoning": "Residential cap by zone",
      "minStay": "Minimum 1 night",
      "occupancyRule": "2 per bedroom + 2",
      "penalties": "Up to $1,000/day",
      "restrictions": [
        "STVR certificates capped in historic district",
        "Must have local property manager",
        "Annual renewal and inspection"
      ],
      "marketUrl": "/markets/savannah",
      "regUrl": "/regulations/savannah-ga-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$400.00 non-refundable new application fee; $250.00 non-refundable annual renewal fee; $50.00 Zoning Confirmation Letter request fee",
      "strCap": "20% per-ward cap on non-owner-occupied parcels in the Downtown Historic District and the Victorian Historic District, in force since September 29, 2017. Owner-occupied parcels are exempt. A published list of wards has already met the cap; a first-come, first-served waiting list applies in capped wards.",
      "ownerOccupancy": "Not required generally, but owner-occupied parcels are exempt from the 20% per-ward cap. In the Streetcar local historic district, all STVRs on TN-2 parcels must have two or more dwelling units, one of which must be owner-occupied.",
      "transfersOnSale": "No - 'Per Sec. 8-11012 of City Code, STVR certificates remain non-transferable.' A new owner of a parcel with a pre-existing certificate who applies within six months of title transfer will not be denied on per-ward-cap grounds.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.savannahga.gov/3437/Short-Term-Vacation-Rentals-STVR",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Chatham County",
      "countyFips": "13051",
      "seasonalShare": 0.0245,
      "bigHomeShare": 0.1797,
      "tourismJobShare": 0.1325,
      "amenityScore": 77,
      "dining": 334,
      "attractions": 46,
      "outdoors": 210,
      "lodgingCompetition": 105,
      "pop150": 5335843,
      "pop300": 36558645,
      "nearestMetros": [
        {
          "name": "Duval County, FL",
          "pop": 995708
        },
        {
          "name": "Richland County, SC",
          "pop": 416161
        },
        {
          "name": "Charleston County, SC",
          "pop": 409840
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 10,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.8,
          66.6,
          71.6,
          76.2,
          82.9,
          86.9,
          90.2,
          88.1,
          84.6,
          78.3,
          68,
          63.5
        ],
        "lowF": [
          44.4,
          48.7,
          53.2,
          57,
          64.9,
          71.3,
          74.5,
          74.4,
          69.2,
          61.5,
          50.9,
          46.6
        ],
        "precipIn": [
          2.9,
          3.4,
          3.9,
          3.8,
          2.7,
          6.3,
          6.1,
          7.1,
          5.4,
          3.3,
          3.8,
          4.5
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.7,
          7.4,
          9.1,
          10.7,
          11.4,
          10.7,
          11.3,
          10.6,
          10,
          9.3,
          7.8,
          7.2
        ]
      },
      "effectiveTaxRate": 0.00943,
      "taxTopCoded": false,
      "annualTax4br": 3888,
      "annualTaxTypical": 3162,
      "lossPer100k": 382,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 32,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.032,
        "listPriceYoY": -0.0472,
        "inventoryYoY": 0.2308,
        "domYoY": 0.2154,
        "priceCutShare": 0.2319,
        "priceCutShareYoY": -0.0143,
        "popChange1yr": 0.0073,
        "domesticMigPer1000": 0.16
      },
      "activeListings": 1760,
      "medianDom": 79,
      "medianListPrice": 399000,
      "permitsPer1000Units": 32.98,
      "permitsYoY": 0.6447,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 5.2,
        "listPriceYoY": 29.8,
        "inventoryYoY": 11.3,
        "domYoY": 3.8,
        "priceCutShareYoY": 69.4,
        "popChange1yr": 62.6,
        "domesticMigPer1000": 40.9
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": 2023,
      "regChangePending": false,
      "regDirectionEvidence": "Tax Rate Stability: The 8% hotel-motel tax rate (increased in 2023) remains in effect",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 97.4,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.4,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 96,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 90.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 92.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 77.4,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 94.4,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 67.9,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 69.1,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 335273,
      "homeValue4br": 412252,
      "homeValueYoY": -0.032,
      "dataStatus": "verified",
      "nationalRank": 49,
      "opportunityScore": 59,
      "opportunityBasis": "full",
      "buyerScore": 71,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 89,
        "domYoY": 96,
        "priceCutShareYoY": 31,
        "priceCutShare": 69
      },
      "grossYield": 0.1407,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1313
    },
    {
      "slug": "sevierville",
      "city": "Sevierville",
      "state": "Tennessee",
      "stateCode": "TN",
      "lat": 35.8681,
      "lng": -83.562,
      "adr": 245,
      "occupancy": 64,
      "annualRevenue": 57000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/sevierville",
      "regUrl": "/regulations/sevierville-tn-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Every operator renting a property for less than 30 consecutive days in Sevierville must obtain a City of Sevierville business license.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/sevierville-tn-airbnb-regulations",
      "countyName": "Sevier County",
      "countyFips": "47155",
      "seasonalShare": 0.1419,
      "bigHomeShare": 0.1487,
      "tourismJobShare": 0.2335,
      "amenityScore": 66,
      "dining": 149,
      "attractions": 56,
      "outdoors": 44,
      "lodgingCompetition": 127,
      "pop150": 12480963,
      "pop300": 47316151,
      "nearestMetros": [
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        },
        {
          "name": "DeKalb County, GA",
          "pop": 761209
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          49.7,
          55.4,
          62.5,
          68.9,
          77.5,
          84.5,
          88.8,
          87.1,
          83,
          72.4,
          59.9,
          54.2
        ],
        "lowF": [
          33.1,
          36.1,
          40.7,
          46.6,
          57,
          64.2,
          69.1,
          68,
          62.2,
          51.5,
          39.2,
          35.6
        ],
        "precipIn": [
          5,
          6.7,
          5.9,
          4,
          4.6,
          3.6,
          4.5,
          5.3,
          2.8,
          3.7,
          2.6,
          4.3
        ],
        "snowIn": [
          2.9,
          1.1,
          0.7,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.6,
          0.9
        ],
        "sunHours": [
          5.8,
          5.9,
          8,
          9.8,
          10.7,
          11.8,
          11.8,
          11.2,
          10.5,
          8.7,
          8,
          6.1
        ]
      },
      "effectiveTaxRate": 0.00338,
      "taxTopCoded": false,
      "annualTax4br": 2206,
      "annualTaxTypical": 1378,
      "lossPer100k": 124,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 29,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.002,
        "listPriceYoY": -0.0771,
        "inventoryYoY": 0.0444,
        "domYoY": 0.0549,
        "priceCutShare": 0.287,
        "priceCutShareYoY": 0.0182,
        "popChange1yr": 0.0012,
        "domesticMigPer1000": -3.11
      },
      "activeListings": 2164,
      "medianDom": 96,
      "medianListPrice": 599900,
      "permitsPer1000Units": 20.08,
      "permitsYoY": -0.2096,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 35.9,
        "listPriceYoY": 10.1,
        "inventoryYoY": 49.4,
        "domYoY": 22.8,
        "priceCutShareYoY": 18.8,
        "popChange1yr": 38.9,
        "domesticMigPer1000": 28.3
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 7,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 77.4,
      "riskRating": "Relatively Low",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 56.5,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 84.1,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 78.7,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 70.9,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 90,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 81.2,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 56.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 407695,
      "homeValue4br": 652572,
      "homeValueYoY": -0.002,
      "dataStatus": "verified",
      "nationalRank": 50,
      "opportunityScore": 55,
      "opportunityBasis": "full",
      "buyerScore": 76,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 51,
        "domYoY": 77,
        "priceCutShareYoY": 81,
        "priceCutShare": 95
      },
      "grossYield": 0.0873,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0839
    },
    {
      "slug": "chelan-county",
      "city": "Chelan County",
      "state": "Washington",
      "stateCode": "WA",
      "lat": 47.8399,
      "lng": -120.016,
      "adr": 235,
      "occupancy": 66,
      "annualRevenue": 57000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Tiered STR permit - one application window a year (1 Jun-31 Jul)",
      "tax": "State + local sales and lodging taxes; $1M liability insurance required (RCW 64.37)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/chelan-county",
      "regUrl": "/regulations/chelan-county-wa-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Capped permit — one application window a year",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Chelan County (unincorporated)",
      "strCap": "6% of housing units; Leavenworth / Lake Wenatchee / Plain already over cap",
      "transfersOnSale": "No - transfers end 26 Sep 2026",
      "statusNote": "Permit transferability ends 26 Sep 2026.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.co.chelan.wa.us/community-development/pages/short-term-rental-statistics",
      "countyName": "Chelan County",
      "countyFips": "53007",
      "seasonalShare": 0.1469,
      "bigHomeShare": 0.2054,
      "tourismJobShare": 0.1071,
      "amenityScore": 57,
      "dining": 41,
      "attractions": 16,
      "outdoors": 180,
      "lodgingCompetition": 16,
      "pop150": 6757103,
      "pop300": 11597198,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Snohomish County, WA",
          "pop": 828337
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 4,
      "climate": {
        "highF": [
          34.6,
          36.3,
          48.2,
          58.9,
          70.7,
          79.1,
          88.5,
          88.7,
          76.4,
          60.7,
          42.9,
          33.7
        ],
        "lowF": [
          26.6,
          25.6,
          33.2,
          40,
          48.4,
          56.1,
          63.2,
          64.8,
          57.7,
          46.2,
          32.8,
          25.8
        ],
        "precipIn": [
          3.7,
          1.9,
          0.7,
          0.7,
          0.9,
          0.5,
          0.2,
          0.2,
          1,
          1.6,
          2.9,
          3
        ],
        "snowIn": [
          17.6,
          7.3,
          2.8,
          0.6,
          0,
          0,
          0,
          0,
          0,
          1.5,
          7.6,
          15.2
        ],
        "sunHours": [
          4.3,
          7.1,
          9.4,
          10.8,
          12.1,
          13.9,
          14.4,
          13,
          10.4,
          8.6,
          5.5,
          3.8
        ]
      },
      "effectiveTaxRate": 0.00748,
      "taxTopCoded": false,
      "annualTax4br": 5333,
      "annualTaxTypical": 4001,
      "lossPer100k": 363,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 40,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.005,
        "listPriceYoY": -0.0286,
        "inventoryYoY": 0.1657,
        "domYoY": 0.2267,
        "priceCutShare": 0.1606,
        "priceCutShareYoY": -0.0131,
        "popChange1yr": 0.0069,
        "domesticMigPer1000": 0.91
      },
      "activeListings": 619,
      "medianDom": 92,
      "medianListPrice": 679000,
      "permitsPer1000Units": 20.83,
      "permitsYoY": 0.0276,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 32.5,
        "listPriceYoY": 49.1,
        "inventoryYoY": 19.1,
        "domYoY": 2.6,
        "priceCutShareYoY": 65.6,
        "popChange1yr": 61.1,
        "domesticMigPer1000": 50.9
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "sunset",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Permit transferability ends 26 Sep 2026.",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 90.9,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 91.3,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 9.3,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 88.8,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 76.1,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 67.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 534896,
      "homeValue4br": 713004,
      "homeValueYoY": -0.005,
      "dataStatus": "verified",
      "nationalRank": 51,
      "opportunityScore": 37,
      "opportunityBasis": "full",
      "buyerScore": 58,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 81,
        "domYoY": 97,
        "priceCutShareYoY": 34,
        "priceCutShare": 20
      },
      "grossYield": 0.0799,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0724
    },
    {
      "slug": "ellijay",
      "city": "Ellijay",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 34.6948,
      "lng": -84.4824,
      "adr": 235,
      "occupancy": 66,
      "annualRevenue": 57000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "County: STR Host License (Ch. 45, from 1 Jul 2025). City: conditional use permit only",
      "tax": "4% state sales tax + $5/night state fee + local hotel-motel tax (6-8%)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/ellijay",
      "regUrl": "/regulations/ellijay-ga-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "County host licence — but banned in city residential zones",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Gilmer County (unincorporated) + City of Ellijay",
      "strCap": "City bans STRs in residential zones (500 ft neighbour notice for CUP)",
      "statusNote": "GA SB 570 training required for all STR operators from 1 Jul 2026. County enforcement began 1 Jan 2026.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://gilmercounty-ga.gov/short-term-rental/",
      "countyName": "Gilmer County",
      "countyFips": "13123",
      "seasonalShare": 0.184,
      "bigHomeShare": 0.1519,
      "tourismJobShare": 0.065,
      "amenityScore": 41,
      "dining": 33,
      "attractions": 7,
      "outdoors": 11,
      "lodgingCompetition": 5,
      "pop150": 14875007,
      "pop300": 39200358,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          50.1,
          55.4,
          62.3,
          68,
          76.1,
          81.8,
          85.6,
          84.4,
          80.6,
          70.6,
          59.9,
          53.8
        ],
        "lowF": [
          34.2,
          38.2,
          43.1,
          47.7,
          57.1,
          64,
          67.9,
          67.3,
          61.8,
          52.5,
          41.4,
          37.6
        ],
        "precipIn": [
          6.9,
          9.2,
          8.6,
          6,
          5.1,
          6.8,
          6,
          6.7,
          4,
          4.8,
          3.2,
          6.9
        ],
        "snowIn": [
          1.2,
          1.1,
          0.2,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          0.3
        ],
        "sunHours": [
          6.2,
          5.8,
          8,
          10,
          10.8,
          11,
          11.2,
          10.7,
          10.4,
          8.8,
          8,
          5.9
        ]
      },
      "effectiveTaxRate": 0.00411,
      "taxTopCoded": false,
      "annualTax4br": 2287,
      "annualTaxTypical": 1679,
      "lossPer100k": 173,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 62,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.008,
        "listPriceYoY": 0.0419,
        "inventoryYoY": 0.0893,
        "domYoY": -0.0449,
        "priceCutShare": 0.2049,
        "priceCutShareYoY": 0.0013,
        "popChange1yr": 0.012,
        "domesticMigPer1000": 13.02
      },
      "activeListings": 634,
      "medianDom": 85,
      "medianListPrice": 519900,
      "permitsPer1000Units": 11.88,
      "permitsYoY": 1.1633,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 27.9,
        "listPriceYoY": 86.7,
        "inventoryYoY": 34.1,
        "domYoY": 65.9,
        "priceCutShareYoY": 42.8,
        "popChange1yr": 86.9,
        "domesticMigPer1000": 86.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "GA SB 570 training required for all STR operators from 1 Jul 2026. County enforcement began 1 Jan 2026.",
      "regDirectionReviewed": false,
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [
        9,
        10,
        11
      ],
      "riskScore": 68.1,
      "riskRating": "Relatively Low",
      "topHazards": [
        "riverFlood",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 59.6,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 75.3,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 71.3,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 75.3,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 72,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 30.6,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 58,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 408440,
      "homeValue4br": 556388,
      "homeValueYoY": -0.008,
      "dataStatus": "verified",
      "nationalRank": 52,
      "opportunityScore": 23,
      "opportunityBasis": "full",
      "buyerScore": 53,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 66,
        "domYoY": 35,
        "priceCutShareYoY": 57,
        "priceCutShare": 55
      },
      "grossYield": 0.1024,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0983
    },
    {
      "slug": "lake-havasu-city",
      "city": "Lake Havasu City",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 34.4839,
      "lng": -114.3225,
      "adr": 265,
      "occupancy": 58,
      "annualRevenue": 56000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Vacation Rental Permit (City Code Ch. 5.20)",
      "tax": "State TPT + county + city lodging tax; TPT licence must list each address",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Up to $500 / $1,000 / $3,500 (or 1/2/3 nights rent) per verified violation",
      "restrictions": null,
      "marketUrl": "/markets/lake-havasu-city",
      "regUrl": "/regulations/lake-havasu-city-az-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "What Lake Havasu City can do — and does — is require registration or licensing, collect lodging taxes and enforce nuisance rules.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "jurisdiction": "Lake Havasu City",
      "permitFee": "$250/yr per property",
      "strCap": "None - caps barred by state law (A.R.S. 9-500.39)",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.lhcaz.gov/172/Vacation-Rentals",
      "countyName": "Mohave County",
      "countyFips": "04015",
      "seasonalShare": 0.141,
      "bigHomeShare": 0.0998,
      "tourismJobShare": 0.1509,
      "amenityScore": 44,
      "dining": 40,
      "attractions": 2,
      "outdoors": 47,
      "lodgingCompetition": 23,
      "pop150": 12159539,
      "pop300": 33055985,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Riverside County, CA",
          "pop": 2429487
        },
        {
          "name": "Clark County, NV",
          "pop": 2265926
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          63.4,
          67.4,
          73.6,
          86.7,
          93.4,
          103.5,
          109.3,
          107.5,
          100.3,
          87,
          73.5,
          63.2
        ],
        "lowF": [
          44.6,
          46.7,
          53.3,
          63.4,
          70.8,
          80.2,
          87.9,
          86.5,
          79.1,
          64.9,
          52.8,
          45.2
        ],
        "precipIn": [
          0.8,
          0.4,
          1.2,
          0,
          0,
          0,
          0.3,
          0.4,
          0.3,
          0.1,
          0.5,
          0.6
        ],
        "snowIn": [
          0,
          0,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.9,
          9.7,
          10.6,
          12.4,
          12.9,
          13.5,
          13,
          12.5,
          11.5,
          10.7,
          9.5,
          8
        ]
      },
      "effectiveTaxRate": 0.00512,
      "taxTopCoded": false,
      "annualTax4br": 2349,
      "annualTaxTypical": 1797,
      "lossPer100k": 166,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 59,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.022,
        "listPriceYoY": -0.0228,
        "inventoryYoY": -0.0055,
        "domYoY": 0.0467,
        "priceCutShare": 0.1992,
        "priceCutShareYoY": 0.0145,
        "popChange1yr": 0.0081,
        "domesticMigPer1000": 18.45
      },
      "activeListings": 1454,
      "medianDom": 79,
      "medianListPrice": 399900,
      "permitsPer1000Units": 15.39,
      "permitsYoY": -0.2855,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 68.1,
        "listPriceYoY": 56.1,
        "inventoryYoY": 66.5,
        "domYoY": 27.7,
        "priceCutShareYoY": 25.1,
        "popChange1yr": 73.1,
        "domesticMigPer1000": 94.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 94.8,
      "riskRating": "Relatively High",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 97.1,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 98.8,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 3.3,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 87.1,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 91.4,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 51.1,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 350952,
      "homeValue4br": 458833,
      "homeValueYoY": 0.022,
      "dataStatus": "verified",
      "nationalRank": 53,
      "opportunityScore": 46,
      "opportunityBasis": "full",
      "buyerScore": 58,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 34,
        "domYoY": 72,
        "priceCutShareYoY": 75,
        "priceCutShare": 50
      },
      "grossYield": 0.122,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1169
    },
    {
      "slug": "phoenix",
      "city": "Phoenix",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 33.4484,
      "lng": -112.074,
      "adr": 225,
      "occupancy": 68,
      "annualRevenue": 56000,
      "medianPrice": 395000,
      "regStrictness": 2,
      "regNotes": "State preemption prevents local STR bans. Transaction privilege tax applies.",
      "growthTrend": "+5%",
      "permit": "City of Phoenix Short-Term Rental Permit, Planning & Development Department, applied for through the SHAPE PHX portal; the City must issue or deny within 7 days of receiving all application documents, and denial, non-renewal or suspension may be appealed. Requires an Affidavit & Attestation, a Description/Map of Safety Equipment, Owners Designee Authorization, and an Attestation of Compliance evidencing certified-mail Notice of Intent to neighbouring properties and to HOAs and registered neighbourhood associations within a 600-foot radius.",
      "tax": "Arizona TPT licence required as a submittal item; rental status must also be updated with the Maricopa County Assessor",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Court-adjudicated violations: first minimum $500 or one night's rental fee; second minimum $1,000 or two nights'; third minimum $3,500 or three nights'. Permit may be suspended for 12 months after three court-adjudicated violations in a 12-month period, or one conviction of a felony or other serious crime within one year.",
      "restrictions": null,
      "marketUrl": "/markets/phoenix",
      "regUrl": "/regulations/phoenix-az-airbnb-regulations",
      "sources": [
        "market-page",
        "comparison",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$250 non-refundable, initial and renewal, per permit",
      "strCap": "No cap - A.R.S. 9-500.39: 'A city or town may not prohibit vacation rentals or short-term rentals.'",
      "ownerOccupancy": "Property owner must live on site for an Accessory Dwelling Unit to be used as an STR. Effective 4 April 2026, where the ADU has a certificate of occupancy issued on or after 14 September 2024, the owner must submit a notarised attestation that they will reside on the same property, with proof of address.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.phoenix.gov/administration/departments/pdd/registration-licensing/short-term-rental-registry.html",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Maricopa County",
      "countyFips": "04013",
      "seasonalShare": 0.0358,
      "bigHomeShare": 0.2619,
      "tourismJobShare": 0.093,
      "amenityScore": 96,
      "dining": 1325,
      "attractions": 143,
      "outdoors": 653,
      "lodgingCompetition": 217,
      "pop150": 6457359,
      "pop300": 18018883,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pima County, AZ",
          "pop": 1042393
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65,
          67.5,
          74.3,
          87.4,
          94.1,
          103.9,
          106.4,
          104.5,
          99.5,
          88.8,
          77.1,
          65.3
        ],
        "lowF": [
          41.8,
          43.2,
          49.6,
          59.6,
          67.9,
          77.6,
          84.8,
          82.9,
          76.4,
          62.6,
          51.9,
          43.8
        ],
        "precipIn": [
          1.1,
          1.2,
          1.6,
          0.1,
          0,
          0.1,
          2.9,
          1.7,
          1.2,
          0.3,
          0.8,
          2
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.6,
          10.4,
          12.5,
          12.9,
          13.2,
          12,
          12,
          11.3,
          10.7,
          9.4,
          8
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 2798,
      "annualTaxTypical": 2313,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0495,
        "inventoryYoY": 0.0564,
        "domYoY": -0.0563,
        "priceCutShare": 0.277,
        "priceCutShareYoY": -0.0097,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 0.2
      },
      "activeListings": 15125,
      "medianDom": 67,
      "medianListPrice": 499000,
      "permitsPer1000Units": 17.38,
      "permitsYoY": -0.13,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 25.4,
        "inventoryYoY": 42.8,
        "domYoY": 74.6,
        "priceCutShareYoY": 55.5,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 44
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 26.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 84,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 456252,
      "homeValue4br": 551940,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 54,
      "opportunityScore": 58,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 57,
        "domYoY": 26,
        "priceCutShareYoY": 44,
        "priceCutShare": 90
      },
      "grossYield": 0.1015,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0964
    },
    {
      "slug": "port-aransas",
      "city": "Port Aransas",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 27.8339,
      "lng": -97.0611,
      "adr": 235,
      "occupancy": 64,
      "annualRevenue": 55000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/port-aransas",
      "regUrl": "/regulations/port-aransas-tx-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "The city requires an STR permit and business license for all vacation rental operations.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/port-aransas-tx-airbnb-regulations",
      "countyName": "Nueces County",
      "countyFips": "48355",
      "seasonalShare": 0.031,
      "bigHomeShare": 0.1522,
      "tourismJobShare": 0.1047,
      "amenityScore": 49,
      "dining": 44,
      "attractions": 8,
      "outdoors": 35,
      "lodgingCompetition": 36,
      "pop150": 6147412,
      "pop300": 17509793,
      "nearestMetros": [
        {
          "name": "Bexar County, TX",
          "pop": 2014059
        },
        {
          "name": "Hidalgo County, TX",
          "pop": 873167
        },
        {
          "name": "Fort Bend County, TX",
          "pop": 832607
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65.1,
          64,
          71.1,
          76.6,
          81.5,
          85.9,
          87.3,
          88.3,
          86.5,
          80.8,
          71.3,
          67.7
        ],
        "lowF": [
          54.6,
          52.9,
          62.2,
          68,
          74.7,
          79.3,
          81.2,
          81.5,
          78.4,
          71,
          61.7,
          57
        ],
        "precipIn": [
          3.1,
          1.7,
          2.2,
          3.3,
          4.7,
          2.7,
          5.1,
          3.3,
          3.8,
          3.1,
          4.3,
          2.4
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.4,
          7.5,
          8.5,
          9.9,
          11.2,
          12,
          11.9,
          12,
          10.6,
          9.8,
          8.1,
          8.2
        ]
      },
      "effectiveTaxRate": 0.01748,
      "taxTopCoded": false,
      "annualTax4br": 6052,
      "annualTaxTypical": 3959,
      "lossPer100k": 196,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 34,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.003,
        "listPriceYoY": -0.0409,
        "inventoryYoY": 0.0136,
        "domYoY": 0.0526,
        "priceCutShare": 0.1978,
        "priceCutShareYoY": 0.0177,
        "popChange1yr": 0.0002,
        "domesticMigPer1000": -4.04
      },
      "activeListings": 2616,
      "medianDom": 100,
      "medianListPrice": 340000,
      "permitsPer1000Units": 9.85,
      "permitsYoY": -0.0906,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 43.4,
        "listPriceYoY": 35.3,
        "inventoryYoY": 57.2,
        "domYoY": 24.9,
        "priceCutShareYoY": 21.1,
        "popChange1yr": 33.7,
        "domesticMigPer1000": 24
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "riskScore": 96.6,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 98.6,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 72.2,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 93.3,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 74,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 96.1,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 46.1,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 82.8,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 91.6,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 226477,
      "homeValue4br": 346245,
      "homeValueYoY": 0.003,
      "dataStatus": "verified",
      "nationalRank": 55,
      "opportunityScore": 42,
      "opportunityBasis": "full",
      "buyerScore": 62,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 43,
        "domYoY": 75,
        "priceCutShareYoY": 79,
        "priceCutShare": 49
      },
      "grossYield": 0.1588,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1413
    },
    {
      "slug": "helen",
      "city": "Helen",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 34.7029,
      "lng": -83.7282,
      "adr": 215,
      "occupancy": 70,
      "annualRevenue": 55000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "County: STR Host License (STR-specific insurance required). City: occupational tax",
      "tax": "4% state sales tax + $5/night state fee + local hotel-motel tax (6-8%) (Helen 8%)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/helen",
      "regUrl": "/regulations/helen-ga-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "County host licence / city occupational tax",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "City of Helen + White County (unincorporated)",
      "statusNote": "GA SB 570 training required for all STR operators from 1 Jul 2026. County requires 24/7 contact with 2-hour response.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://whitecountyga.gov/363/Short-Term-Rental-Host-License",
      "countyName": "White County",
      "countyFips": "13311",
      "seasonalShare": 0.1489,
      "bigHomeShare": 0.1766,
      "tourismJobShare": 0.1321,
      "amenityScore": 67,
      "dining": 45,
      "attractions": 42,
      "outdoors": 207,
      "lodgingCompetition": 23,
      "pop150": 14807700,
      "pop300": 41659750,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 0,
      "climate": {
        "highF": [
          51.4,
          56,
          62.6,
          68.7,
          76.2,
          81.9,
          86.1,
          85,
          80.7,
          71,
          60.7,
          54.4
        ],
        "lowF": [
          35.5,
          39,
          43.8,
          48.5,
          57.8,
          64.8,
          69,
          68.2,
          62.8,
          53.6,
          43.1,
          38.5
        ],
        "precipIn": [
          6.8,
          8.5,
          7.4,
          6.2,
          5,
          4.9,
          4,
          6.6,
          4,
          5.8,
          3.8,
          6.5
        ],
        "snowIn": [
          2.4,
          1.4,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2
        ],
        "sunHours": [
          6.5,
          6,
          7.8,
          10,
          10.6,
          11.1,
          11.5,
          10.7,
          10.1,
          8.6,
          7.8,
          6.1
        ]
      },
      "effectiveTaxRate": 0.00677,
      "taxTopCoded": false,
      "annualTax4br": 3233,
      "annualTaxTypical": 2204,
      "lossPer100k": 110,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 46,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.022,
        "listPriceYoY": -0.0373,
        "inventoryYoY": 0.0638,
        "domYoY": 0.2609,
        "priceCutShare": 0.2306,
        "priceCutShareYoY": 0.0063,
        "popChange1yr": 0.0065,
        "domesticMigPer1000": 8.78
      },
      "activeListings": 317,
      "medianDom": 87,
      "medianListPrice": 385000,
      "permitsPer1000Units": 13.77,
      "permitsYoY": 0.0556,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 68.1,
        "listPriceYoY": 37.6,
        "inventoryYoY": 39.3,
        "domYoY": 0.6,
        "priceCutShareYoY": 34.1,
        "popChange1yr": 58.6,
        "domesticMigPer1000": 84
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "GA SB 570 training required for all STR operators from 1 Jul 2026. County requires 24/7 contact with 2-hour response.",
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [
        9,
        10,
        11
      ],
      "riskScore": 45.7,
      "riskRating": "Relatively Low",
      "topHazards": [
        "tornado",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 58.3,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 46.2,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 50.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 61.3,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 59.9,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 12.3,
          "rating": "Very Low"
        },
        "hail": {
          "score": 44.6,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 325524,
      "homeValue4br": 477541,
      "homeValueYoY": 0.022,
      "dataStatus": "verified",
      "nationalRank": 56,
      "opportunityScore": 46,
      "opportunityBasis": "full",
      "buyerScore": 73,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 61,
        "domYoY": 99,
        "priceCutShareYoY": 66,
        "priceCutShare": 67
      },
      "grossYield": 0.1152,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1084
    },
    {
      "slug": "virginia-beach",
      "city": "Virginia Beach",
      "state": "Virginia",
      "stateCode": "VA",
      "lat": 36.8529,
      "lng": -75.978,
      "adr": 235,
      "occupancy": 62,
      "annualRevenue": 53000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/virginia-beach",
      "regUrl": "/regulations/virginia-beach-va-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Virginia Beach requires a conditional use permit (CUP) approved by City Council for most new STR properties.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/virginia-beach-va-airbnb-regulations",
      "countyName": "Virginia Beach city",
      "countyFips": "51810",
      "seasonalShare": 0.0161,
      "bigHomeShare": 0.3135,
      "tourismJobShare": 0.1056,
      "amenityScore": 73,
      "dining": 437,
      "attractions": 22,
      "outdoors": 164,
      "lodgingCompetition": 83,
      "pop150": 6978065,
      "pop300": 53328953,
      "nearestMetros": [
        {
          "name": "Prince George's County, MD",
          "pop": 957189
        },
        {
          "name": "Virginia Beach city, VA",
          "pop": 457900
        },
        {
          "name": "Chesterfield County, VA",
          "pop": 366019
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          50.2,
          53.4,
          58.7,
          66.1,
          72,
          79.7,
          85.9,
          83.5,
          78.6,
          70.1,
          59.9,
          54.4
        ],
        "lowF": [
          37.7,
          40,
          44.8,
          52,
          59.7,
          68.1,
          74,
          73.3,
          68.8,
          59.4,
          48.2,
          41.7
        ],
        "precipIn": [
          4.3,
          4.1,
          3,
          3.8,
          3.1,
          3.7,
          4.5,
          4.6,
          5.2,
          2.5,
          3.2,
          4.2
        ],
        "snowIn": [
          2.3,
          0.6,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.8,
          6.6,
          8.6,
          10.4,
          11.1,
          11.8,
          12.4,
          10.9,
          9.9,
          8.5,
          7.7,
          6.9
        ]
      },
      "effectiveTaxRate": 0.0082,
      "taxTopCoded": false,
      "annualTax4br": 4286,
      "annualTaxTypical": 3506,
      "lossPer100k": 59,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 41,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.033,
        "listPriceYoY": 0.1078,
        "inventoryYoY": 0.2477,
        "domYoY": 0.0286,
        "priceCutShare": 0.2512,
        "priceCutShareYoY": 0.0244,
        "popChange1yr": -0.0001,
        "domesticMigPer1000": -4.65
      },
      "activeListings": 1098,
      "medianDom": 36,
      "medianListPrice": 498500,
      "permitsPer1000Units": 2.3,
      "permitsYoY": -0.3453,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 80.2,
        "listPriceYoY": 97.4,
        "inventoryYoY": 7.8,
        "domYoY": 35,
        "priceCutShareYoY": 13.6,
        "popChange1yr": 32.3,
        "domesticMigPer1000": 21.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 1,
      "eventMonths": [],
      "riskScore": 57.9,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hurricane",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 88.9,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": 67.4,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 27.9,
          "rating": "Very Low"
        },
        "wildfire": {
          "score": 55.8,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 66.7,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 67.5,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 37.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 54.7,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 427536,
      "homeValue4br": 522685,
      "homeValueYoY": 0.033,
      "dataStatus": "verified",
      "nationalRank": 57,
      "opportunityScore": 44,
      "opportunityBasis": "full",
      "buyerScore": 81,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 92,
        "domYoY": 65,
        "priceCutShareYoY": 86,
        "priceCutShare": 79
      },
      "grossYield": 0.1014,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0932
    },
    {
      "slug": "jacksonville-beach",
      "city": "Jacksonville Beach",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 30.2947,
      "lng": -81.3931,
      "adr": 215,
      "occupancy": 68,
      "annualRevenue": 53000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Vacation Rental Certificate (Ord. 2019-8118) + Fire Marshal inspection",
      "tax": "FL sales tax + Duval Tourist Tax; DBPR licence required",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "2 per bedroom + 2, max 16",
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/jacksonville-beach",
      "regUrl": "/regulations/jacksonville-beach-fl-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Short-Term Vacation Rental Certificate ($150/yr)",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "City of Jacksonville Beach",
      "permitFee": "$150/yr + $79.20/yr Local Business Tax Receipt",
      "statusNote": "Renewal due 1 October.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.jacksonvillebeach.org/394/Short-Term-Vacation-Rentals",
      "countyName": "Duval County",
      "countyFips": "12031",
      "seasonalShare": 0.0108,
      "bigHomeShare": 0.1992,
      "tourismJobShare": 0.1035,
      "amenityScore": 66,
      "dining": 206,
      "attractions": 14,
      "outdoors": 138,
      "lodgingCompetition": 61,
      "pop150": 8196820,
      "pop300": 28741086,
      "nearestMetros": [
        {
          "name": "Orange County, FL",
          "pop": 1427403
        },
        {
          "name": "Duval County, FL",
          "pop": 995708
        },
        {
          "name": "Brevard County, FL",
          "pop": 610723
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65.1,
          70,
          73.6,
          76.9,
          82.4,
          86.1,
          88.1,
          87.6,
          84.4,
          79,
          71.2,
          67.2
        ],
        "lowF": [
          50,
          54.3,
          58.1,
          61.9,
          67.8,
          73.4,
          75.7,
          76,
          73.4,
          67.3,
          59.1,
          53.1
        ],
        "precipIn": [
          2,
          3.2,
          3.1,
          3.2,
          2.7,
          5.3,
          6.5,
          6.9,
          6.8,
          2.9,
          3.8,
          2.5
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.3,
          8.5,
          9.8,
          10.7,
          11.9,
          11,
          11.1,
          10.7,
          9.8,
          9.7,
          7.8,
          7.6
        ]
      },
      "effectiveTaxRate": 0.00804,
      "taxTopCoded": false,
      "annualTax4br": 3141,
      "annualTaxTypical": 2368,
      "lossPer100k": 121,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 67,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": -0.007,
        "listPriceYoY": -0.0299,
        "inventoryYoY": -0.1466,
        "domYoY": -0.1159,
        "priceCutShare": 0.244,
        "priceCutShareYoY": -0.0688,
        "popChange1yr": 0.0078,
        "domesticMigPer1000": 0.1
      },
      "activeListings": 3888,
      "medianDom": 61,
      "medianListPrice": 300620,
      "permitsPer1000Units": 13.76,
      "permitsYoY": -0.0736,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 30.7,
        "listPriceYoY": 46,
        "inventoryYoY": 94.5,
        "domYoY": 90.5,
        "priceCutShareYoY": 99.1,
        "popChange1yr": 71.4,
        "domesticMigPer1000": 39.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Confirm the current position directly with City of Jacksonville Beach, Duval County before you buy or list — short-term rental rules in this market have changed within the last few years.",
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 32248178.43,
        "priorTtm": null,
        "yoy": null,
        "yoyWithheld": true,
        "period": "2025-02..2026-01",
        "unit": "tax collected USD",
        "geography": "Duval County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://floridarevenue.com/DataPortal/Pages/TaxResearch.aspx"
      },
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 97.2,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 97.7,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 91,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 97.6,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 89.9,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 91.5,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 90.2,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 7.9,
          "rating": "Very Low"
        },
        "hail": {
          "score": 96.2,
          "rating": "Relatively High"
        }
      },
      "homeValue": 294579,
      "homeValue4br": 390703,
      "homeValueYoY": -0.007,
      "dataStatus": "verified",
      "nationalRank": 58,
      "opportunityScore": 42,
      "opportunityBasis": "full",
      "buyerScore": 23,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 6,
        "domYoY": 10,
        "priceCutShareYoY": 1,
        "priceCutShare": 75
      },
      "grossYield": 0.1357,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1277
    },
    {
      "slug": "dahlonega",
      "city": "Dahlonega",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 34.5328,
      "lng": -83.9849,
      "adr": 225,
      "occupancy": 63,
      "annualRevenue": 52000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "County: Business and STR License (Land Use Permit first). City: STR licence",
      "tax": "4% state sales tax + $5/night state fee + local hotel-motel tax (6-8%) (Lumpkin 8%)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/dahlonega",
      "regUrl": "/regulations/dahlonega-ga-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "County licence / city licence — banned in city R-1",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "City of Dahlonega + Lumpkin County (unincorporated)",
      "permitFee": "County: $175 first property + $100 each additional",
      "strCap": "City bans STRs in R-1 single-family zoning",
      "statusNote": "GA SB 570 training required for all STR operators from 1 Jul 2026.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.lumpkincounty.gov/531/Short-Term-Rentals",
      "countyName": "Lumpkin County",
      "countyFips": "13187",
      "seasonalShare": 0.0589,
      "bigHomeShare": 0.2163,
      "tourismJobShare": 0.121,
      "amenityScore": 51,
      "dining": 32,
      "attractions": 10,
      "outdoors": 55,
      "lodgingCompetition": 7,
      "pop150": 15051630,
      "pop300": 39509786,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 0,
      "climate": {
        "highF": [
          51.3,
          56.2,
          62.9,
          68.9,
          76.5,
          82.1,
          86.4,
          85.3,
          80.8,
          71.1,
          60.8,
          54.3
        ],
        "lowF": [
          35.3,
          38.5,
          43.6,
          47.7,
          57.2,
          64.1,
          68.3,
          67.8,
          62.2,
          53.1,
          42.4,
          38.1
        ],
        "precipIn": [
          7,
          8,
          7,
          5.8,
          5,
          5.1,
          4.1,
          6.4,
          3.9,
          5.5,
          3.6,
          6.5
        ],
        "snowIn": [
          1.7,
          1.1,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1
        ],
        "sunHours": [
          6.4,
          5.8,
          7.8,
          10.1,
          10.5,
          11,
          11.3,
          10.5,
          10.1,
          8.6,
          7.8,
          6
        ]
      },
      "effectiveTaxRate": 0.00725,
      "taxTopCoded": false,
      "annualTax4br": 3491,
      "annualTaxTypical": 2838,
      "lossPer100k": 113,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 39,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.013,
        "listPriceYoY": -0.0432,
        "inventoryYoY": 0.0864,
        "domYoY": 0.2523,
        "priceCutShare": 0.3321,
        "priceCutShareYoY": 0.0485,
        "popChange1yr": 0.0065,
        "domesticMigPer1000": 7.04
      },
      "activeListings": 176,
      "medianDom": 67,
      "medianListPrice": 477445,
      "permitsPer1000Units": 20.48,
      "permitsYoY": -0.0253,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 60.6,
        "listPriceYoY": 32.9,
        "inventoryYoY": 35.3,
        "domYoY": 1.2,
        "priceCutShareYoY": 2.3,
        "popChange1yr": 58.6,
        "domesticMigPer1000": 80
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "GA SB 570 training required for all STR operators from 1 Jul 2026.",
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [
        9,
        10,
        11
      ],
      "riskScore": 44.9,
      "riskRating": "Relatively Low",
      "topHazards": [
        "tornado",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 43.1,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 50.5,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 46,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 61.7,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 57.6,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 14.8,
          "rating": "Very Low"
        },
        "hail": {
          "score": 43,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 391466,
      "homeValue4br": 481473,
      "homeValueYoY": 0.013,
      "dataStatus": "verified",
      "nationalRank": 59,
      "opportunityScore": 35,
      "opportunityBasis": "full",
      "buyerScore": 90,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 65,
        "domYoY": 99,
        "priceCutShareYoY": 97,
        "priceCutShare": 100
      },
      "grossYield": 0.108,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1007
    },
    {
      "slug": "austin",
      "city": "Austin",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 30.2672,
      "lng": -97.7431,
      "adr": 225,
      "occupancy": 62,
      "annualRevenue": 51000,
      "medianPrice": 485000,
      "regStrictness": 3,
      "regNotes": "Type 1 and Type 2 permits required. Type 2 restricted in some residential zones.",
      "growthTrend": "+4%",
      "permit": "STR License required (Type 1, 2, or 3)",
      "tax": "15% Hotel Occupancy Tax",
      "zoning": "Restricted in some residential areas",
      "minStay": "None",
      "occupancyRule": "Based on fire code",
      "penalties": "Up to $2,000/violation",
      "restrictions": [
        "Type 2 licenses capped in residential areas",
        "Must display license number on listings",
        "Annual renewal required"
      ],
      "marketUrl": "/markets/austin",
      "regUrl": "/regulations/austin-tx-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "regSourceUrl": "https://stragenthub.com/regulations/austin-tx-airbnb-regulations",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Travis County",
      "countyFips": "48453",
      "seasonalShare": 0.0115,
      "bigHomeShare": 0.2119,
      "tourismJobShare": 0.0896,
      "amenityScore": 93,
      "dining": 1505,
      "attractions": 99,
      "outdoors": 512,
      "lodgingCompetition": 211,
      "pop150": 13518682,
      "pop300": 28279836,
      "nearestMetros": [
        {
          "name": "Harris County, TX",
          "pop": 4726177
        },
        {
          "name": "Bexar County, TX",
          "pop": 2014059
        },
        {
          "name": "Travis County, TX",
          "pop": 1289054
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          62.4,
          62.6,
          73.5,
          79.1,
          85.1,
          92.3,
          95.6,
          97.3,
          91.7,
          81.5,
          69.4,
          66.1
        ],
        "lowF": [
          43.6,
          42.5,
          53.6,
          59.1,
          67.5,
          73.7,
          76.9,
          78.1,
          73.2,
          61.8,
          51.3,
          46.9
        ],
        "precipIn": [
          3.4,
          2.9,
          3.1,
          5.8,
          8.2,
          4.3,
          2.4,
          3.9,
          3.1,
          4.8,
          3.3,
          2.3
        ],
        "snowIn": [
          0.4,
          1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.2,
          6.8,
          7.6,
          8.7,
          9.4,
          11.1,
          11.9,
          11.6,
          10.5,
          9,
          7.1,
          7
        ]
      },
      "effectiveTaxRate": 0.0161,
      "taxTopCoded": false,
      "annualTax4br": 9279,
      "annualTaxTypical": 7504,
      "lossPer100k": 108,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.04,
        "listPriceYoY": -0.1073,
        "inventoryYoY": -0.0502,
        "domYoY": 0.0137,
        "priceCutShare": 0.2504,
        "priceCutShareYoY": -0.0486,
        "popChange1yr": 0.0107,
        "domesticMigPer1000": -4.79
      },
      "activeListings": 6231,
      "medianDom": 74,
      "medianListPrice": 499900,
      "permitsPer1000Units": 26.34,
      "permitsYoY": -0.1137,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 1.4,
        "listPriceYoY": 3.8,
        "inventoryYoY": 80.3,
        "domYoY": 44.5,
        "priceCutShareYoY": 94.8,
        "popChange1yr": 84.6,
        "domesticMigPer1000": 20.6
      },
      "supplyCaution": true,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "lodgingReceipts": {
        "ttm": 132150026.77,
        "priorTtm": 133357408.04,
        "yoy": -0.0091,
        "period": "FY2025",
        "unit": "tax collected USD",
        "geography": "Austin",
        "locations": 2627,
        "smallPropertyShare": null,
        "sourceUrl": "https://data.texas.gov/d/er34-v24h"
      },
      "permitRegistry": {
        "active": 2992,
        "asOf": "2026-09-20",
        "byType": {
          "Short Term Rental Type 1-A": 97,
          "Short Term Rental Type 3": 737,
          "Short Term Rental Type 2 Commercial": 23,
          "Short Term Rental Type 1-Secondary": 192,
          "Short Term Rental Type 2 Residential": 1156,
          "Short Term Rental Type 1": 787
        },
        "name": "Active Short Term Rental Counts (City of Austin Development Services)",
        "url": "https://datahub.austintexas.gov/d/mydx-h5dy",
        "per1000CountyUnits": null,
        "capText": null
      },
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [
        3,
        4,
        10
      ],
      "riskScore": 97.7,
      "riskRating": "Relatively High",
      "topHazards": [
        "tornado",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 77.1,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 98.3,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 90.8,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 99.7,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 53.5,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 80.4,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 99.4,
          "rating": "Very High"
        }
      },
      "homeValue": 466106,
      "homeValue4br": 576339,
      "homeValueYoY": -0.04,
      "dataStatus": "verified",
      "nationalRank": 60,
      "opportunityScore": 45,
      "opportunityBasis": "full",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 20,
        "domYoY": 56,
        "priceCutShareYoY": 5,
        "priceCutShare": 77
      },
      "grossYield": 0.0885,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0724
    },
    {
      "slug": "myrtle-beach",
      "city": "Myrtle Beach",
      "state": "South Carolina",
      "stateCode": "SC",
      "lat": 33.6891,
      "lng": -78.8867,
      "adr": 225,
      "occupancy": 62,
      "annualRevenue": 51000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/myrtle-beach",
      "regUrl": "/regulations/myrtle-beach-sc-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "STRs are prohibited in most residential zones.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/myrtle-beach-sc-airbnb-regulations",
      "countyName": "Horry County",
      "countyFips": "45051",
      "seasonalShare": 0.2054,
      "bigHomeShare": 0.1506,
      "tourismJobShare": 0.1877,
      "amenityScore": 76,
      "dining": 375,
      "attractions": 54,
      "outdoors": 128,
      "lodgingCompetition": 246,
      "pop150": 7051739,
      "pop300": 26261701,
      "nearestMetros": [
        {
          "name": "Wake County, NC",
          "pop": 1132103
        },
        {
          "name": "Richland County, SC",
          "pop": 416161
        },
        {
          "name": "Charleston County, SC",
          "pop": 409840
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          57.4,
          61.7,
          66.6,
          72.4,
          78.8,
          83.4,
          86.7,
          85.4,
          82,
          75.2,
          65.3,
          60.7
        ],
        "lowF": [
          42.6,
          46.2,
          50.7,
          56.1,
          64.3,
          70.5,
          74.6,
          74.2,
          68.8,
          60.7,
          49.8,
          45.1
        ],
        "precipIn": [
          3.8,
          4.2,
          3.1,
          3.6,
          3.5,
          6.5,
          7.3,
          7.6,
          7.3,
          2.5,
          3.5,
          4.8
        ],
        "snowIn": [
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.3,
          7.4,
          8.7,
          11.1,
          11.5,
          11.2,
          11.3,
          10.5,
          10.1,
          9.3,
          8.2,
          7.4
        ]
      },
      "effectiveTaxRate": 0.00346,
      "taxTopCoded": false,
      "annualTax4br": 1517,
      "annualTaxTypical": 1107,
      "lossPer100k": 339,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 63,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.002,
        "listPriceYoY": -0.0308,
        "inventoryYoY": 0.0105,
        "domYoY": 0,
        "priceCutShare": 0.2083,
        "priceCutShareYoY": -0.0072,
        "popChange1yr": 0.032,
        "domesticMigPer1000": 34.33
      },
      "activeListings": 5794,
      "medianDom": 82,
      "medianListPrice": 315000,
      "permitsPer1000Units": 31.49,
      "permitsYoY": -0.1119,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 42.2,
        "listPriceYoY": 43.6,
        "inventoryYoY": 59.5,
        "domYoY": 49.7,
        "priceCutShareYoY": 51.4,
        "popChange1yr": 97.1,
        "domesticMigPer1000": 98.9
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "other",
      "regChangeYear": 2024,
      "regChangePending": false,
      "regDirectionEvidence": "In late 2024, Myrtle Beach passed a groundbreaking ordinance banning the conversion of short-term rental buildings to long-term rentals in key areas of the city.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 98.2,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.6,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 87.6,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 92,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 89.9,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 96.7,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 95.9,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 95.9,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 44.5,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 319813,
      "homeValue4br": 438420,
      "homeValueYoY": 0.002,
      "dataStatus": "verified",
      "nationalRank": 61,
      "opportunityScore": 42,
      "opportunityBasis": "full",
      "buyerScore": 50,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 41,
        "domYoY": 51,
        "priceCutShareYoY": 48,
        "priceCutShare": 58
      },
      "grossYield": 0.1163,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1128
    },
    {
      "slug": "atlanta",
      "city": "Atlanta",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 33.749,
      "lng": -84.388,
      "adr": 195,
      "occupancy": 72,
      "annualRevenue": 51000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/atlanta",
      "regUrl": "/regulations/atlanta-ga-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Non-owner-occupied properties face stricter regulations, including additional zoning restrictions and a requirement for a local responsible party available 24/7.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://dor.georgia.gov/sales-tax-rates-general",
      "countyName": "Fulton County",
      "countyFips": "13121",
      "seasonalShare": 0.0084,
      "bigHomeShare": 0.2646,
      "tourismJobShare": 0.0891,
      "amenityScore": 93,
      "dining": 1446,
      "attractions": 101,
      "outdoors": 571,
      "lodgingCompetition": 219,
      "pop150": 14569451,
      "pop300": 37047007,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 0,
      "climate": {
        "highF": [
          53.6,
          58.9,
          65,
          70.8,
          79.3,
          84.4,
          87.5,
          87,
          82.4,
          73,
          62.2,
          56.5
        ],
        "lowF": [
          37.1,
          41,
          46.1,
          50.1,
          59.8,
          67,
          70.9,
          70.5,
          64.6,
          55,
          43.6,
          39.8
        ],
        "precipIn": [
          5.2,
          7.1,
          5.6,
          4.9,
          4.3,
          5.2,
          8.3,
          6.6,
          5.5,
          4.1,
          3.2,
          5.2
        ],
        "snowIn": [
          0.4,
          0.3,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.4,
          6.1,
          8.1,
          10.4,
          10.9,
          10.9,
          11,
          10.6,
          10,
          8.7,
          7.9,
          6.1
        ]
      },
      "effectiveTaxRate": 0.00912,
      "taxTopCoded": false,
      "annualTax4br": 5326,
      "annualTaxTypical": 3786,
      "lossPer100k": 77,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 49,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.016,
        "listPriceYoY": 0.0131,
        "inventoryYoY": -0.0179,
        "domYoY": 0.0492,
        "priceCutShare": 0.2272,
        "priceCutShareYoY": -0.0101,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": -2.8
      },
      "activeListings": 5996,
      "medianDom": 64,
      "medianListPrice": 395000,
      "permitsPer1000Units": 19.57,
      "permitsYoY": -0.1656,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 14.7,
        "listPriceYoY": 76.9,
        "inventoryYoY": 67.1,
        "domYoY": 26,
        "priceCutShareYoY": 58.4,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 30.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 7,
      "emergingDriverCount": 0,
      "eventMonths": [
        9
      ],
      "riskScore": 95.8,
      "riskRating": "Relatively High",
      "topHazards": [
        "riverFlood",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 74.9,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 97.7,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 52.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 97,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 96,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 72.4,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 95.9,
          "rating": "Relatively High"
        }
      },
      "homeValue": 415115,
      "homeValue4br": 584018,
      "homeValueYoY": -0.016,
      "dataStatus": "verified",
      "nationalRank": 62,
      "opportunityScore": 48,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 33,
        "domYoY": 74,
        "priceCutShareYoY": 41,
        "priceCutShare": 66
      },
      "grossYield": 0.0873,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0782
    },
    {
      "slug": "st-george",
      "city": "St. George",
      "state": "Utah",
      "stateCode": "UT",
      "lat": 37.0965,
      "lng": -113.5684,
      "adr": 215,
      "occupancy": 64,
      "annualRevenue": 50000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/st-george",
      "regUrl": "/regulations/st-george-ut-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "The city requires a conditional use permit for STRs in most residential zones",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/st-george-ut-airbnb-regulations",
      "countyName": "Washington County",
      "countyFips": "49053",
      "seasonalShare": 0.1214,
      "bigHomeShare": 0.3504,
      "tourismJobShare": 0.1027,
      "amenityScore": 73,
      "dining": 179,
      "attractions": 48,
      "outdoors": 155,
      "lodgingCompetition": 60,
      "pop150": 2927227,
      "pop300": 16115298,
      "nearestMetros": [
        {
          "name": "Clark County, NV",
          "pop": 2265926
        },
        {
          "name": "Mohave County, AZ",
          "pop": 214229
        },
        {
          "name": "Washington County, UT",
          "pop": 183297
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 5,
      "snowMonths": 0,
      "climate": {
        "highF": [
          52.1,
          56.6,
          63.5,
          77.9,
          86.2,
          97.4,
          103.9,
          101.1,
          94,
          78.6,
          63.3,
          53
        ],
        "lowF": [
          34.9,
          35.4,
          42.7,
          52.2,
          61.3,
          72,
          79.7,
          76.6,
          68.8,
          53.6,
          42.9,
          36.7
        ],
        "precipIn": [
          1.3,
          1.4,
          1.8,
          0.4,
          0.2,
          0,
          0.3,
          0.3,
          0.2,
          0.4,
          1.1,
          1.2
        ],
        "snowIn": [
          0.3,
          1.8,
          0.9,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          0.4
        ],
        "sunHours": [
          8.2,
          9.4,
          9.8,
          12.2,
          12.8,
          13.7,
          13.1,
          12.5,
          11.7,
          10.6,
          9.1,
          7.6
        ]
      },
      "effectiveTaxRate": 0.0046,
      "taxTopCoded": false,
      "annualTax4br": 2815,
      "annualTaxTypical": 2421,
      "lossPer100k": 318,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 63,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.008,
        "listPriceYoY": -0.0079,
        "inventoryYoY": 0.0896,
        "domYoY": 0.0385,
        "priceCutShare": 0.1878,
        "priceCutShareYoY": -0.0311,
        "popChange1yr": 0.0251,
        "domesticMigPer1000": 22.62
      },
      "activeListings": 1946,
      "medianDom": 81,
      "medianListPrice": 615000,
      "permitsPer1000Units": 37.71,
      "permitsYoY": -0.0936,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 27.9,
        "listPriceYoY": 66.5,
        "inventoryYoY": 33.5,
        "domYoY": 30.1,
        "priceCutShareYoY": 89.6,
        "popChange1yr": 96,
        "domesticMigPer1000": 94.9
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "enforcement",
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The city has increased enforcement activity in response to the growth of vacation rentals in residential neighborhoods.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 92.8,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 93.4,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 99.8,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 6,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 81.1,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 47.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 5.6,
          "rating": "Very Low"
        }
      },
      "homeValue": 526405,
      "homeValue4br": 612027,
      "homeValueYoY": -0.008,
      "dataStatus": "verified",
      "nationalRank": 63,
      "opportunityScore": 47,
      "opportunityBasis": "full",
      "buyerScore": 48,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 67,
        "domYoY": 70,
        "priceCutShareYoY": 11,
        "priceCutShare": 44
      },
      "grossYield": 0.0817,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0771
    },
    {
      "slug": "mesa",
      "city": "Mesa",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 33.4152,
      "lng": -111.8315,
      "adr": 195,
      "occupancy": 70,
      "annualRevenue": 50000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental License (MCC 5-15)",
      "tax": "State TPT + county + city lodging tax; TPT licence must list each address",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Up to $500 / $1,000 / $3,500 (or 1/2/3 nights rent) per verified violation",
      "restrictions": null,
      "marketUrl": "/markets/mesa",
      "regUrl": "/regulations/mesa-az-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Mesa adopted a short-term rental licence under Mesa City Code Chapter 5, Article 15, effective 1 February 2023.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "jurisdiction": "City of Mesa",
      "permitFee": "Set by city (state cap $250)",
      "strCap": "None - caps barred by state law (A.R.S. 9-500.39)",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.mesaaz.gov/Business-Development/Licensing/Short-Term-Rental-License",
      "countyName": "Maricopa County",
      "countyFips": "04013",
      "seasonalShare": 0.0358,
      "bigHomeShare": 0.2619,
      "tourismJobShare": 0.093,
      "amenityScore": 97,
      "dining": 1584,
      "attractions": 114,
      "outdoors": 1865,
      "lodgingCompetition": 197,
      "pop150": 6514680,
      "pop300": 18238753,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pima County, AZ",
          "pop": 1042393
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65.4,
          67.4,
          74.3,
          87.3,
          94,
          103.8,
          106.2,
          104.3,
          99.6,
          89,
          77.4,
          65.9
        ],
        "lowF": [
          43.5,
          44.4,
          50.4,
          59.8,
          67.9,
          77.5,
          84.5,
          82.7,
          76.6,
          63.9,
          53.7,
          45.5
        ],
        "precipIn": [
          1.4,
          1.3,
          1.4,
          0.1,
          0,
          0.1,
          2.1,
          1.7,
          1.4,
          0.4,
          0.9,
          2
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.5,
          10.2,
          12.5,
          12.8,
          13.2,
          12,
          11.9,
          11.3,
          10.6,
          9.4,
          7.9
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 2798,
      "annualTaxTypical": 2313,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0495,
        "inventoryYoY": 0.0564,
        "domYoY": -0.0563,
        "priceCutShare": 0.277,
        "priceCutShareYoY": -0.0097,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 0.2
      },
      "activeListings": 15125,
      "medianDom": 67,
      "medianListPrice": 499000,
      "permitsPer1000Units": 17.38,
      "permitsYoY": -0.13,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 25.4,
        "inventoryYoY": 42.8,
        "domYoY": 74.6,
        "priceCutShareYoY": 55.5,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 44
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 26.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 84,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 456252,
      "homeValue4br": 551940,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 64,
      "opportunityScore": 54,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 57,
        "domYoY": 26,
        "priceCutShareYoY": 44,
        "priceCutShare": 90
      },
      "grossYield": 0.0906,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0855
    },
    {
      "slug": "queen-creek",
      "city": "Queen Creek",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 33.2487,
      "lng": -111.6343,
      "adr": 210,
      "occupancy": 65,
      "annualRevenue": 50000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Registration only - licence and fees removed",
      "tax": "State TPT + county + city lodging tax; TPT licence must list each address",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Up to $500 / $1,000 / $3,500 (or 1/2/3 nights rent) per verified violation",
      "restrictions": null,
      "marketUrl": "/markets/queen-creek",
      "regUrl": "/regulations/queen-creek-az-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Queen Creek introduced short-term rental requirements in late 2022, then amended them to remove the licence and its associated fees. Operators must still register the property with the town.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Town of Queen Creek",
      "permitFee": "None",
      "strCap": "None - caps barred by state law (A.R.S. 9-500.39)",
      "statusNote": "Pending AZ SB 1076 could allow caps in towns under 70,000.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.queencreekaz.gov/government/development-services/planning-and-zoning/short-term-rentals",
      "countyName": "Maricopa County",
      "countyFips": "04013",
      "seasonalShare": 0.0358,
      "bigHomeShare": 0.2619,
      "tourismJobShare": 0.093,
      "amenityScore": 76,
      "dining": 325,
      "attractions": 9,
      "outdoors": 1702,
      "lodgingCompetition": 14,
      "pop150": 6640184,
      "pop300": 18315366,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pima County, AZ",
          "pop": 1042393
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65.2,
          67.1,
          73.8,
          86.5,
          93.3,
          103.1,
          105.6,
          103.8,
          99,
          88.4,
          76.9,
          65.5
        ],
        "lowF": [
          42.4,
          43.8,
          49.7,
          58.9,
          66.9,
          76.3,
          82.9,
          81.3,
          75.5,
          62.7,
          52.3,
          44
        ],
        "precipIn": [
          1.2,
          1.4,
          1.3,
          0.1,
          0.1,
          0,
          1.7,
          1.7,
          1.4,
          0.4,
          1,
          1.8
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.7,
          9.6,
          10.3,
          12.5,
          12.8,
          13.1,
          12.1,
          11.9,
          11.3,
          10.7,
          9.4,
          8
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 2798,
      "annualTaxTypical": 2313,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0495,
        "inventoryYoY": 0.0564,
        "domYoY": -0.0563,
        "priceCutShare": 0.277,
        "priceCutShareYoY": -0.0097,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 0.2
      },
      "activeListings": 15125,
      "medianDom": 67,
      "medianListPrice": 499000,
      "permitsPer1000Units": 17.38,
      "permitsYoY": -0.13,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 25.4,
        "inventoryYoY": 42.8,
        "domYoY": 74.6,
        "priceCutShareYoY": 55.5,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 44
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 26.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 84,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 456252,
      "homeValue4br": 551940,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 65,
      "opportunityScore": 50,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 57,
        "domYoY": 26,
        "priceCutShareYoY": 44,
        "priceCutShare": 90
      },
      "grossYield": 0.0906,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0855
    },
    {
      "slug": "island-county",
      "city": "Island County",
      "state": "Washington",
      "stateCode": "WA",
      "lat": 48.1601,
      "lng": -122.6717,
      "adr": 215,
      "occupancy": 62,
      "annualRevenue": 49000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "No STR ordinance yet - zoning + land use permits; county programme in development",
      "tax": "State + local sales and lodging taxes; $1M liability insurance required (RCW 64.37)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "Draft rules tie guest limits to septic capacity",
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/island-county",
      "regUrl": "/regulations/island-county-wa-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "No STR ordinance yet — permit programme in development",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Island County",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.islandcountywa.gov/207/Planning-Community-Development",
      "countyName": "Island County",
      "countyFips": "53029",
      "seasonalShare": 0.1027,
      "bigHomeShare": 0.1371,
      "tourismJobShare": 0.0789,
      "amenityScore": 70,
      "dining": 95,
      "attractions": 50,
      "outdoors": 155,
      "lodgingCompetition": 22,
      "pop150": 5970286,
      "pop300": 11343547,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Snohomish County, WA",
          "pop": 828337
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 4,
      "snowMonths": 0,
      "climate": {
        "highF": [
          46.3,
          43.9,
          49.1,
          53.4,
          59.7,
          63.7,
          67.5,
          69.4,
          64.7,
          56.2,
          48.8,
          45.1
        ],
        "lowF": [
          40.1,
          37.2,
          39.9,
          43.5,
          48.9,
          52.4,
          54.9,
          56.6,
          53.9,
          47.8,
          42.1,
          39
        ],
        "precipIn": [
          4.9,
          3.7,
          2.8,
          2.8,
          2.2,
          2,
          0.7,
          0.9,
          2.5,
          3.6,
          5.1,
          5.3
        ],
        "snowIn": [
          2.2,
          4.2,
          1.3,
          0.3,
          0,
          0,
          0,
          0,
          0,
          0,
          1.4,
          2.5
        ],
        "sunHours": [
          4.3,
          5.2,
          7.7,
          8.9,
          10.4,
          12.1,
          12.8,
          11.7,
          9.2,
          6.5,
          4.9,
          3.2
        ]
      },
      "effectiveTaxRate": 0.0074,
      "taxTopCoded": false,
      "annualTax4br": 5365,
      "annualTaxTypical": 4725,
      "lossPer100k": 134,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 35,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.005,
        "listPriceYoY": -0.0131,
        "inventoryYoY": 0.1803,
        "domYoY": 0.0351,
        "priceCutShare": 0.2378,
        "priceCutShareYoY": -0.0041,
        "popChange1yr": -0.0038,
        "domesticMigPer1000": -3.63
      },
      "activeListings": 504,
      "medianDom": 59,
      "medianListPrice": 755000,
      "permitsPer1000Units": 4.96,
      "permitsYoY": -0.4801,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 47.7,
        "listPriceYoY": 60.7,
        "inventoryYoY": 17.9,
        "domYoY": 31.5,
        "priceCutShareYoY": 49.1,
        "popChange1yr": 12.3,
        "domesticMigPer1000": 25.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [
        4
      ],
      "riskScore": 78,
      "riskRating": "Relatively Low",
      "topHazards": [
        "earthquake",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 73.4,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 54.9,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 35.4,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 11.3,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 96.3,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 45.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 2.4,
          "rating": "Very Low"
        }
      },
      "homeValue": 638463,
      "homeValue4br": 725034,
      "homeValueYoY": 0.005,
      "dataStatus": "verified",
      "nationalRank": 66,
      "opportunityScore": 37,
      "opportunityBasis": "full",
      "buyerScore": 69,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 82,
        "domYoY": 69,
        "priceCutShareYoY": 51,
        "priceCutShare": 73
      },
      "grossYield": 0.0676,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0602
    },
    {
      "slug": "tampa",
      "city": "Tampa",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 27.9506,
      "lng": -82.4572,
      "adr": 195,
      "occupancy": 68,
      "annualRevenue": 48000,
      "medianPrice": 380000,
      "regStrictness": 2,
      "regNotes": "Fast-growing STR market. Business license required for rentals under 30 days.",
      "growthTrend": "+9%",
      "permit": "Business Tax Receipt",
      "tax": "6% state + 6% tourist",
      "zoning": "Allowed in most zones",
      "minStay": "None",
      "occupancyRule": "2 per bedroom + 2",
      "penalties": "Code enforcement",
      "restrictions": [
        "Register with Hillsborough County",
        "Collect and remit tourist tax",
        "Must meet safety standards"
      ],
      "marketUrl": "/markets/tampa",
      "regUrl": "/regulations/tampa-fl-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.tampa.gov/business-tax/how-do-i",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Hillsborough County",
      "countyFips": "12057",
      "seasonalShare": 0.0152,
      "bigHomeShare": 0.2384,
      "tourismJobShare": 0.0948,
      "amenityScore": 88,
      "dining": 790,
      "attractions": 95,
      "outdoors": 382,
      "lodgingCompetition": 186,
      "pop150": 12639679,
      "pop300": 22616549,
      "nearestMetros": [
        {
          "name": "Hillsborough County, FL",
          "pop": 1468560
        },
        {
          "name": "Orange County, FL",
          "pop": 1427403
        },
        {
          "name": "Pinellas County, FL",
          "pop": 959918
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 10,
      "snowMonths": 0,
      "climate": {
        "highF": [
          69.5,
          75.4,
          79.2,
          82.3,
          87.1,
          87.6,
          88.5,
          88.6,
          86.4,
          83.7,
          76.7,
          72.3
        ],
        "lowF": [
          53.5,
          58.6,
          61.4,
          65.5,
          70,
          75,
          76.8,
          77,
          74.3,
          69.5,
          61.9,
          56.9
        ],
        "precipIn": [
          2.1,
          2.1,
          1.8,
          3.9,
          3.2,
          7.4,
          8.8,
          10.5,
          7.9,
          2.6,
          3.2,
          3.5
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.9,
          9.6,
          10.4,
          11.2,
          12.2,
          10.9,
          10.7,
          10.1,
          9.7,
          9.9,
          8.7,
          8.2
        ]
      },
      "effectiveTaxRate": 0.00875,
      "taxTopCoded": false,
      "annualTax4br": 4180,
      "annualTaxTypical": 3300,
      "lossPer100k": 150,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": "summed-components",
      "momentumScore": 45,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.014,
        "listPriceYoY": -0.0674,
        "inventoryYoY": -0.0457,
        "domYoY": -0.0694,
        "priceCutShare": 0.2656,
        "priceCutShareYoY": -0.0173,
        "popChange1yr": 0.0019,
        "domesticMigPer1000": -9.94
      },
      "activeListings": 6267,
      "medianDom": 67,
      "medianListPrice": 415000,
      "permitsPer1000Units": 14.34,
      "permitsYoY": -0.0394,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 17,
        "listPriceYoY": 13.9,
        "inventoryYoY": 78.6,
        "domYoY": 78,
        "priceCutShareYoY": 74.6,
        "popChange1yr": 42.6,
        "domesticMigPer1000": 10.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 98.8,
      "riskRating": "Relatively High",
      "topHazards": [
        "tornado",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.3,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 92.4,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 97.8,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 95.7,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 99.7,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 68.5,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 97.8,
          "rating": "Relatively High"
        }
      },
      "homeValue": 377121,
      "homeValue4br": 477671,
      "homeValueYoY": -0.014,
      "dataStatus": "verified",
      "nationalRank": 67,
      "opportunityScore": 50,
      "opportunityBasis": "full",
      "buyerScore": 39,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 22,
        "domYoY": 23,
        "priceCutShareYoY": 25,
        "priceCutShare": 86
      },
      "grossYield": 0.1005,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0918
    },
    {
      "slug": "poconos",
      "city": "Poconos",
      "state": "Pennsylvania",
      "stateCode": "PA",
      "lat": 41.0256,
      "lng": -75.6046,
      "adr": 225,
      "occupancy": 58,
      "annualRevenue": 48000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/poconos",
      "regUrl": "/regulations/poconos-pa-airbnb-regulations",
      "sources": [
        "analytics",
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Coolbaugh Township requires a conditional use permit for STRs in residential zones, which involves a public hearing before the Board of Supervisors.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/poconos-pa-airbnb-regulations",
      "countyName": "Carbon County",
      "countyFips": "42025",
      "seasonalShare": 0.1442,
      "bigHomeShare": 0.1784,
      "tourismJobShare": 0.0803,
      "amenityScore": 54,
      "dining": 32,
      "attractions": 11,
      "outdoors": 164,
      "lodgingCompetition": 12,
      "pop150": 39275266,
      "pop300": 72545991,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 6,
      "snowMonths": 4,
      "climate": {
        "highF": [
          34.3,
          37.6,
          45.3,
          55.8,
          65.6,
          73.8,
          80.2,
          77.9,
          70.6,
          60.2,
          46.9,
          38.9
        ],
        "lowF": [
          20.9,
          21.8,
          28,
          37.6,
          47.2,
          57,
          64,
          62.3,
          55.2,
          46,
          33,
          26.7
        ],
        "precipIn": [
          3.9,
          3.7,
          3.7,
          5.9,
          4.4,
          4.5,
          5.2,
          5,
          5,
          4.9,
          3.2,
          4.7
        ],
        "snowIn": [
          9.4,
          10.2,
          7.2,
          2.5,
          0.2,
          0,
          0,
          0,
          0,
          0,
          1.4,
          6.8
        ],
        "sunHours": [
          5.6,
          6.4,
          7.7,
          8.7,
          10.3,
          11.2,
          11.5,
          11,
          9.4,
          7.1,
          7.1,
          5
        ]
      },
      "effectiveTaxRate": 0.01607,
      "taxTopCoded": false,
      "annualTax4br": 5421,
      "annualTaxTypical": 4326,
      "lossPer100k": 103,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 74,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.007,
        "listPriceYoY": 0.0274,
        "inventoryYoY": -0.1057,
        "domYoY": -0.1438,
        "priceCutShare": 0.1455,
        "priceCutShareYoY": -0.0145,
        "popChange1yr": 0.0024,
        "domesticMigPer1000": 7.15
      },
      "activeListings": 330,
      "medianDom": 69,
      "medianListPrice": 375000,
      "permitsPer1000Units": 5.69,
      "permitsYoY": 0.242,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 52.3,
        "listPriceYoY": 82.7,
        "inventoryYoY": 89.6,
        "domYoY": 94.5,
        "priceCutShareYoY": 70.5,
        "popChange1yr": 46.6,
        "domesticMigPer1000": 81.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": true,
      "regDirectionEvidence": "New and Proposed Regulations Barrett Township Registration: Expected to finalize a new STR registration ordinance by mid-2026, requiring annual registration and safety inspections",
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 59.4,
      "riskRating": "Relatively Low",
      "topHazards": [
        "winterWeather",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 73.1,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 67.5,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 41.3,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 37.9,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 46.6,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 78.7,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 15.5,
          "rating": "Very Low"
        }
      },
      "homeValue": 269211,
      "homeValue4br": 337360,
      "homeValueYoY": 0.007,
      "dataStatus": "verified",
      "nationalRank": 68,
      "opportunityScore": 28,
      "opportunityBasis": "full",
      "buyerScore": 15,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 11,
        "domYoY": 6,
        "priceCutShareYoY": 29,
        "priceCutShare": 15
      },
      "grossYield": 0.1423,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1262
    },
    {
      "slug": "chandler",
      "city": "Chandler",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 33.3062,
      "lng": -111.8413,
      "adr": 185,
      "occupancy": 71,
      "annualRevenue": 48000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental License - one per property",
      "tax": "State TPT + county + city lodging tax; TPT licence must list each address",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Up to $500 / $1,000 / $3,500 (or 1/2/3 nights rent) per verified violation",
      "restrictions": null,
      "marketUrl": "/markets/chandler",
      "regUrl": "/regulations/chandler-az-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Chandler requires a completed short-term rental application and a licence for each individual property",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "jurisdiction": "City of Chandler",
      "permitFee": "Set by city (state cap $250)",
      "strCap": "None - caps barred by state law (A.R.S. 9-500.39)",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.chandleraz.gov/business/tax-and-license/short-term-rental",
      "countyName": "Maricopa County",
      "countyFips": "04013",
      "seasonalShare": 0.0358,
      "bigHomeShare": 0.2619,
      "tourismJobShare": 0.093,
      "amenityScore": 91,
      "dining": 1333,
      "attractions": 44,
      "outdoors": 2619,
      "lodgingCompetition": 144,
      "pop150": 6505197,
      "pop300": 18238753,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pima County, AZ",
          "pop": 1042393
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          66,
          68,
          74.8,
          87.6,
          94.3,
          104.2,
          106.7,
          105.1,
          100.2,
          89.4,
          77.6,
          66.1
        ],
        "lowF": [
          39.7,
          41.2,
          47.5,
          56.8,
          65.2,
          74.9,
          82.6,
          81,
          74.2,
          60,
          49.2,
          41.4
        ],
        "precipIn": [
          1.1,
          1.2,
          1.3,
          0.1,
          0,
          0.1,
          2.3,
          1.7,
          1.5,
          0.3,
          1,
          1.8
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.7,
          9.7,
          10.4,
          12.5,
          12.9,
          13.2,
          12,
          12,
          11.3,
          10.7,
          9.4,
          8
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 2798,
      "annualTaxTypical": 2313,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0495,
        "inventoryYoY": 0.0564,
        "domYoY": -0.0563,
        "priceCutShare": 0.277,
        "priceCutShareYoY": -0.0097,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 0.2
      },
      "activeListings": 15125,
      "medianDom": 67,
      "medianListPrice": 499000,
      "permitsPer1000Units": 17.38,
      "permitsYoY": -0.13,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 25.4,
        "inventoryYoY": 42.8,
        "domYoY": 74.6,
        "priceCutShareYoY": 55.5,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 44
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 26.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 84,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 456252,
      "homeValue4br": 551940,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 69,
      "opportunityScore": 51,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 57,
        "domYoY": 26,
        "priceCutShareYoY": 44,
        "priceCutShare": 90
      },
      "grossYield": 0.087,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0819
    },
    {
      "slug": "gilbert",
      "city": "Gilbert",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 33.3528,
      "lng": -111.789,
      "adr": 190,
      "occupancy": 69,
      "annualRevenue": 48000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental License (Town Code Ch.14 Art.III)",
      "tax": "State TPT + county + city lodging tax; TPT licence must list each address",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Up to $500 / $1,000 / $3,500 (or 1/2/3 nights rent) per verified violation",
      "restrictions": null,
      "marketUrl": "/markets/gilbert",
      "regUrl": "/regulations/gilbert-az-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Gilbert can regulate licensing, taxes, safety and nuisance — it cannot prohibit the use.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "jurisdiction": "Town of Gilbert",
      "permitFee": "Set by town (state cap $250)",
      "strCap": "None - caps barred by state law (A.R.S. 9-500.39)",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.gilbertaz.gov/business/business-registration-and-licensing/short-term-rentals",
      "countyName": "Maricopa County",
      "countyFips": "04013",
      "seasonalShare": 0.0358,
      "bigHomeShare": 0.2619,
      "tourismJobShare": 0.093,
      "amenityScore": 91,
      "dining": 1376,
      "attractions": 40,
      "outdoors": 2849,
      "lodgingCompetition": 122,
      "pop150": 6514680,
      "pop300": 18238753,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pima County, AZ",
          "pop": 1042393
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          66.2,
          68.2,
          75,
          87.7,
          94.5,
          104.4,
          106.8,
          105.2,
          100.4,
          89.6,
          78,
          66.5
        ],
        "lowF": [
          42,
          43,
          48.9,
          58,
          66.1,
          75.6,
          82.8,
          81.3,
          75.1,
          62.4,
          51.9,
          43.8
        ],
        "precipIn": [
          1.2,
          1.3,
          1.3,
          0.1,
          0,
          0.1,
          2.1,
          1.7,
          1.4,
          0.3,
          1,
          1.9
        ],
        "snowIn": [
          0,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.5,
          10.3,
          12.5,
          12.8,
          13.2,
          12,
          11.9,
          11.3,
          10.6,
          9.4,
          8
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 2798,
      "annualTaxTypical": 2313,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0495,
        "inventoryYoY": 0.0564,
        "domYoY": -0.0563,
        "priceCutShare": 0.277,
        "priceCutShareYoY": -0.0097,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 0.2
      },
      "activeListings": 15125,
      "medianDom": 67,
      "medianListPrice": 499000,
      "permitsPer1000Units": 17.38,
      "permitsYoY": -0.13,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 25.4,
        "inventoryYoY": 42.8,
        "domYoY": 74.6,
        "priceCutShareYoY": 55.5,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 44
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 26.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 84,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 456252,
      "homeValue4br": 551940,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 70,
      "opportunityScore": 51,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 57,
        "domYoY": 26,
        "priceCutShareYoY": 44,
        "priceCutShare": 90
      },
      "grossYield": 0.087,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0819
    },
    {
      "slug": "snohomish-county",
      "city": "Snohomish County",
      "state": "Washington",
      "stateCode": "WA",
      "lat": 47.979,
      "lng": -122.2021,
      "adr": 190,
      "occupancy": 68,
      "annualRevenue": 47000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "County STR permit (unincorporated); City of Snohomish needs business licence only",
      "tax": "State + local sales and lodging taxes; $1M liability insurance required (RCW 64.37)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/snohomish-county",
      "regUrl": "/regulations/snohomish-county-wa-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "County STR permit in unincorporated areas",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Snohomish County (unincorporated); cities differ",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.snohomishwa.gov/768/7455/Short-Term-Rentals",
      "countyName": "Snohomish County",
      "countyFips": "53061",
      "seasonalShare": 0.0104,
      "bigHomeShare": 0.2714,
      "tourismJobShare": 0.0735,
      "amenityScore": 81,
      "dining": 499,
      "attractions": 27,
      "outdoors": 531,
      "lodgingCompetition": 35,
      "pop150": 6134414,
      "pop300": 11616804,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Snohomish County, WA",
          "pop": 828337
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 5,
      "snowMonths": 1,
      "climate": {
        "highF": [
          46,
          43.5,
          50.8,
          55.4,
          62.8,
          67.9,
          73.4,
          74.9,
          68.4,
          58,
          48.7,
          43.8
        ],
        "lowF": [
          35.2,
          31.9,
          35,
          39.3,
          46.5,
          51.6,
          55.4,
          56.5,
          52.9,
          44.6,
          37.2,
          34.5
        ],
        "precipIn": [
          7.1,
          5.4,
          4,
          4.6,
          4.1,
          3.2,
          1.1,
          1.4,
          4,
          5.1,
          6.5,
          7.6
        ],
        "snowIn": [
          5.2,
          8,
          2.8,
          2.8,
          0.1,
          0,
          0,
          0,
          0,
          0,
          2.5,
          5
        ],
        "sunHours": [
          3.9,
          4.6,
          7.2,
          8.5,
          9.8,
          11.2,
          12.3,
          11.3,
          8.8,
          6.2,
          4.6,
          2.9
        ]
      },
      "effectiveTaxRate": 0.00824,
      "taxTopCoded": false,
      "annualTax4br": 7284,
      "annualTaxTypical": 6053,
      "lossPer100k": 170,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 27,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.017,
        "listPriceYoY": -0.0426,
        "inventoryYoY": 0.3794,
        "domYoY": 0.125,
        "priceCutShare": 0.2524,
        "priceCutShareYoY": 0.0379,
        "popChange1yr": 0.0111,
        "domesticMigPer1000": -0.61
      },
      "activeListings": 2425,
      "medianDom": 45,
      "medianListPrice": 765000,
      "permitsPer1000Units": 10.43,
      "permitsYoY": -0.1873,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 13.5,
        "listPriceYoY": 34.1,
        "inventoryYoY": 1.2,
        "domYoY": 15,
        "priceCutShareYoY": 4.6,
        "popChange1yr": 85.1,
        "domesticMigPer1000": 38.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        4
      ],
      "riskScore": 97.9,
      "riskRating": "Relatively High",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 77.6,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 95.7,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 61.5,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 38.8,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 99.3,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 94,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 15.1,
          "rating": "Very Low"
        }
      },
      "homeValue": 734626,
      "homeValue4br": 883978,
      "homeValueYoY": -0.017,
      "dataStatus": "verified",
      "nationalRank": 71,
      "opportunityScore": 40,
      "opportunityBasis": "full",
      "buyerScore": 90,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 99,
        "domYoY": 85,
        "priceCutShareYoY": 95,
        "priceCutShare": 81
      },
      "grossYield": 0.0532,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.045
    },
    {
      "slug": "denver",
      "city": "Denver",
      "state": "Colorado",
      "stateCode": "CO",
      "lat": 39.7392,
      "lng": -104.9903,
      "adr": 195,
      "occupancy": 65,
      "annualRevenue": 46000,
      "medianPrice": 545000,
      "regStrictness": 4,
      "regNotes": "Owner-occupancy required. STR license plus limited licenses per block. Strictly enforced.",
      "growthTrend": "-2%",
      "permit": "STR License required",
      "tax": "10.75% lodger tax",
      "zoning": "Primary residence only",
      "minStay": "None",
      "occupancyRule": "Based on building code",
      "penalties": "Up to $999/day",
      "restrictions": [
        "Must be primary residence",
        "License must be renewed annually",
        "Maximum 1 license per person"
      ],
      "marketUrl": "/markets/denver",
      "regUrl": "/regulations/denver-co-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "reg-checker",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$50 application fee + $100 annual license fee",
      "ownerOccupancy": "Primary residence required; a person can have only one primary residence, defined as the place where habitation is fixed for the term of the licence and the usual place of return. Non-primary-residence properties are ineligible and need a lodging facility licence instead.",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.denvergov.org/Business/Business-Licensing-Redirect/Short-Term-Rentals",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Denver County",
      "countyFips": "08031",
      "seasonalShare": 0.0085,
      "bigHomeShare": 0.1754,
      "tourismJobShare": 0.09,
      "amenityScore": 100,
      "dining": 2557,
      "attractions": 177,
      "outdoors": 1332,
      "lodgingCompetition": 247,
      "pop150": 5414661,
      "pop300": 7236912,
      "nearestMetros": [
        {
          "name": "El Paso County, CO",
          "pop": 730323
        },
        {
          "name": "Denver County, CO",
          "pop": 710800
        },
        {
          "name": "Arapahoe County, CO",
          "pop": 654453
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 5,
      "snowMonths": 2,
      "climate": {
        "highF": [
          41,
          39.3,
          49.1,
          60.8,
          69.2,
          81.9,
          89.5,
          88.5,
          82.9,
          65,
          53.1,
          45.2
        ],
        "lowF": [
          16.1,
          11.4,
          21.7,
          31.6,
          42.4,
          53.3,
          61.1,
          60.1,
          51.7,
          35.5,
          26.3,
          20.4
        ],
        "precipIn": [
          0.9,
          1,
          2.1,
          1.4,
          3.5,
          2,
          1.2,
          1.2,
          0.8,
          0.9,
          0.6,
          0.7
        ],
        "snowIn": [
          5.9,
          6.5,
          11.1,
          4.9,
          2.1,
          0,
          0,
          0,
          0.9,
          3.7,
          3.4,
          4.3
        ],
        "sunHours": [
          7.7,
          8.9,
          9.5,
          10.6,
          11,
          12.3,
          12.8,
          12.3,
          11.1,
          9.6,
          8.4,
          7.7
        ]
      },
      "effectiveTaxRate": 0.00453,
      "taxTopCoded": false,
      "annualTax4br": 3409,
      "annualTaxTypical": 2409,
      "lossPer100k": 139,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 39,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.02,
        "listPriceYoY": -0.0861,
        "inventoryYoY": -0.0042,
        "domYoY": -0.0769,
        "priceCutShare": 0.3152,
        "priceCutShareYoY": -0.0151,
        "popChange1yr": -0.0013,
        "domesticMigPer1000": -10.82
      },
      "activeListings": 3323,
      "medianDom": 60,
      "medianListPrice": 529999,
      "permitsPer1000Units": 13.71,
      "permitsYoY": 0.1835,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 11.2,
        "listPriceYoY": 5.8,
        "inventoryYoY": 65.3,
        "domYoY": 84.7,
        "priceCutShareYoY": 72,
        "popChange1yr": 24.6,
        "domesticMigPer1000": 8.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "permitRegistry": {
        "active": 2133,
        "asOf": "2026-09-09",
        "byType": {
          "License Issued - Active": 2133
        },
        "name": "City of Denver Short Term Rental Licenses",
        "url": "https://data.colorado.gov/d/f3vc-vat3",
        "per1000CountyUnits": 6.19,
        "capText": null
      },
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        9,
        10
      ],
      "riskScore": 95.2,
      "riskRating": "Relatively High",
      "topHazards": [
        "hail",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 95.3,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 60.6,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 97.9,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 91,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 91.9,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 99.9,
          "rating": "Very High"
        }
      },
      "homeValue": 531802,
      "homeValue4br": 752543,
      "homeValueYoY": -0.02,
      "dataStatus": "verified",
      "nationalRank": 72,
      "opportunityScore": 32,
      "opportunityBasis": "full",
      "buyerScore": 45,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 35,
        "domYoY": 16,
        "priceCutShareYoY": 28,
        "priceCutShare": 99
      },
      "grossYield": 0.0611,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0566
    },
    {
      "slug": "seattle",
      "city": "Seattle",
      "state": "Washington",
      "stateCode": "WA",
      "lat": 47.6062,
      "lng": -122.3321,
      "adr": 185,
      "occupancy": 68,
      "annualRevenue": 46000,
      "medianPrice": 720000,
      "regStrictness": 4,
      "regNotes": "Must be primary residence. Maximum 2 units city-wide per operator. Operator license required.",
      "growthTrend": "+2%",
      "permit": "Two licences: a Seattle business license tax certificate (via FileLocal) and a Short-Term Rental Operator regulatory licence (via the Seattle Services Portal); SMC 6.600 and Ordinance 125490. RRIO registration additionally required for any dedicated (non-primary-residence) unit, including ADUs/DADUs on the same parcel.",
      "tax": null,
      "zoning": null,
      "minStay": "Applies to stays of fewer than 30 consecutive nights",
      "occupancyRule": null,
      "penalties": "$500 for a first violation of the STR regulatory licence requirement, $1,000 for second and subsequent violations; $513 citation for operating without a Seattle business license tax certificate",
      "restrictions": null,
      "marketUrl": "/markets/seattle",
      "regUrl": "/regulations/seattle-wa-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "regulation-page",
        "regulations-table"
      ],
      "permitFee": "$75 per unit for the STR operator regulatory licence, valid one year; the business license tax certificate fee was not verifiable",
      "strCap": "Up to two dwelling units per operator; if two, one must be the operator's primary residence. Rented rooms without their own kitchen and bathroom do not count. Limited exceptions exist for units legally operated before Sept 30, 2017, and renters may obtain an operator licence only in the Downtown Urban Core for units operating as STRs before Sept 30, 2017.",
      "ownerOccupancy": "Required only where an operator runs two units — one of the two must be the operator's primary residence",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.seattle.gov/business-regulations/short-term-rentals",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "King County",
      "countyFips": "53033",
      "seasonalShare": 0.0087,
      "bigHomeShare": 0.2466,
      "tourismJobShare": 0.0854,
      "amenityScore": 100,
      "dining": 3335,
      "attractions": 336,
      "outdoors": 1176,
      "lodgingCompetition": 159,
      "pop150": 8134097,
      "pop300": 11620090,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Snohomish County, WA",
          "pop": 828337
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 5,
      "snowMonths": 0,
      "climate": {
        "highF": [
          47.2,
          45.2,
          51,
          56.1,
          63.9,
          69.7,
          75.8,
          76.6,
          69.6,
          58.9,
          50,
          45.8
        ],
        "lowF": [
          37.8,
          35.4,
          37.7,
          41.9,
          49,
          54.1,
          58.3,
          59.5,
          55.8,
          47.8,
          40.7,
          38
        ],
        "precipIn": [
          7.6,
          4.2,
          2.9,
          3,
          2.3,
          2.1,
          0.6,
          1,
          3,
          4.2,
          6,
          7.3
        ],
        "snowIn": [
          3.2,
          5.6,
          0.7,
          0.6,
          0,
          0,
          0,
          0,
          0,
          0,
          1.3,
          2.9
        ],
        "sunHours": [
          4.1,
          5.2,
          7.5,
          8.9,
          9.9,
          11.3,
          12.3,
          11.4,
          9.1,
          6.4,
          4.8,
          3.1
        ]
      },
      "effectiveTaxRate": 0.0085,
      "taxTopCoded": false,
      "annualTax4br": 9471,
      "annualTaxTypical": 7101,
      "lossPer100k": 220,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 35,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.02,
        "listPriceYoY": -0.0128,
        "inventoryYoY": 0.274,
        "domYoY": 0,
        "priceCutShare": 0.2123,
        "priceCutShareYoY": 0.032,
        "popChange1yr": 0.0116,
        "domesticMigPer1000": -3.92
      },
      "activeListings": 7366,
      "medianDom": 45,
      "medianListPrice": 849000,
      "permitsPer1000Units": 8.74,
      "permitsYoY": -0.1949,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 11.2,
        "listPriceYoY": 61.3,
        "inventoryYoY": 6.4,
        "domYoY": 49.7,
        "priceCutShareYoY": 7.5,
        "popChange1yr": 85.7,
        "domesticMigPer1000": 24.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "permitRegistry": {
        "active": 5250,
        "asOf": "2026-09-20",
        "byType": {
          "Single Family Home": 2242,
          "Townhouse": 930,
          "Condo": 635,
          "Attached Accessory Dwelling Unit (ADU)": 329,
          "1-4 units (duplex, triplex)": 281,
          "Detached Accessory Dwelling Unit (DADU)": 245,
          "Apartment": 242,
          "Mother-In-Law": 156,
          "Other": 85,
          "Multifamily": 59,
          "(blank)": 21,
          "Multi Family Home": 9,
          "Townhome": 6,
          "Multifamily(duplex,triplex)": 2,
          "SINGLE FAMILY HOME": 2,
          "Single family": 2,
          "CONDO": 2,
          "ATTACHED ACCESSORY DWELLING UNIT": 1,
          "APARTMENT": 1
        },
        "name": "Short Term Rental License",
        "url": "https://cos-data.seattle.gov/d/s7df-xba4",
        "per1000CountyUnits": null,
        "capText": "Up to two dwelling units per operator; if two, one must be the operator's primary residence. Rented rooms without their own kitchen and bathroom do not count. Limited exceptions exist for units legally operated before Sept 30, 2017, and renters may obtain an operator licence only in the Downtown Urban Core for units operating as STRs before Sept 30, 2017."
      },
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 99.7,
      "riskRating": "Very High",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 71,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 99.5,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 79.5,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 73.2,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 99.9,
          "rating": "Very High"
        },
        "winterWeather": {
          "score": 94.7,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 3.1,
          "rating": "Very Low"
        }
      },
      "homeValue": 835385,
      "homeValue4br": 1114222,
      "homeValueYoY": -0.02,
      "dataStatus": "verified",
      "nationalRank": 73,
      "opportunityScore": 35,
      "opportunityBasis": "full",
      "buyerScore": 74,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 93,
        "domYoY": 51,
        "priceCutShareYoY": 92,
        "priceCutShare": 59
      },
      "grossYield": 0.0413,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0328
    },
    {
      "slug": "kitsap-county",
      "city": "Kitsap County",
      "state": "Washington",
      "stateCode": "WA",
      "lat": 47.6477,
      "lng": -122.637,
      "adr": 200,
      "occupancy": 63,
      "annualRevenue": 46000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "No STR-specific code in force - conditional-use code adopted then deferred",
      "tax": "State + local sales and lodging taxes; $1M liability insurance required (RCW 64.37)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/kitsap-county",
      "regUrl": "/regulations/kitsap-county-wa-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "No STR-specific code in force — general zoning applies",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Kitsap County",
      "statusNote": "County is mid-process on a revised ordinance; expect a permit requirement.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.kitsap.gov/BOC_p/Pages/STR.aspx",
      "countyName": "Kitsap County",
      "countyFips": "53035",
      "seasonalShare": 0.0232,
      "bigHomeShare": 0.1943,
      "tourismJobShare": 0.0947,
      "amenityScore": 84,
      "dining": 340,
      "attractions": 110,
      "outdoors": 297,
      "lodgingCompetition": 41,
      "pop150": 7988189,
      "pop300": 11599775,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Snohomish County, WA",
          "pop": 828337
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 5,
      "snowMonths": 1,
      "climate": {
        "highF": [
          45.7,
          44.4,
          50.2,
          55.3,
          62.9,
          68.5,
          74.4,
          75.3,
          68.7,
          58.3,
          49.1,
          44.6
        ],
        "lowF": [
          37.6,
          34.6,
          37,
          40.7,
          47.3,
          52.3,
          56.2,
          57.9,
          54.7,
          47.3,
          40.7,
          37.6
        ],
        "precipIn": [
          8.7,
          4.4,
          3.1,
          3.3,
          2.8,
          2.7,
          0.6,
          1.3,
          3.3,
          4.1,
          6.3,
          7.9
        ],
        "snowIn": [
          4,
          7.8,
          1.8,
          0.7,
          0,
          0,
          0,
          0,
          0,
          0,
          1.3,
          4.7
        ],
        "sunHours": [
          3.9,
          5.3,
          7.5,
          8.9,
          10,
          11.5,
          12.3,
          11.2,
          9.1,
          6.6,
          4.7,
          3.1
        ]
      },
      "effectiveTaxRate": 0.0083,
      "taxTopCoded": false,
      "annualTax4br": 5500,
      "annualTaxTypical": 4819,
      "lossPer100k": 187,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 51,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.012,
        "listPriceYoY": -0.0218,
        "inventoryYoY": 0.1278,
        "domYoY": 0.0222,
        "priceCutShare": 0.2324,
        "priceCutShareYoY": 0.015,
        "popChange1yr": 0.0094,
        "domesticMigPer1000": 6.42
      },
      "activeListings": 812,
      "medianDom": 46,
      "medianListPrice": 674990,
      "permitsPer1000Units": 15.62,
      "permitsYoY": 0.3756,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 58.3,
        "listPriceYoY": 56.9,
        "inventoryYoY": 24.9,
        "domYoY": 36.4,
        "priceCutShareYoY": 24.3,
        "popChange1yr": 81.1,
        "domesticMigPer1000": 78.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": null,
      "regChangePending": true,
      "regDirectionEvidence": "County is mid-process on a revised ordinance; expect a permit requirement.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 92.3,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "earthquake",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 79.4,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 79.1,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 39.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 23.7,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 98.7,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 59.2,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 4.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 580615,
      "homeValue4br": 662612,
      "homeValueYoY": 0.012,
      "dataStatus": "verified",
      "nationalRank": 74,
      "opportunityScore": 45,
      "opportunityBasis": "full",
      "buyerScore": 71,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 75,
        "domYoY": 64,
        "priceCutShareYoY": 76,
        "priceCutShare": 70
      },
      "grossYield": 0.0694,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0611
    },
    {
      "slug": "lake-chatuge",
      "city": "Lake Chatuge",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 34.8454,
      "lng": -83.8082,
      "adr": 215,
      "occupancy": 58,
      "annualRevenue": 46000,
      "medianPrice": null,
      "regStrictness": 1,
      "regNotes": null,
      "growthTrend": null,
      "permit": "No dedicated STR ordinance found - business licence + lodging tax (research gap, verify)",
      "tax": "4% state sales tax + $5/night state fee + local hotel-motel tax (6-8%) (Hiawassee 8%)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/lake-chatuge",
      "regUrl": "/regulations/lake-chatuge-ga-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "No dedicated STR ordinance found — business licence + lodging tax",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Towns County GA + Hiawassee/Young Harris; lake also spans Clay County NC",
      "statusNote": "GA SB 570 training required for all STR operators from 1 Jul 2026. Confirm which STATE the parcel is in.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "http://www.townscountyga.org/ordinances.html",
      "countyName": "Union County",
      "countyFips": "13291",
      "seasonalShare": 0.1904,
      "bigHomeShare": 0.156,
      "tourismJobShare": 0.0794,
      "amenityScore": 66,
      "dining": 39,
      "attractions": 36,
      "outdoors": 213,
      "lodgingCompetition": 11,
      "pop150": 14780905,
      "pop300": 41931564,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          45.2,
          50.2,
          56.8,
          62.4,
          69.8,
          75.5,
          79.7,
          78.3,
          74.6,
          65,
          54.7,
          48.9
        ],
        "lowF": [
          29.6,
          34,
          38.4,
          43.5,
          52.9,
          59.6,
          63.8,
          63.1,
          57.6,
          48,
          37.4,
          33.3
        ],
        "precipIn": [
          5.6,
          7.4,
          6,
          5.3,
          4.3,
          4.7,
          5.1,
          6.6,
          3.9,
          4.7,
          2.9,
          5.2
        ],
        "snowIn": [
          3.2,
          2.4,
          0.2,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          0.7
        ],
        "sunHours": [
          6.3,
          5.9,
          8,
          10.1,
          10.7,
          11.3,
          11.5,
          10.7,
          10.3,
          8.7,
          8,
          6
        ]
      },
      "effectiveTaxRate": 0.00524,
      "taxTopCoded": false,
      "annualTax4br": 3041,
      "annualTaxTypical": 2004,
      "lossPer100k": 127,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 58,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.001,
        "listPriceYoY": -0.0245,
        "inventoryYoY": 0.1923,
        "domYoY": 0.0173,
        "priceCutShare": 0.2214,
        "priceCutShareYoY": -0.0241,
        "popChange1yr": 0.0091,
        "domesticMigPer1000": 17.06
      },
      "activeListings": 372,
      "medianDom": 88,
      "medianListPrice": 469900,
      "permitsPer1000Units": 17.89,
      "permitsYoY": -0.0605,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 38.2,
        "listPriceYoY": 54.3,
        "inventoryYoY": 15.3,
        "domYoY": 38.7,
        "priceCutShareYoY": 86.1,
        "popChange1yr": 78.3,
        "domesticMigPer1000": 92.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "GA SB 570 training required for all STR operators from 1 Jul 2026.",
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [
        9,
        10,
        11
      ],
      "riskScore": 52.5,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 56.2,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 58.7,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 71.9,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 63.2,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 64.4,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 16.3,
          "rating": "Very Low"
        },
        "hail": {
          "score": 51.3,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 382351,
      "homeValue4br": 580376,
      "homeValueYoY": -0.001,
      "dataStatus": "verified",
      "nationalRank": 75,
      "opportunityScore": 39,
      "opportunityBasis": "full",
      "buyerScore": 56,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 85,
        "domYoY": 61,
        "priceCutShareYoY": 14,
        "priceCutShare": 63
      },
      "grossYield": 0.0793,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0741
    },
    {
      "slug": "whatcom-county",
      "city": "Whatcom County",
      "state": "Washington",
      "stateCode": "WA",
      "lat": 48.7994,
      "lng": -122.4375,
      "adr": 195,
      "occupancy": 65,
      "annualRevenue": 46000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "STR land use permit (Bellingham)",
      "tax": "State + local sales and lodging taxes; $1M liability insurance required (RCW 64.37)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/whatcom-county",
      "regUrl": "/regulations/whatcom-county-wa-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Land use permit required in Bellingham; area bans apply",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "City of Bellingham / Whatcom County",
      "strCap": "Banned in Lake Whatcom Watershed and shoreline areas",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://cob.org/services/planning/development/short-term-rentals",
      "countyName": "Whatcom County",
      "countyFips": "53073",
      "seasonalShare": 0.0457,
      "bigHomeShare": 0.1832,
      "tourismJobShare": 0.0995,
      "amenityScore": 78,
      "dining": 341,
      "attractions": 54,
      "outdoors": 194,
      "lodgingCompetition": 33,
      "pop150": 5492987,
      "pop300": 10790664,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Snohomish County, WA",
          "pop": 828337
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 5,
      "snowMonths": 2,
      "climate": {
        "highF": [
          45,
          41.8,
          48.9,
          53.4,
          60.6,
          65.2,
          69.8,
          71.2,
          66,
          56.2,
          47.4,
          42.7
        ],
        "lowF": [
          35.2,
          31.8,
          35.8,
          40,
          46.7,
          51.9,
          56.1,
          57.3,
          53.4,
          45.4,
          37.7,
          33.8
        ],
        "precipIn": [
          7.3,
          5.1,
          4.4,
          4,
          3,
          2.4,
          1.3,
          1.2,
          3.9,
          5.7,
          8.4,
          7.7
        ],
        "snowIn": [
          4.5,
          8.6,
          3.7,
          2.2,
          0,
          0,
          0,
          0,
          0,
          0,
          2,
          7.6
        ],
        "sunHours": [
          3.9,
          5.2,
          7.8,
          8.8,
          10.5,
          12,
          13.1,
          12,
          9.4,
          6.5,
          4.7,
          3.2
        ]
      },
      "effectiveTaxRate": 0.00742,
      "taxTopCoded": false,
      "annualTax4br": 5688,
      "annualTaxTypical": 4531,
      "lossPer100k": 151,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 53,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.004,
        "listPriceYoY": -0.037,
        "inventoryYoY": 0.071,
        "domYoY": 0.0196,
        "priceCutShare": 0.1856,
        "priceCutShareYoY": -0.0131,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 6.11
      },
      "activeListings": 1026,
      "medianDom": 52,
      "medianListPrice": 650000,
      "permitsPer1000Units": 12.09,
      "permitsYoY": 0.0202,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 45.1,
        "listPriceYoY": 38.7,
        "inventoryYoY": 37.6,
        "domYoY": 37.6,
        "priceCutShareYoY": 65.6,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 76.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        4
      ],
      "riskScore": 91,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 63.2,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 88.9,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 61.7,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 13.1,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 97.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 82.5,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 2,
          "rating": "Very Low"
        }
      },
      "homeValue": 610710,
      "homeValue4br": 766535,
      "homeValueYoY": 0.004,
      "dataStatus": "verified",
      "nationalRank": 76,
      "opportunityScore": 31,
      "opportunityBasis": "full",
      "buyerScore": 50,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 63,
        "domYoY": 63,
        "priceCutShareYoY": 34,
        "priceCutShare": 40
      },
      "grossYield": 0.06,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0526
    },
    {
      "slug": "chattanooga",
      "city": "Chattanooga",
      "state": "Tennessee",
      "stateCode": "TN",
      "lat": 35.0456,
      "lng": -85.3097,
      "adr": 195,
      "occupancy": 62,
      "annualRevenue": 44000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/chattanooga",
      "regUrl": "/regulations/chattanooga-tn-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "permits are prohibited in R-1 single-family residential zones and subject to a 3% density cap per block in other residential areas.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/chattanooga-tn-airbnb-regulations",
      "countyName": "Hamilton County",
      "countyFips": "47065",
      "seasonalShare": 0.0114,
      "bigHomeShare": 0.2196,
      "tourismJobShare": 0.0962,
      "amenityScore": 83,
      "dining": 449,
      "attractions": 87,
      "outdoors": 264,
      "lodgingCompetition": 116,
      "pop150": 15621652,
      "pop300": 38725013,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          50.8,
          56.1,
          63,
          69,
          78.1,
          84.5,
          88.5,
          87.3,
          83.4,
          72.7,
          60.9,
          54.6
        ],
        "lowF": [
          34.5,
          37.7,
          42.8,
          47.8,
          58,
          65.9,
          70.7,
          69.8,
          64.2,
          53.8,
          41.6,
          37.9
        ],
        "precipIn": [
          5.9,
          7.4,
          7.5,
          4.7,
          3.9,
          5,
          4.9,
          5.5,
          3,
          4.4,
          2.8,
          5
        ],
        "snowIn": [
          0.8,
          1,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          0.1
        ],
        "sunHours": [
          6.4,
          5.9,
          8,
          10,
          10.9,
          11.3,
          11.4,
          10.5,
          10.5,
          8.7,
          8.1,
          6.2
        ]
      },
      "effectiveTaxRate": 0.00731,
      "taxTopCoded": false,
      "annualTax4br": 3504,
      "annualTaxTypical": 2575,
      "lossPer100k": 132,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.009,
        "listPriceYoY": -0.023,
        "inventoryYoY": 0.2328,
        "domYoY": 0.2075,
        "priceCutShare": 0.2302,
        "priceCutShareYoY": -0.0203,
        "popChange1yr": 0.0092,
        "domesticMigPer1000": 5.53
      },
      "activeListings": 2060,
      "medianDom": 64,
      "medianListPrice": 420000,
      "permitsPer1000Units": 11.54,
      "permitsYoY": -0.1141,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 25.9,
        "listPriceYoY": 55.5,
        "inventoryYoY": 10.4,
        "domYoY": 5.5,
        "priceCutShareYoY": 80.3,
        "popChange1yr": 79.1,
        "domesticMigPer1000": 72.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 93.3,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "tornado",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 62.5,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 94.9,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 70.6,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 98.6,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 95.7,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 93.8,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 82.6,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 352207,
      "homeValue4br": 479316,
      "homeValueYoY": -0.009,
      "dataStatus": "verified",
      "nationalRank": 77,
      "opportunityScore": 40,
      "opportunityBasis": "full",
      "buyerScore": 68,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 89,
        "domYoY": 94,
        "priceCutShareYoY": 20,
        "priceCutShare": 67
      },
      "grossYield": 0.0918,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0845
    },
    {
      "slug": "branson",
      "city": "Branson",
      "state": "Missouri",
      "stateCode": "MO",
      "lat": 36.6436,
      "lng": -93.2185,
      "adr": 185,
      "occupancy": 64,
      "annualRevenue": 43000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/branson",
      "regUrl": "/regulations/branson-mo-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "No density caps: No limits on STR concentration in any neighborhood or zone",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "regSourceUrl": "https://stragenthub.com/regulations/branson-mo-airbnb-regulations",
      "countyName": "Taney County",
      "countyFips": "29213",
      "seasonalShare": 0.2095,
      "bigHomeShare": 0.1636,
      "tourismJobShare": 0.1964,
      "amenityScore": 69,
      "dining": 137,
      "attractions": 49,
      "outdoors": 98,
      "lodgingCompetition": 128,
      "pop150": 4440057,
      "pop300": 21082452,
      "nearestMetros": [
        {
          "name": "Pulaski County, AR",
          "pop": 398322
        },
        {
          "name": "Greene County, MO",
          "pop": 299188
        },
        {
          "name": "Benton County, AR",
          "pop": 286528
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          47.4,
          49.7,
          60.5,
          68,
          75.9,
          86.4,
          91,
          88.9,
          85,
          70.2,
          59.1,
          53.1
        ],
        "lowF": [
          29.6,
          28.7,
          39.3,
          46.6,
          56.7,
          65.9,
          71.4,
          69.7,
          64.1,
          50.9,
          39.1,
          34.7
        ],
        "precipIn": [
          4.1,
          3.9,
          5.8,
          5.2,
          7,
          3.3,
          3.1,
          3.6,
          1.9,
          5.3,
          3.1,
          2.7
        ],
        "snowIn": [
          3.7,
          3.3,
          0.4,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.5,
          0.8
        ],
        "sunHours": [
          5.9,
          6.7,
          7.7,
          9.4,
          9.8,
          12.1,
          12.2,
          11.1,
          10.8,
          8.2,
          7.9,
          6.7
        ]
      },
      "effectiveTaxRate": 0.00633,
      "taxTopCoded": false,
      "annualTax4br": 2357,
      "annualTaxTypical": 1560,
      "lossPer100k": 185,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 45,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.003,
        "listPriceYoY": -0.0185,
        "inventoryYoY": 0.0918,
        "domYoY": -0.0213,
        "priceCutShare": 0.2007,
        "priceCutShareYoY": 0.0153,
        "popChange1yr": 0.0021,
        "domesticMigPer1000": 4.4
      },
      "activeListings": 797,
      "medianDom": 92,
      "medianListPrice": 269900,
      "permitsPer1000Units": 29.11,
      "permitsYoY": 1.6718,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 34.2,
        "listPriceYoY": 58.4,
        "inventoryYoY": 32.9,
        "domYoY": 56.1,
        "priceCutShareYoY": 23.7,
        "popChange1yr": 44,
        "domesticMigPer1000": 68.6
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 84,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "riverFlood",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": 38.3,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 89.1,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 67.9,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 77.7,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 76,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 82.6,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 67.3,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 246435,
      "homeValue4br": 372406,
      "homeValueYoY": -0.003,
      "dataStatus": "verified",
      "nationalRank": 78,
      "opportunityScore": 46,
      "opportunityBasis": "full",
      "buyerScore": 60,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 67,
        "domYoY": 44,
        "priceCutShareYoY": 76,
        "priceCutShare": 52
      },
      "grossYield": 0.1155,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1092
    },
    {
      "slug": "surprise",
      "city": "Surprise",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 33.6292,
      "lng": -112.3679,
      "adr": 175,
      "occupancy": 67,
      "annualRevenue": 43000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "No separate city STR licence identified - verify with city",
      "tax": "State TPT + county + city lodging tax; TPT licence must list each address",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Up to $500 / $1,000 / $3,500 (or 1/2/3 nights rent) per verified violation",
      "restrictions": null,
      "marketUrl": "/markets/surprise",
      "regUrl": "/regulations/surprise-az-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "What a city may do: Require a licence or permit, and require a 24/7 emergency contact.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "jurisdiction": "City of Surprise",
      "strCap": "None - caps barred by state law (A.R.S. 9-500.39)",
      "statusNote": "Published summaries disagree; confirm with city licensing.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.surpriseaz.gov/",
      "countyName": "Maricopa County",
      "countyFips": "04013",
      "seasonalShare": 0.0358,
      "bigHomeShare": 0.2619,
      "tourismJobShare": 0.093,
      "amenityScore": 90,
      "dining": 330,
      "attractions": 129,
      "outdoors": 826,
      "lodgingCompetition": 38,
      "pop150": 6418906,
      "pop300": 17874247,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pima County, AZ",
          "pop": 1042393
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          64.7,
          67.3,
          73.8,
          87.1,
          93.4,
          103.2,
          106.7,
          104.7,
          99.4,
          88.3,
          76.6,
          64.8
        ],
        "lowF": [
          43.4,
          44.2,
          50.4,
          60,
          67.7,
          77.1,
          84.6,
          83.3,
          76.5,
          63,
          53,
          44.8
        ],
        "precipIn": [
          1.1,
          1.3,
          1.6,
          0,
          0,
          0.1,
          1.9,
          1.2,
          1.1,
          0.1,
          0.6,
          1.7
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.7,
          10.3,
          12.4,
          12.9,
          13.2,
          12,
          12,
          11.3,
          10.7,
          9.4,
          7.9
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 2798,
      "annualTaxTypical": 2313,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0495,
        "inventoryYoY": 0.0564,
        "domYoY": -0.0563,
        "priceCutShare": 0.277,
        "priceCutShareYoY": -0.0097,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 0.2
      },
      "activeListings": 15125,
      "medianDom": 67,
      "medianListPrice": 499000,
      "permitsPer1000Units": 17.38,
      "permitsYoY": -0.13,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 25.4,
        "inventoryYoY": 42.8,
        "domYoY": 74.6,
        "priceCutShareYoY": 55.5,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 44
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 26.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 84,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 456252,
      "homeValue4br": 551940,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 79,
      "opportunityScore": 47,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 57,
        "domYoY": 26,
        "priceCutShareYoY": 44,
        "priceCutShare": 90
      },
      "grossYield": 0.0779,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0728
    },
    {
      "slug": "st-louis",
      "city": "St. Louis",
      "state": "Missouri",
      "stateCode": "MO",
      "lat": 38.627,
      "lng": -90.1994,
      "adr": 175,
      "occupancy": 65,
      "annualRevenue": 42000,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Occupied / Non-Occupied STR permit (Ord. 71729)",
      "tax": null,
      "zoning": null,
      "minStay": "2 nights",
      "occupancyRule": null,
      "penalties": "$500 per violation per day; revocation + 12-month bar on 3rd violation",
      "restrictions": null,
      "marketUrl": "/markets/st-louis",
      "regUrl": "/regulations/st-louis-mo-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Permit regime adopted — currently halted by court order",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "City of St. Louis",
      "permitFee": "$150 per permit (fee under legal challenge)",
      "strCap": "1 occupied + 4 non-occupied permits per natural person; building caps 50% / 25% / 12.5%",
      "statusNote": "PERMIT REGIME ENJOINED by court order since Apr 2025 - check city status page.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.stlouis-mo.gov/government/departments/public-safety/building/permits/short-term-rental-permits/index.cfm",
      "countyName": "St. Louis city",
      "countyFips": "29510",
      "seasonalShare": 0.0044,
      "bigHomeShare": 0.1115,
      "tourismJobShare": 0.1155,
      "amenityScore": 90,
      "dining": 882,
      "attractions": 112,
      "outdoors": 407,
      "lodgingCompetition": 100,
      "pop150": 6344761,
      "pop300": 38408135,
      "nearestMetros": [
        {
          "name": "St. Louis County, MO",
          "pop": 999703
        },
        {
          "name": "St. Charles County, MO",
          "pop": 406262
        },
        {
          "name": "St. Louis city, MO",
          "pop": 298018
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          41.5,
          44.5,
          56.5,
          65.6,
          74.9,
          85.5,
          88.1,
          85.7,
          81.5,
          67.6,
          55.1,
          48.2
        ],
        "lowF": [
          26,
          25,
          37,
          44.8,
          56.4,
          65.8,
          70.7,
          68.8,
          62.8,
          49.5,
          36.8,
          31
        ],
        "precipIn": [
          3.9,
          3,
          6.1,
          4.7,
          5.8,
          5,
          8,
          6.1,
          3.1,
          4.7,
          2.3,
          2.8
        ],
        "snowIn": [
          5.2,
          4.6,
          0.7,
          0.3,
          0,
          0,
          0,
          0,
          0,
          0,
          0.7,
          2.4
        ],
        "sunHours": [
          5.3,
          6.7,
          7.4,
          8.9,
          9.7,
          11.5,
          11.8,
          11,
          10.4,
          7.8,
          7.6,
          6
        ]
      },
      "effectiveTaxRate": 0.01083,
      "taxTopCoded": false,
      "annualTax4br": 3498,
      "annualTaxTypical": 1970,
      "lossPer100k": 187,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 28,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.003,
        "listPriceYoY": -0.0237,
        "inventoryYoY": 0.1169,
        "domYoY": 0,
        "priceCutShare": 0.2227,
        "priceCutShareYoY": 0.0177,
        "popChange1yr": -0.0082,
        "domesticMigPer1000": -13.37
      },
      "activeListings": 812,
      "medianDom": 51,
      "medianListPrice": 209900,
      "permitsPer1000Units": 1.57,
      "permitsYoY": -0.0748,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 34.2,
        "listPriceYoY": 54.9,
        "inventoryYoY": 27.2,
        "domYoY": 49.7,
        "priceCutShareYoY": 21.1,
        "popChange1yr": 4.6,
        "domesticMigPer1000": 4.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "loosening",
      "regChangeType": "litigation",
      "regChangeYear": 2025,
      "regChangePending": false,
      "regDirectionEvidence": "PERMIT REGIME ENJOINED by court order since Apr 2025 - check city status page.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 98.7,
      "riskRating": "Relatively High",
      "topHazards": [
        "tornado",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 32.1,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 97,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 3,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 98.9,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 98.5,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 79.7,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 87.1,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 181925,
      "homeValue4br": 322950,
      "homeValueYoY": -0.003,
      "dataStatus": "verified",
      "nationalRank": 80,
      "opportunityScore": 32,
      "opportunityBasis": "full",
      "buyerScore": 67,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 73,
        "domYoY": 51,
        "priceCutShareYoY": 79,
        "priceCutShare": 64
      },
      "grossYield": 0.1301,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1193
    },
    {
      "slug": "lake-sinclair",
      "city": "Lake Sinclair",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 33.1236,
      "lng": -83.2468,
      "adr": 195,
      "occupancy": 58,
      "annualRevenue": 41000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Baldwin: STVR Certificate (LDC 16-75). Putnam: STVR Certificate. Hancock: none found",
      "tax": "4% state sales tax + $5/night state fee + local hotel-motel tax (6-8%)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Baldwin: $500-$1,000, then $1,000, then $1,000 + automatic revocation",
      "restrictions": null,
      "marketUrl": "/markets/lake-sinclair",
      "regUrl": "/regulations/lake-sinclair-ga-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Certificate required in Baldwin and Putnam; none found for Hancock",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Baldwin, Putnam and Hancock counties (unincorporated)",
      "statusNote": "GA SB 570 training required for all STR operators from 1 Jul 2026.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.baldwincountyga.com/1289/Short-Term-Rental-Information-Applicatio",
      "countyName": "Baldwin County",
      "countyFips": "13009",
      "seasonalShare": 0.0503,
      "bigHomeShare": 0.1863,
      "tourismJobShare": 0.126,
      "amenityScore": 46,
      "dining": 46,
      "attractions": 8,
      "outdoors": 18,
      "lodgingCompetition": 10,
      "pop150": 13077317,
      "pop300": 37075974,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          57.2,
          62.7,
          69.2,
          75.5,
          83.3,
          88.5,
          91.2,
          90.4,
          85.4,
          76.5,
          65.3,
          59.4
        ],
        "lowF": [
          40.9,
          44.1,
          49.5,
          53.8,
          62.7,
          69.6,
          73.4,
          72.9,
          67.1,
          58.2,
          47.7,
          43
        ],
        "precipIn": [
          5.1,
          4.2,
          4.6,
          4.1,
          2.1,
          3.6,
          4.1,
          4.5,
          3.5,
          3,
          2.5,
          4.2
        ],
        "snowIn": [
          0.1,
          0,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.8,
          6.8,
          8.4,
          10.6,
          11.1,
          10.9,
          11.2,
          10.8,
          10.1,
          9.1,
          7.9,
          6.4
        ]
      },
      "effectiveTaxRate": 0.00754,
      "taxTopCoded": false,
      "annualTax4br": 2830,
      "annualTaxTypical": 1757,
      "lossPer100k": 99,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.023,
        "listPriceYoY": 0.0583,
        "inventoryYoY": 0.2471,
        "domYoY": 0.1761,
        "priceCutShare": 0.2395,
        "priceCutShareYoY": 0.0115,
        "popChange1yr": 0.004,
        "domesticMigPer1000": 5.18
      },
      "activeListings": 212,
      "medianDom": 84,
      "medianListPrice": 365000,
      "permitsPer1000Units": 4.73,
      "permitsYoY": -0.5297,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 69.5,
        "listPriceYoY": 92.5,
        "inventoryYoY": 8.7,
        "domYoY": 9.2,
        "priceCutShareYoY": 27.2,
        "popChange1yr": 51.4,
        "domesticMigPer1000": 72
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "GA SB 570 training required for all STR operators from 1 Jul 2026.",
      "regDirectionReviewed": false,
      "riskScore": 50,
      "riskRating": "Relatively Low",
      "topHazards": [
        "earthquake",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 68.3,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 63.2,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 66.9,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 51.9,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 73.1,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 10.8,
          "rating": "Very Low"
        },
        "hail": {
          "score": 58,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 233051,
      "homeValue4br": 375330,
      "homeValueYoY": 0.023,
      "dataStatus": "verified",
      "nationalRank": 81,
      "opportunityScore": 31,
      "opportunityBasis": "full",
      "buyerScore": 82,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 91,
        "domYoY": 91,
        "priceCutShareYoY": 73,
        "priceCutShare": 73
      },
      "grossYield": 0.1092,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.1017
    },
    {
      "slug": "dallas",
      "city": "Dallas",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 32.7767,
      "lng": -96.797,
      "adr": 185,
      "occupancy": 60,
      "annualRevenue": 40000,
      "medianPrice": 390000,
      "regStrictness": 2,
      "regNotes": "Relatively STR-friendly. Business registration required. HOA restrictions may apply.",
      "growthTrend": "+6%",
      "permit": null,
      "tax": "9% City of Dallas hotel occupancy tax on net room revenue + 6% Texas state HOT = 15%. City HOT registration is free.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/dallas",
      "regUrl": "/regulations/dallas-tx-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "regulation-page",
        "regulations-table"
      ],
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://dallascityhall.com/departments/controllersoffice/Pages/hotel-taxes.aspx",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Dallas County",
      "countyFips": "48113",
      "seasonalShare": 0.0036,
      "bigHomeShare": 0.1795,
      "tourismJobShare": 0.0881,
      "amenityScore": 90,
      "dining": 1166,
      "attractions": 86,
      "outdoors": 421,
      "lodgingCompetition": 168,
      "pop150": 11026657,
      "pop300": 32345205,
      "nearestMetros": [
        {
          "name": "Dallas County, TX",
          "pop": 2604053
        },
        {
          "name": "Tarrant County, TX",
          "pop": 2113854
        },
        {
          "name": "Collin County, TX",
          "pop": 1079153
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          57.4,
          57.7,
          68.7,
          74.8,
          82.2,
          90.2,
          95.1,
          96.1,
          90.3,
          78.2,
          66.2,
          61.7
        ],
        "lowF": [
          39.3,
          38.4,
          49.5,
          55.6,
          64.9,
          72.7,
          77.6,
          78.3,
          71.9,
          59,
          47.8,
          43.5
        ],
        "precipIn": [
          2.9,
          4.4,
          5.8,
          6.1,
          8.8,
          4.9,
          3,
          4.1,
          3.1,
          7,
          4.3,
          2.7
        ],
        "snowIn": [
          0.4,
          0.8,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.9,
          6.9,
          8.2,
          9.4,
          9.3,
          11.2,
          12.1,
          12,
          10.8,
          9.2,
          7.8,
          7.3
        ]
      },
      "effectiveTaxRate": 0.01729,
      "taxTopCoded": false,
      "annualTax4br": 7229,
      "annualTaxTypical": 5302,
      "lossPer100k": 124,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 42,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.019,
        "listPriceYoY": 0.0003,
        "inventoryYoY": -0.0305,
        "domYoY": 0.0175,
        "priceCutShare": 0.2679,
        "priceCutShareYoY": -0.0139,
        "popChange1yr": -0.001,
        "domesticMigPer1000": -17.35
      },
      "activeListings": 7272,
      "medianDom": 58,
      "medianListPrice": 385000,
      "permitsPer1000Units": 12.2,
      "permitsYoY": -0.0016,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 12.4,
        "listPriceYoY": 73.4,
        "inventoryYoY": 73.4,
        "domYoY": 38.2,
        "priceCutShareYoY": 67.1,
        "popChange1yr": 26.9,
        "domesticMigPer1000": 1.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 79306924.38,
        "priorTtm": 80641384.89,
        "yoy": -0.0165,
        "period": "FY2025",
        "unit": "tax collected USD",
        "geography": "Dallas",
        "locations": 494,
        "smallPropertyShare": null,
        "sourceUrl": "https://data.texas.gov/d/er34-v24h"
      },
      "driverCount": 5,
      "emergingDriverCount": 1,
      "eventMonths": [
        9,
        10
      ],
      "riskScore": 99.7,
      "riskRating": "Very High",
      "topHazards": [
        "hail",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 73.6,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.6,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 80.3,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 99.8,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 91.3,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 98.7,
          "rating": "Very High"
        },
        "hail": {
          "score": 100,
          "rating": "Very High"
        }
      },
      "homeValue": 306649,
      "homeValue4br": 418101,
      "homeValueYoY": -0.019,
      "dataStatus": "verified",
      "nationalRank": 82,
      "opportunityScore": 40,
      "opportunityBasis": "full",
      "buyerScore": 52,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 27,
        "domYoY": 62,
        "priceCutShareYoY": 33,
        "priceCutShare": 87
      },
      "grossYield": 0.0957,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0784
    },
    {
      "slug": "skagit-county",
      "city": "Skagit County",
      "state": "Washington",
      "stateCode": "WA",
      "lat": 48.4429,
      "lng": -122.3378,
      "adr": 185,
      "occupancy": 60,
      "annualRevenue": 40000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "No standalone STR ordinance - governed by zoning use tables",
      "tax": "State + local sales and lodging taxes; $1M liability insurance required (RCW 64.37)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/skagit-county",
      "regUrl": "/regulations/skagit-county-wa-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "No standalone STR ordinance — governed by zoning",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Skagit County (unincorporated)",
      "statusNote": "Get a written zoning determination per parcel.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.skagitcounty.net/Departments/PlanningAndPermit",
      "countyName": "Skagit County",
      "countyFips": "53057",
      "seasonalShare": 0.0487,
      "bigHomeShare": 0.1707,
      "tourismJobShare": 0.0995,
      "amenityScore": 70,
      "dining": 229,
      "attractions": 29,
      "outdoors": 123,
      "lodgingCompetition": 26,
      "pop150": 5599046,
      "pop300": 10978542,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Snohomish County, WA",
          "pop": 828337
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 5,
      "snowMonths": 1,
      "climate": {
        "highF": [
          46.9,
          44.2,
          51.5,
          56.1,
          63.7,
          68.9,
          74.2,
          75.1,
          69,
          58.4,
          49.2,
          44.7
        ],
        "lowF": [
          35.2,
          31.7,
          34.9,
          39,
          45.9,
          51.2,
          54.3,
          55.3,
          52,
          44.5,
          36.6,
          33.8
        ],
        "precipIn": [
          6.7,
          5.4,
          4.2,
          4.3,
          3,
          2.7,
          1.1,
          1.2,
          3.4,
          5.5,
          7.4,
          7.2
        ],
        "snowIn": [
          3.7,
          7,
          2.5,
          1.3,
          0,
          0,
          0,
          0,
          0,
          0,
          2.1,
          5.2
        ],
        "sunHours": [
          3.7,
          4.7,
          7.3,
          8.5,
          9.6,
          11.2,
          12.5,
          11.2,
          8.8,
          6.2,
          4.5,
          3
        ]
      },
      "effectiveTaxRate": 0.0086,
      "taxTopCoded": false,
      "annualTax4br": 6072,
      "annualTaxTypical": 4979,
      "lossPer100k": 215,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 37,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.012,
        "listPriceYoY": -0.009,
        "inventoryYoY": 0.2897,
        "domYoY": 0.1556,
        "priceCutShare": 0.25,
        "priceCutShareYoY": 0.0398,
        "popChange1yr": 0.0055,
        "domesticMigPer1000": 3.64
      },
      "activeListings": 512,
      "medianDom": 52,
      "medianListPrice": 718500,
      "permitsPer1000Units": 6.68,
      "permitsYoY": -0.3181,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 58.3,
        "listPriceYoY": 65.3,
        "inventoryYoY": 5.2,
        "domYoY": 11,
        "priceCutShareYoY": 4,
        "popChange1yr": 54,
        "domesticMigPer1000": 64.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        4
      ],
      "riskScore": 88.8,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "earthquake",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 91.4,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 87.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 52.5,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 11.2,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 97,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 73.3,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 4.7,
          "rating": "Very Low"
        }
      },
      "homeValue": 578908,
      "homeValue4br": 706004,
      "homeValueYoY": 0.012,
      "dataStatus": "verified",
      "nationalRank": 83,
      "opportunityScore": 31,
      "opportunityBasis": "full",
      "buyerScore": 89,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 95,
        "domYoY": 89,
        "priceCutShareYoY": 96,
        "priceCutShare": 77
      },
      "grossYield": 0.0567,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0481
    },
    {
      "slug": "buckeye",
      "city": "Buckeye",
      "state": "Arizona",
      "stateCode": "AZ",
      "lat": 33.3703,
      "lng": -112.5838,
      "adr": 165,
      "occupancy": 64,
      "annualRevenue": 39000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Rental registration (County Assessor + city)",
      "tax": "State TPT + county + city lodging tax; TPT licence must list each address",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Up to $150/day for failing to register; state penalties also apply",
      "restrictions": null,
      "marketUrl": "/markets/buckeye",
      "regUrl": "/regulations/buckeye-az-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Buckeye requires the property to be registered as a rental with the Maricopa County Assessor and with the City of Buckeye.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "jurisdiction": "City of Buckeye",
      "strCap": "None - caps barred by state law (A.R.S. 9-500.39)",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://buckeyeaz.gov/",
      "countyName": "Maricopa County",
      "countyFips": "04013",
      "seasonalShare": 0.0358,
      "bigHomeShare": 0.2619,
      "tourismJobShare": 0.093,
      "amenityScore": 56,
      "dining": 42,
      "attractions": 4,
      "outdoors": 279,
      "lodgingCompetition": 9,
      "pop150": 6418906,
      "pop300": 21044353,
      "nearestMetros": [
        {
          "name": "Maricopa County, AZ",
          "pop": 4430871
        },
        {
          "name": "Pima County, AZ",
          "pop": 1042393
        },
        {
          "name": "Pinal County, AZ",
          "pop": 433338
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 5,
      "snowMonths": 0,
      "climate": {
        "highF": [
          66.1,
          68.6,
          75.2,
          88.1,
          94.2,
          104,
          107.3,
          106,
          100.4,
          89.5,
          77.6,
          66
        ],
        "lowF": [
          44.1,
          45.3,
          51.2,
          60.7,
          67.6,
          77.1,
          84.6,
          83.8,
          76.9,
          63.9,
          54,
          45.9
        ],
        "precipIn": [
          1,
          1,
          1.3,
          0,
          0,
          0.1,
          1,
          1,
          1,
          0.1,
          0.5,
          1.6
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.7,
          10.5,
          12.5,
          12.9,
          13.1,
          12,
          12,
          11.3,
          10.7,
          9.3,
          8
        ]
      },
      "effectiveTaxRate": 0.00507,
      "taxTopCoded": false,
      "annualTax4br": 2798,
      "annualTaxTypical": 2313,
      "lossPer100k": 141,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0495,
        "inventoryYoY": 0.0564,
        "domYoY": -0.0563,
        "priceCutShare": 0.277,
        "priceCutShareYoY": -0.0097,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 0.2
      },
      "activeListings": 15125,
      "medianDom": 67,
      "medianListPrice": 499000,
      "permitsPer1000Units": 17.38,
      "permitsYoY": -0.13,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 25.4,
        "inventoryYoY": 42.8,
        "domYoY": 74.6,
        "priceCutShareYoY": 55.5,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 44
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 26.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 84,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 38.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 456252,
      "homeValue4br": 551940,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 84,
      "opportunityScore": 35,
      "opportunityBasis": "full",
      "buyerScore": 54,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 57,
        "domYoY": 26,
        "priceCutShareYoY": 44,
        "priceCutShare": 90
      },
      "grossYield": 0.0707,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0656
    },
    {
      "slug": "san-antonio",
      "city": "San Antonio",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 29.4241,
      "lng": -98.4936,
      "adr": 175,
      "occupancy": 58,
      "annualRevenue": 37000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "City of San Antonio STR permit from Development Services - Type 1 (owner or operator occupied) or Type 2 (not owner or operator occupied); ordinances 2018-11-01-0858 and 2024-06-13-0433",
      "tax": "9% City of San Antonio HOT + 1.75% Bexar County HOT + 6% Texas state HOT = 16.75%",
      "zoning": null,
      "minStay": "Rentals of less than 30 consecutive days",
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/san-antonio",
      "regUrl": "/regulations/san-antonio-tx-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Properties in San Antonio's historic district overlays, particularly near the Alamo and River Walk, must comply with additional requirements:",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "permitFee": "Type 1 $300, Type 2 $450 (non-refundable), plus $10 for paper applications; Board of Adjustment special exception $400 with Homestead Exemption / $600 otherwise",
      "strCap": "Type 1 no density limit; Type 2 limited to 12.5% of the block face for single-family residential, one Type 2 in 5-7 unit multi-family buildings, 12.5% of units in 8+ unit buildings, rounded down",
      "ownerOccupancy": "Not required, but determines permit type - Type 1 is owner or operator occupied and escapes the density cap; Type 2 is non-owner-occupied and is capped",
      "transfersOnSale": "No - 'Permits are valid for three years and are not transferable.'",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.sa.gov/Directory/Departments/DSD/STR",
      "countyName": "Bexar County",
      "countyFips": "48029",
      "seasonalShare": 0.0061,
      "bigHomeShare": 0.2195,
      "tourismJobShare": 0.1098,
      "amenityScore": 88,
      "dining": 737,
      "attractions": 107,
      "outdoors": 334,
      "lodgingCompetition": 285,
      "pop150": 6937378,
      "pop300": 26447132,
      "nearestMetros": [
        {
          "name": "Bexar County, TX",
          "pop": 2014059
        },
        {
          "name": "Travis County, TX",
          "pop": 1289054
        },
        {
          "name": "Williamson County, TX",
          "pop": 617396
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          64.9,
          65.1,
          76.3,
          81.4,
          87,
          94.2,
          96.5,
          97.2,
          92.4,
          82.8,
          70.5,
          68.1
        ],
        "lowF": [
          45.7,
          44.8,
          55.5,
          60.9,
          68.5,
          74.4,
          76.8,
          77.6,
          73.6,
          63.2,
          52.7,
          48
        ],
        "precipIn": [
          2.2,
          1.9,
          2.2,
          4.5,
          7.4,
          2.7,
          2.6,
          2.4,
          2.7,
          3.8,
          2.8,
          1.6
        ],
        "snowIn": [
          0.1,
          0.9,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.2,
          6.8,
          7.8,
          8.8,
          10,
          11.6,
          11.9,
          11.7,
          10.7,
          9.2,
          7,
          7.3
        ]
      },
      "effectiveTaxRate": 0.01876,
      "taxTopCoded": false,
      "annualTax4br": 6231,
      "annualTaxTypical": 4762,
      "lossPer100k": 130,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 46,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.022,
        "listPriceYoY": -0.0321,
        "inventoryYoY": 0.026,
        "domYoY": 0,
        "priceCutShare": 0.2848,
        "priceCutShareYoY": 0.0101,
        "popChange1yr": 0.0099,
        "domesticMigPer1000": 1.17
      },
      "activeListings": 9204,
      "medianDom": 64,
      "medianListPrice": 289900,
      "permitsPer1000Units": 7.99,
      "permitsYoY": -0.2415,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 9.2,
        "listPriceYoY": 42.8,
        "inventoryYoY": 54.9,
        "domYoY": 49.7,
        "priceCutShareYoY": 29.5,
        "popChange1yr": 83.4,
        "domesticMigPer1000": 52.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 104769601,
        "priorTtm": 99324451,
        "yoy": 0.0548,
        "period": "FY2025",
        "unit": "tax collected USD",
        "geography": "San Antonio",
        "locations": 926,
        "smallPropertyShare": null,
        "sourceUrl": "https://data.texas.gov/d/er34-v24h"
      },
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [
        2
      ],
      "riskScore": 99.4,
      "riskRating": "Relatively High",
      "topHazards": [
        "tornado",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 83.5,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.7,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 92.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 99.9,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 61.9,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 88.3,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 99.9,
          "rating": "Very High"
        }
      },
      "homeValue": 253814,
      "homeValue4br": 332119,
      "homeValueYoY": -0.022,
      "dataStatus": "verified",
      "nationalRank": 85,
      "opportunityScore": 40,
      "opportunityBasis": "full",
      "buyerScore": 65,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 45,
        "domYoY": 51,
        "priceCutShareYoY": 71,
        "priceCutShare": 94
      },
      "grossYield": 0.1114,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0926
    },
    {
      "slug": "kittitas-county",
      "city": "Kittitas County",
      "state": "Washington",
      "stateCode": "WA",
      "lat": 47.0014,
      "lng": -120.5382,
      "adr": 175,
      "occupancy": 58,
      "annualRevenue": 37000,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Registration, renewed annually (KCC 5.06) - Type 1/2/3",
      "tax": "State + local sales and lodging taxes; $1M liability insurance required (RCW 64.37)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": "/markets/kittitas-county",
      "regUrl": "/regulations/kittitas-county-wa-airbnb-regulations",
      "sources": [
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "curated",
      "regEvidence": "Registration required, renewed annually (KCC 5.06)",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": true,
      "jurisdiction": "Kittitas County (unincorporated); cities differ",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.co.kittitas.wa.us/boards/boards.aspx?board=short-term-rental",
      "countyName": "Kittitas County",
      "countyFips": "53037",
      "seasonalShare": 0.136,
      "bigHomeShare": 0.1776,
      "tourismJobShare": 0.1527,
      "amenityScore": 57,
      "dining": 91,
      "attractions": 15,
      "outdoors": 42,
      "lodgingCompetition": 16,
      "pop150": 8268135,
      "pop300": 12161800,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Snohomish County, WA",
          "pop": 828337
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 6,
      "snowMonths": 3,
      "climate": {
        "highF": [
          38.8,
          39.9,
          49.4,
          57.7,
          68.6,
          76.5,
          85.8,
          86.5,
          75.5,
          61.5,
          45.6,
          36.5
        ],
        "lowF": [
          26.6,
          26,
          30.4,
          36.8,
          47.1,
          54.2,
          60.9,
          61.3,
          53.1,
          42,
          30.3,
          25
        ],
        "precipIn": [
          3,
          2.3,
          1,
          1.3,
          0.9,
          0.5,
          0.1,
          0.2,
          0.9,
          1.3,
          2.8,
          3
        ],
        "snowIn": [
          8.5,
          7.5,
          2.2,
          1.6,
          0,
          0,
          0,
          0,
          0,
          0.2,
          4,
          9.2
        ],
        "sunHours": [
          5.2,
          7,
          9.4,
          10.8,
          12.2,
          13.9,
          14.4,
          13.2,
          10.6,
          8.7,
          6.4,
          4.6
        ]
      },
      "effectiveTaxRate": 0.00698,
      "taxTopCoded": false,
      "annualTax4br": 4662,
      "annualTaxTypical": 3469,
      "lossPer100k": 444,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 57,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.002,
        "listPriceYoY": 0.0216,
        "inventoryYoY": 0.1495,
        "domYoY": 0.1156,
        "priceCutShare": 0.1938,
        "priceCutShareYoY": -0.0127,
        "popChange1yr": 0.0145,
        "domesticMigPer1000": 13.24
      },
      "activeListings": 492,
      "medianDom": 82,
      "medianListPrice": 809999,
      "permitsPer1000Units": 12.04,
      "permitsYoY": -0.3364,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 42.2,
        "listPriceYoY": 79.2,
        "inventoryYoY": 19.7,
        "domYoY": 15.6,
        "priceCutShareYoY": 64.7,
        "popChange1yr": 90.3,
        "domesticMigPer1000": 87.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 89.1,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "wildfire",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 74.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 99.7,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 7.4,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 93.9,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 53.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 14.2,
          "rating": "Very Low"
        }
      },
      "homeValue": 497022,
      "homeValue4br": 667963,
      "homeValueYoY": 0.002,
      "dataStatus": "verified",
      "nationalRank": 86,
      "opportunityScore": 33,
      "opportunityBasis": "full",
      "buyerScore": 62,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 80,
        "domYoY": 84,
        "priceCutShareYoY": 35,
        "priceCutShare": 47
      },
      "grossYield": 0.0554,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0484
    },
    {
      "slug": "houston",
      "city": "Houston",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 29.7604,
      "lng": -95.3698,
      "adr": 165,
      "occupancy": 55,
      "annualRevenue": 33000,
      "medianPrice": 310000,
      "regStrictness": 2,
      "regNotes": "STR-friendly city with no citywide permit requirement. Strong workforce demand.",
      "growthTrend": "+3%",
      "permit": "City of Houston short-term rental certificate of registration (Code of Ordinances ch. 28, art. XXIII), one per address, valid one year, renewal application no more than 90 days before expiry; human trafficking awareness training and HOT proof required",
      "tax": "6% Texas state hotel occupancy tax plus City of Houston hotel occupancy tax under ch. 44 art. III; proof of HOT registration or remittance is required to register (Airbnb-only listings excepted from proof)",
      "zoning": null,
      "minStay": "No rental for a period of less than one night; an STR is a rental of less than 30 consecutive days",
      "occupancyRule": "Maximum permitted occupancy limits must be stated in every listing (no numeric cap set in the ordinance)",
      "penalties": "Fine of not less than $100.00 and not more than $500.00 for each violation, each day a separate violation; certificate may be denied or revoked, with a one-year bar on reapplying after revocation, and a director may move to revoke all of an owner's certificates after three revocations in 24 months",
      "restrictions": null,
      "marketUrl": "/markets/houston",
      "regUrl": "/regulations/houston-tx-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "comparison",
        "regulation-page",
        "regulations-table"
      ],
      "transfersOnSale": "No - 'a certificate of registration is null and void if the registrant sells or conveys any ownership or leasehold interest in a property operated as a short-term rental'; the purchaser must apply for a new certificate",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.houstontx.gov/ara/str.html",
      "regStrictnessSource": "curated",
      "regRatingReviewed": true,
      "countyName": "Harris County",
      "countyFips": "48201",
      "seasonalShare": 0.0035,
      "bigHomeShare": 0.2345,
      "tourismJobShare": 0.0867,
      "amenityScore": 92,
      "dining": 1385,
      "attractions": 67,
      "outdoors": 645,
      "lodgingCompetition": 253,
      "pop150": 11190172,
      "pop300": 29764717,
      "nearestMetros": [
        {
          "name": "Harris County, TX",
          "pop": 4726177
        },
        {
          "name": "Travis County, TX",
          "pop": 1289054
        },
        {
          "name": "Fort Bend County, TX",
          "pop": 832607
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          63.8,
          65.1,
          72.5,
          77.4,
          84,
          90.1,
          91.3,
          92.7,
          88.5,
          80,
          70.1,
          67.3
        ],
        "lowF": [
          47,
          47.2,
          56.1,
          61.1,
          69,
          74.5,
          76.7,
          77.5,
          73.2,
          63.6,
          53.7,
          50.4
        ],
        "precipIn": [
          5.7,
          3.9,
          4.5,
          7.3,
          9.5,
          6.9,
          7.4,
          5.1,
          8,
          6,
          5.3,
          6.1
        ],
        "snowIn": [
          0,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.9,
          6.3,
          7.5,
          8.4,
          9.5,
          10.9,
          10.9,
          11.1,
          9.9,
          8.9,
          7.2,
          7.3
        ]
      },
      "effectiveTaxRate": 0.01771,
      "taxTopCoded": false,
      "annualTax4br": 6011,
      "annualTaxTypical": 4933,
      "lossPer100k": 190,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 44,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.021,
        "listPriceYoY": -0.0265,
        "inventoryYoY": 0.0101,
        "domYoY": 0.0204,
        "priceCutShare": 0.2104,
        "priceCutShareYoY": -0.0068,
        "popChange1yr": 0.0097,
        "domesticMigPer1000": -8.68
      },
      "activeListings": 18853,
      "medianDom": 50,
      "medianListPrice": 330000,
      "permitsPer1000Units": 16.69,
      "permitsYoY": 0.0325,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 10.1,
        "listPriceYoY": 52.3,
        "inventoryYoY": 60.7,
        "domYoY": 37,
        "priceCutShareYoY": 50.9,
        "popChange1yr": 82.3,
        "domesticMigPer1000": 14.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Houston is one of the most STR-friendly major cities in the United States with no city-wide short-term rental regulations.",
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 111191705.5,
        "priorTtm": 106334352,
        "yoy": 0.0457,
        "period": "FY2025",
        "unit": "tax collected USD",
        "geography": "Houston",
        "locations": 1244,
        "smallPropertyShare": null,
        "sourceUrl": "https://data.texas.gov/d/er34-v24h"
      },
      "driverCount": 6,
      "emergingDriverCount": 1,
      "eventMonths": [
        3
      ],
      "riskScore": 99.9,
      "riskRating": "Very High",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 100,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 83.2,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 100,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 85.4,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 100,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 92.1,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 88.8,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 92,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 278518,
      "homeValue4br": 339431,
      "homeValueYoY": -0.021,
      "dataStatus": "verified",
      "nationalRank": 87,
      "opportunityScore": 41,
      "opportunityBasis": "full",
      "buyerScore": 53,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 40,
        "domYoY": 63,
        "priceCutShareYoY": 49,
        "priceCutShare": 59
      },
      "grossYield": 0.0972,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0795
    },
    {
      "slug": "fort-worth",
      "city": "Fort Worth",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 32.7555,
      "lng": -97.3308,
      "adr": 155,
      "occupancy": 57,
      "annualRevenue": 32000,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-term rental registration with the City of Fort Worth under Ordinance No. 26005-02-2023 (Chapter 7), plus hotel occupancy tax registration",
      "tax": "6% Texas state hotel occupancy tax plus City of Fort Worth hotel occupancy tax (city rate not published on the pages reached). City HOT is due by the 25th of the following month; 15% late penalty and 10% per annum interest on delinquent tax.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "15% late penalty on unremitted or unreported tax plus 10% per annum interest; filing a false report or failing to collect the tax is a misdemeanour under the city code",
      "restrictions": null,
      "marketUrl": "/markets/fort-worth",
      "regUrl": "/regulations/fort-worth-tx-airbnb-regulations",
      "sources": [
        "analytics",
        "market-page",
        "regulation-page",
        "derived-rating",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "require a specific STR operating license or permit, nor does it impose density limits on short-term rentals in residential areas.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "permitFee": "$150 initial application (non-refundable); $100 annual renewal (non-refundable)",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.fortworthtexas.gov/short-term-rentals",
      "countyName": "Tarrant County",
      "countyFips": "48439",
      "seasonalShare": 0.004,
      "bigHomeShare": 0.2399,
      "tourismJobShare": 0.0879,
      "amenityScore": 84,
      "dining": 626,
      "attractions": 56,
      "outdoors": 348,
      "lodgingCompetition": 187,
      "pop150": 11350125,
      "pop300": 31204296,
      "nearestMetros": [
        {
          "name": "Dallas County, TX",
          "pop": 2604053
        },
        {
          "name": "Tarrant County, TX",
          "pop": 2113854
        },
        {
          "name": "Collin County, TX",
          "pop": 1079153
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          58.1,
          58.2,
          69.5,
          75.9,
          82.8,
          91.5,
          96.9,
          97,
          90.6,
          78.6,
          66.6,
          62.7
        ],
        "lowF": [
          39.7,
          38.3,
          49.7,
          56.1,
          64.9,
          73.1,
          78.2,
          78.6,
          72.1,
          59.1,
          48,
          43.8
        ],
        "precipIn": [
          2.2,
          3.5,
          4.3,
          4.7,
          7.5,
          4,
          1.6,
          2.7,
          1.8,
          6,
          2.6,
          2.4
        ],
        "snowIn": [
          0.4,
          0.8,
          0.3,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.2,
          7.1,
          8.5,
          9.3,
          9.6,
          11.4,
          12.4,
          12,
          10.9,
          9.4,
          7.8,
          7.4
        ]
      },
      "effectiveTaxRate": 0.01823,
      "taxTopCoded": false,
      "annualTax4br": 7384,
      "annualTaxTypical": 5864,
      "lossPer100k": 115,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 59,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0003,
        "inventoryYoY": -0.0726,
        "domYoY": -0.0377,
        "priceCutShare": 0.2688,
        "priceCutShareYoY": -0.0164,
        "popChange1yr": 0.0083,
        "domesticMigPer1000": -3.13
      },
      "activeListings": 5928,
      "medianDom": 51,
      "medianListPrice": 369900,
      "permitsPer1000Units": 17.14,
      "permitsYoY": -0.2616,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 70.2,
        "inventoryYoY": 83.2,
        "domYoY": 61.8,
        "priceCutShareYoY": 74,
        "popChange1yr": 76.3,
        "domesticMigPer1000": 26.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "does not currently require a specific STR operating license or permit, nor does it impose density limits on short-term rentals in residential areas.",
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 46521984,
        "priorTtm": 46710911,
        "yoy": -0.004,
        "period": "FY2025",
        "unit": "tax collected USD",
        "geography": "Fort Worth",
        "locations": 246,
        "smallPropertyShare": null,
        "sourceUrl": "https://data.texas.gov/d/er34-v24h"
      },
      "driverCount": 5,
      "emergingDriverCount": 1,
      "eventMonths": [
        9,
        10
      ],
      "riskScore": 99.1,
      "riskRating": "Relatively High",
      "topHazards": [
        "hail",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 72.3,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.1,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 91.5,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 99.9,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 88.3,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 97.3,
          "rating": "Very High"
        },
        "hail": {
          "score": 100,
          "rating": "Very High"
        }
      },
      "homeValue": 321692,
      "homeValue4br": 405035,
      "homeValueYoY": -0.01,
      "dataStatus": "verified",
      "nationalRank": 88,
      "opportunityScore": 40,
      "opportunityBasis": "full",
      "buyerScore": 42,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 17,
        "domYoY": 39,
        "priceCutShareYoY": 26,
        "priceCutShare": 87
      },
      "grossYield": 0.079,
      "yieldBasis": "4br",
      "yieldAfterTax": 0.0608
    },
    {
      "slug": "anchorage",
      "city": "Anchorage",
      "state": "Alaska",
      "stateCode": "AK",
      "lat": 61.2181,
      "lng": -149.9003,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 1,
      "regNotes": null,
      "growthTrend": null,
      "permit": "STR Registration Number issued by the Municipal Clerk's Office under Anchorage Municipal Code 10.90, per Assembly Ordinance AO 2025-115(S-2). The registration portal opened May 1, 2026; existing/active STRs (including previously permitted Bed & Breakfasts) had until July 30, 2026 to register; registration renews annually by May 1 and the registration number must appear on all listings/advertisements.",
      "tax": "Alaska has no state sales or bed tax; whether Anchorage itself levies any municipal lodging/bed tax was not confirmed from available sources.",
      "zoning": null,
      "minStay": "Applies to rental stays of fewer than 30 consecutive days.",
      "occupancyRule": null,
      "penalties": "Beginning July 31, 2026, unregistered STRs may not legally post listings or advertisements on any platform without a valid registration number; specific fine amounts for noncompliance were not confirmed.",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/anchorage-ak-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Municipality of Anchorage (Municipal Clerk's Office)",
      "permitFee": "Free ($0) — this replaces the prior $145/year Bed & Breakfast permit.",
      "strCap": "None — STRs are permitted by right in all residential zones and some commercial zones.",
      "ownerOccupancy": "Not required; the registration form asks whether the owner lives on-site, but this information does not gate eligibility to register.",
      "statusNote": "This is a brand-new program (registration opened May 1, 2026; full compliance deadline July 30, 2026). Its stated purpose is to gather data on the number of STRs operating in the municipality to inform future housing-policy decisions — this data-gathering framing suggests it could be a precursor to tighter future rules (e.g., a cap), so this market is worth monitoring for follow-on ordinances.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.muni.org/Departments/Assembly/Clerk/Licensing/Pages/Short-Term-Rental-Registration-Program.aspx",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Anchorage Municipality",
      "countyFips": "02020",
      "seasonalShare": 0.0156,
      "bigHomeShare": 0.23,
      "tourismJobShare": 0.1023,
      "amenityScore": 81,
      "dining": 358,
      "attractions": 50,
      "outdoors": 842,
      "lodgingCompetition": 73,
      "pop150": 465570,
      "pop300": 592746,
      "nearestMetros": [
        {
          "name": "Anchorage Municipality, AK",
          "pop": 290674
        },
        {
          "name": "Matanuska-Susitna Borough, AK",
          "pop": 108661
        },
        {
          "name": "Kenai Peninsula Borough, AK",
          "pop": 59235
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 3,
      "snowMonths": 5,
      "climate": {
        "highF": [
          20.5,
          24.2,
          32.6,
          44.5,
          58.1,
          66.8,
          68.8,
          66,
          54.8,
          41.8,
          27.4,
          21.8
        ],
        "lowF": [
          11.4,
          13.6,
          18.9,
          26.5,
          40.5,
          50.4,
          54.1,
          52.2,
          43.3,
          31.9,
          18.4,
          11.7
        ],
        "precipIn": [
          1.8,
          2.4,
          1.7,
          1.3,
          1.8,
          1.2,
          3.5,
          4.5,
          5.2,
          3.7,
          3.6,
          3.1
        ],
        "snowIn": [
          10.9,
          15.7,
          10.2,
          5.3,
          1.4,
          0,
          0,
          0,
          0.3,
          3.5,
          18.3,
          18.2
        ],
        "sunHours": [
          2.5,
          3.8,
          7.1,
          9.7,
          11,
          12.5,
          11,
          9.4,
          6.5,
          4.9,
          3.1,
          1.4
        ]
      },
      "effectiveTaxRate": 0.01308,
      "taxTopCoded": false,
      "annualTax4br": 7273,
      "annualTaxTypical": 5696,
      "lossPer100k": 320,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 52,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.054,
        "listPriceYoY": -0.0303,
        "inventoryYoY": 0.0553,
        "domYoY": -0.0714,
        "priceCutShare": 0.2079,
        "priceCutShareYoY": -0.0107,
        "popChange1yr": -0.0007,
        "domesticMigPer1000": -9.45
      },
      "activeListings": 534,
      "medianDom": 39,
      "medianListPrice": 480000,
      "permitsPer1000Units": 1.83,
      "permitsYoY": -0.3607,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 92,
        "listPriceYoY": 45.1,
        "inventoryYoY": 45.7,
        "domYoY": 79.2,
        "priceCutShareYoY": 60.7,
        "popChange1yr": 28,
        "domesticMigPer1000": 13.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 97.4,
      "riskRating": "Relatively High",
      "topHazards": [
        "earthquake",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 28,
          "rating": "Very Low"
        },
        "riverFlood": {
          "score": 0.2,
          "rating": "Very Low"
        },
        "wildfire": {
          "score": 78.6,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 0.4,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 99.5,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 98.8,
          "rating": "Very High"
        },
        "hail": {
          "score": 7.2,
          "rating": "Very Low"
        }
      },
      "homeValue": 435444,
      "homeValue4br": 556019,
      "homeValueYoY": 0.054,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 61,
      "opportunityBasis": "partial",
      "buyerScore": 43,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 55,
        "domYoY": 21,
        "priceCutShareYoY": 39,
        "priceCutShare": 57
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "anna-maria-island",
      "city": "Anna Maria Island",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 27.5294,
      "lng": -82.7324,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/anna-maria-island-fl-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "City of Anna Maria caps occupancy at two persons per bedroom of 100+ sq ft, plus one per bedroom 70-100 sq ft, up to a maximum of eight occupants per unit.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/anna-maria-island-fl-airbnb-regulations",
      "countyName": "Manatee County",
      "countyFips": "12081",
      "seasonalShare": 0.1357,
      "bigHomeShare": 0.1424,
      "tourismJobShare": 0.1078,
      "amenityScore": 58,
      "dining": 64,
      "attractions": 11,
      "outdoors": 109,
      "lodgingCompetition": 16,
      "pop150": 11600942,
      "pop300": 21974676,
      "nearestMetros": [
        {
          "name": "Hillsborough County, FL",
          "pop": 1468560
        },
        {
          "name": "Orange County, FL",
          "pop": 1427403
        },
        {
          "name": "Pinellas County, FL",
          "pop": 959918
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65.7,
          68.3,
          72,
          75.9,
          79.9,
          83.2,
          85.2,
          85.7,
          83.9,
          80.5,
          73.8,
          68.9
        ],
        "lowF": [
          59.2,
          62.7,
          66.5,
          70.3,
          74.4,
          78.3,
          79.9,
          80.2,
          78.5,
          74.5,
          67.5,
          62.4
        ],
        "precipIn": [
          2,
          1.5,
          1.1,
          3.6,
          2.2,
          5.9,
          5.8,
          8.1,
          6.6,
          2.2,
          2.8,
          3.4
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          9,
          9.8,
          10.7,
          11.5,
          12.4,
          11.2,
          11.3,
          10.6,
          10.2,
          10.1,
          9,
          8.4
        ]
      },
      "effectiveTaxRate": 0.0082,
      "taxTopCoded": false,
      "annualTax4br": 4453,
      "annualTaxTypical": 3344,
      "lossPer100k": 283,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 66,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": -0.034,
        "listPriceYoY": -0.0389,
        "inventoryYoY": -0.1617,
        "domYoY": -0.043,
        "priceCutShare": 0.2077,
        "priceCutShareYoY": -0.0149,
        "popChange1yr": 0.0201,
        "domesticMigPer1000": 18.34
      },
      "activeListings": 3106,
      "medianDom": 89,
      "medianListPrice": 469999,
      "permitsPer1000Units": 52.87,
      "permitsYoY": 0.4742,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 3.2,
        "listPriceYoY": 37,
        "inventoryYoY": 97.7,
        "domYoY": 63.6,
        "priceCutShareYoY": 71.1,
        "popChange1yr": 92.6,
        "domesticMigPer1000": 93.7
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The City of Anna Maria charges its registration fee per allowed occupant, $93.92 per occupant for the 2024-25 fiscal year following an 11.5% increase.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3
      ],
      "riskScore": 97.6,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.3,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 98,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 93.5,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 90.5,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 98,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 34.8,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 49.1,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 407828,
      "homeValue4br": 543106,
      "homeValueYoY": -0.034,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 38,
      "opportunityBasis": "partial",
      "buyerScore": 32,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 3,
        "domYoY": 37,
        "priceCutShareYoY": 29,
        "priceCutShare": 57
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "bar-harbor",
      "city": "Bar Harbor",
      "state": "Maine",
      "stateCode": "ME",
      "lat": 44.3876,
      "lng": -68.2043,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/bar-harbor-me-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Non-owner-occupied VR-2 rentals are capped at 9% of all dwelling units, and that cap is currently full, so no new VR-2 permits are being issued.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/bar-harbor-me-airbnb-regulations",
      "countyName": "Hancock County",
      "countyFips": "23009",
      "seasonalShare": 0.3186,
      "bigHomeShare": 0.1779,
      "tourismJobShare": 0.0807,
      "amenityScore": 71,
      "dining": 81,
      "attractions": 73,
      "outdoors": 152,
      "lodgingCompetition": 60,
      "pop150": 1299712,
      "pop300": 13638637,
      "nearestMetros": [
        {
          "name": "Cumberland County, ME",
          "pop": 303357
        },
        {
          "name": "York County, ME",
          "pop": 212691
        },
        {
          "name": "Penobscot County, ME",
          "pop": 152640
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 4,
      "climate": {
        "highF": [
          33,
          33.1,
          39.9,
          49.2,
          58.9,
          67.8,
          75,
          74,
          67.5,
          58.3,
          46.3,
          38.9
        ],
        "lowF": [
          19.7,
          18.9,
          27.1,
          36.5,
          45,
          54.9,
          62.2,
          62.6,
          56.3,
          48.2,
          35.2,
          27.6
        ],
        "precipIn": [
          4.9,
          3.6,
          3.8,
          5.2,
          3.3,
          4.3,
          4.4,
          4.2,
          5.3,
          5.7,
          4.1,
          6
        ],
        "snowIn": [
          13.8,
          10.1,
          9.5,
          4.9,
          0.4,
          0,
          0,
          0,
          0,
          0,
          1.9,
          6.4
        ],
        "sunHours": [
          5.3,
          6.6,
          8.3,
          8,
          10.1,
          10.1,
          10.6,
          10.1,
          9,
          7.1,
          6.5,
          4.9
        ]
      },
      "effectiveTaxRate": 0.00949,
      "taxTopCoded": false,
      "annualTax4br": 5633,
      "annualTaxTypical": 4011,
      "lossPer100k": 103,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 45,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.031,
        "listPriceYoY": -0.0367,
        "inventoryYoY": 0.216,
        "domYoY": 0.0169,
        "priceCutShare": 0.1773,
        "priceCutShareYoY": -0.0014,
        "popChange1yr": 0.0007,
        "domesticMigPer1000": 3.05
      },
      "activeListings": 394,
      "medianDom": 60,
      "medianListPrice": 577000,
      "permitsPer1000Units": 7.89,
      "permitsYoY": 0.2278,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 77.3,
        "listPriceYoY": 39.3,
        "inventoryYoY": 13.3,
        "domYoY": 40.5,
        "priceCutShareYoY": 45.7,
        "popChange1yr": 35.4,
        "domesticMigPer1000": 62.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "other",
      "regChangeYear": 2025,
      "regChangePending": false,
      "regDirectionEvidence": "The November 18, 2025 ordinance update (No. 2025-10) tightened the VR-1 primary-residence requirement.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 55,
      "riskRating": "Relatively Low",
      "topHazards": [
        "winterWeather",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 87.8,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": 77,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 45.2,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 10.8,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 15.8,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 51.2,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 95.6,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 22,
          "rating": "Very Low"
        }
      },
      "homeValue": 422707,
      "homeValue4br": 593620,
      "homeValueYoY": 0.031,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 32,
      "opportunityBasis": "partial",
      "buyerScore": 59,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 87,
        "domYoY": 60,
        "priceCutShareYoY": 54,
        "priceCutShare": 33
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "bay-st-louis",
      "city": "Bay St. Louis",
      "state": "Mississippi",
      "stateCode": "MS",
      "lat": 30.3086,
      "lng": -89.3306,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "City short-term rental registration/permit under Ordinance No. 669-08-2024 (adopted August 2024); applications opened mid-September 2024, acceptance began October 1, 2024, and enforcement began January 1, 2025; properties are subject to periodic inspection.",
      "tax": "Mississippi's 7% statewide sales tax applies, plus a local Bay St. Louis tourism tax (exact rate not confirmed); under state SB 2805 (2025), booking platforms must collect and remit local hotel taxes directly.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/bay-st-louis-ms-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Bay St. Louis (Planning & Zoning)",
      "permitFee": "$100 annual registration fee.",
      "strCap": "None — the city has stated there is no cap on the number of VRBO/Airbnb-style permits it will issue.",
      "statusNote": "This ordinance is new — enforcement only began January 1, 2025 — so local administrative practice may still be evolving; details should be reconfirmed with the city before relying on them for underwriting.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.wlox.com/2024/08/22/bay-st-louis-now-requiring-short-term-rental-properties-be-registered-through-city/",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Hancock County",
      "countyFips": "28045",
      "seasonalShare": 0.0546,
      "bigHomeShare": 0.161,
      "tourismJobShare": 0.115,
      "amenityScore": 39,
      "dining": 28,
      "attractions": 1,
      "outdoors": 38,
      "lodgingCompetition": 8,
      "pop150": 5174140,
      "pop300": 12290204,
      "nearestMetros": [
        {
          "name": "East Baton Rouge Parish, LA",
          "pop": 454369
        },
        {
          "name": "Jefferson Parish, LA",
          "pop": 436171
        },
        {
          "name": "Mobile County, AL",
          "pop": 413878
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.1,
          64.2,
          70.3,
          74.6,
          81.3,
          86.4,
          87.2,
          88.5,
          85.5,
          78.3,
          68.7,
          63.9
        ],
        "lowF": [
          45.4,
          49.6,
          56,
          60.1,
          68.5,
          74,
          76.2,
          76.5,
          72.1,
          63.6,
          52.4,
          49.5
        ],
        "precipIn": [
          4.4,
          6.1,
          5.1,
          5.8,
          7,
          8.3,
          8.6,
          9.6,
          4.9,
          5.3,
          3.5,
          4.8
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.4,
          7.3,
          9.6,
          10,
          11,
          11.3,
          10.5,
          10,
          10.4,
          9.5,
          8.4,
          7.6
        ]
      },
      "effectiveTaxRate": 0.00796,
      "taxTopCoded": false,
      "annualTax4br": 2557,
      "annualTaxTypical": 1885,
      "lossPer100k": 330,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 67,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.012,
        "listPriceYoY": -0.0478,
        "inventoryYoY": 0.0313,
        "domYoY": -0.1461,
        "priceCutShare": 0.1879,
        "priceCutShareYoY": -0.0155,
        "popChange1yr": 0.0078,
        "domesticMigPer1000": 9.98
      },
      "activeListings": 395,
      "medianDom": 76,
      "medianListPrice": 339900,
      "permitsPer1000Units": 10.61,
      "permitsYoY": -0.0041,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 58.3,
        "listPriceYoY": 28.6,
        "inventoryYoY": 53.5,
        "domYoY": 95.4,
        "priceCutShareYoY": 73.4,
        "popChange1yr": 71.4,
        "domesticMigPer1000": 85.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The city has explicitly said there is no cap or quota on the number of STR permits it will issue — unusual among Gulf Coast markets that have moved to regulate.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 82.7,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hurricane",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 95.2,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 86.2,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 67.2,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 90.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 76.6,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 44.7,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 35.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 55.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 236816,
      "homeValue4br": 321267,
      "homeValueYoY": 0.012,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 31,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 47,
        "domYoY": 5,
        "priceCutShareYoY": 27,
        "priceCutShare": 45
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "big-sky",
      "city": "Big Sky",
      "state": "Montana",
      "stateCode": "MT",
      "lat": 45.2551,
      "lng": -111.2662,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/big-sky-mt-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "No permit cap or residency rule",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/big-sky-mt-airbnb-regulations",
      "countyName": "Gallatin County",
      "countyFips": "30031",
      "seasonalShare": 0.0549,
      "bigHomeShare": 0.242,
      "tourismJobShare": 0.1222,
      "amenityScore": 54,
      "dining": 32,
      "attractions": 4,
      "outdoors": 982,
      "lodgingCompetition": 17,
      "pop150": 758887,
      "pop300": 3866419,
      "nearestMetros": [
        {
          "name": "Bonneville County, ID",
          "pop": 124490
        },
        {
          "name": "Gallatin County, MT",
          "pop": 119685
        },
        {
          "name": "Cascade County, MT",
          "pop": 84423
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 8,
      "climate": {
        "highF": [
          28.5,
          27,
          35.9,
          42,
          52.8,
          65.3,
          76.9,
          74.9,
          66.4,
          48.2,
          36.5,
          29.1
        ],
        "lowF": [
          10.3,
          8.5,
          15.6,
          21.6,
          31.1,
          37.6,
          47,
          47.2,
          39.2,
          23.5,
          12.6,
          8.5
        ],
        "precipIn": [
          1.7,
          2.2,
          1.9,
          2.2,
          2.5,
          2.7,
          1.1,
          1.8,
          1.7,
          2.5,
          1.4,
          1.5
        ],
        "snowIn": [
          11.7,
          15.2,
          13.5,
          14.1,
          12,
          2.9,
          0,
          0.2,
          2.1,
          12.5,
          9.6,
          10.7
        ],
        "sunHours": [
          6.3,
          7,
          9.1,
          10,
          11.5,
          12.6,
          14.2,
          12,
          10.8,
          8.3,
          6.9,
          5.9
        ]
      },
      "effectiveTaxRate": 0.0065,
      "taxTopCoded": false,
      "annualTax4br": 5890,
      "annualTaxTypical": 4554,
      "lossPer100k": 115,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 75,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.007,
        "listPriceYoY": 0.0505,
        "inventoryYoY": -0.0303,
        "domYoY": -0.0769,
        "priceCutShare": 0.1779,
        "priceCutShareYoY": -0.0192,
        "popChange1yr": 0.0097,
        "domesticMigPer1000": 4.27
      },
      "activeListings": 832,
      "medianDom": 60,
      "medianListPrice": 910000,
      "permitsPer1000Units": 28.8,
      "permitsYoY": -0.095,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 52.3,
        "listPriceYoY": 88.7,
        "inventoryYoY": 72.5,
        "domYoY": 84.7,
        "priceCutShareYoY": 78.3,
        "popChange1yr": 82.3,
        "domesticMigPer1000": 67.7
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Big Sky has no ban or jurisdiction-wide permit cap on short-term rentals.",
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 1,
      "eventMonths": [],
      "riskScore": 81,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "winterWeather",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 64.2,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 91.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 16.7,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 94.1,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 99.6,
          "rating": "Very High"
        },
        "hail": {
          "score": 84.5,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 700687,
      "homeValue4br": 906180,
      "homeValueYoY": 0.007,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 51,
      "opportunityBasis": "partial",
      "buyerScore": 25,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 28,
        "domYoY": 16,
        "priceCutShareYoY": 22,
        "priceCutShare": 34
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "biloxi",
      "city": "Biloxi",
      "state": "Mississippi",
      "stateCode": "MS",
      "lat": 30.396,
      "lng": -88.8853,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Operators need a Certificate of Occupancy, a Certificate of Zoning Compliance, and a Privilege Tax License from the City of Biloxi; the city also requires disclosure of which booking platforms (Airbnb, VRBO, HomeAway, etc.) are used, and an annual fire-department inspection.",
      "tax": "Mississippi's 7% statewide sales tax applies, plus a local Biloxi tourism/lodging tax (exact rate not confirmed); under state SB 2805 (2025), booking platforms must now collect and remit these local taxes directly.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/biloxi-ms-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Biloxi",
      "permitFee": "Reported (secondary source) at roughly $100 application fee plus $50 inspection fee; not independently confirmed against a live city fee schedule.",
      "strCap": "Banned entirely in the AR, RS-5, RS-7.5, RS-10, Residential Estate (RE) and Residential Estate Restricted (RER) zoning districts; limited to a maximum of four STR units per tax parcel where permitted.",
      "transfersOnSale": "The Certificate of Occupancy, Certificate of Zoning Compliance and Privilege Tax License do not transfer to a new owner — any change in ownership requires new applications for all three.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.biloxi.ms.us/wp-content/uploads/2019/01/STRregulations01092019.pdf",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Harrison County",
      "countyFips": "28047",
      "seasonalShare": 0.0333,
      "bigHomeShare": 0.1842,
      "tourismJobShare": 0.1669,
      "amenityScore": 63,
      "dining": 163,
      "attractions": 15,
      "outdoors": 91,
      "lodgingCompetition": 53,
      "pop150": 5308912,
      "pop300": 13121472,
      "nearestMetros": [
        {
          "name": "East Baton Rouge Parish, LA",
          "pop": 454369
        },
        {
          "name": "Jefferson Parish, LA",
          "pop": 436171
        },
        {
          "name": "Mobile County, AL",
          "pop": 413878
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.2,
          64.5,
          70.5,
          74.9,
          81.8,
          86.9,
          87.2,
          88.6,
          86.1,
          78.9,
          69.2,
          64.1
        ],
        "lowF": [
          45.4,
          49.8,
          55.6,
          59.4,
          67.7,
          73.7,
          75.9,
          76.2,
          71.6,
          63,
          52.1,
          49.3
        ],
        "precipIn": [
          5.4,
          5.3,
          5.6,
          6,
          6.3,
          7.5,
          7.6,
          9.4,
          4.8,
          5.5,
          3.6,
          5.1
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.2,
          7.1,
          9.4,
          9.8,
          10.9,
          11.3,
          10.6,
          9.9,
          10.4,
          9.4,
          8.4,
          7.4
        ]
      },
      "effectiveTaxRate": 0.00682,
      "taxTopCoded": false,
      "annualTax4br": 2076,
      "annualTaxTypical": 1562,
      "lossPer100k": 301,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 43,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.025,
        "listPriceYoY": -0.0671,
        "inventoryYoY": 0.0991,
        "domYoY": 0.197,
        "priceCutShare": 0.2029,
        "priceCutShareYoY": 0.026,
        "popChange1yr": 0.0118,
        "domesticMigPer1000": 6.31
      },
      "activeListings": 1065,
      "medianDom": 79,
      "medianListPrice": 286300,
      "permitsPer1000Units": 24.85,
      "permitsYoY": 0.0841,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 71.8,
        "listPriceYoY": 14.5,
        "inventoryYoY": 30.6,
        "domYoY": 6.9,
        "priceCutShareYoY": 12.1,
        "popChange1yr": 86.3,
        "domesticMigPer1000": 77.1
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "None of the city's STR approvals transfer on sale — a new owner must reapply for the Certificate of Occupancy, Certificate of Zoning Compliance and Privilege Tax License from scratch.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 95.6,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 98.5,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 91.6,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 90.5,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 94.5,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 96,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 70.5,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 74.4,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 87.5,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 229048,
      "homeValue4br": 304410,
      "homeValueYoY": 0.025,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 40,
      "opportunityBasis": "partial",
      "buyerScore": 76,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 69,
        "domYoY": 93,
        "priceCutShareYoY": 88,
        "priceCutShare": 54
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "block-island",
      "city": "Block Island",
      "state": "Rhode Island",
      "stateCode": "RI",
      "lat": 41.1707,
      "lng": -71.5581,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Residential Short-Term Rental Registration (New Shoreham General Ordinances Ch. 8, Art. XII, §§8-320 to 8-331), adopted July 24, 2024; the registration number must appear on all public listings.",
      "tax": "State lodging tax, combined 14% from 1/1/2026",
      "zoning": null,
      "minStay": "Defined as rentals of 30 days or less; a proposed 5-day minimum in RA/RB zones was not confirmed as adopted — treat as uncertain",
      "occupancyRule": "Maximum 2 persons per bedroom; bedroom count cannot exceed what the property's septic system is rated for",
      "penalties": "Fines up to $200/day for continuing violations (e.g. repeated failure of the local representative to respond within 2 hours), enforced by police/zoning officials",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/block-island-ri-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of New Shoreham, plus RI DBR state registration",
      "permitFee": "$200/year; renews starting July 1, due by December 31",
      "strCap": "No numeric cap found in the adopted ordinance (an earlier proposal floated a 5-day minimum stay in RA/RB residential zones, but adoption of that provision was not confirmed)",
      "ownerOccupancy": "Not required for the owner personally, but a local representative physically present on the island during the rental period must be designated (the owner may serve as their own representative) and must respond to town inquiries within 2 hours",
      "statusNote": "Ordinance adopted July 2024; some sources reference additional proposed provisions (e.g. an RA/RB 5-day minimum stay) that could not be confirmed as formally adopted — verify current code text before relying on a minimum-stay figure.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.newshorehamri.gov/439/Short-Term-Rentals-Ordinance",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Washington County",
      "countyFips": "44009",
      "seasonalShare": 0.1671,
      "bigHomeShare": 0.21,
      "tourismJobShare": 0.1068,
      "amenityScore": 41,
      "dining": 15,
      "attractions": 4,
      "outdoors": 35,
      "lodgingCompetition": 27,
      "pop150": 31160353,
      "pop300": 52618400,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 5,
      "snowMonths": 1,
      "climate": {
        "highF": [
          41.8,
          41.3,
          43.9,
          48.9,
          55.3,
          64.1,
          72.3,
          73,
          69.5,
          62.7,
          54.5,
          47.3
        ],
        "lowF": [
          32.8,
          33,
          36.6,
          43.5,
          50.5,
          59.8,
          68.2,
          69.3,
          64.8,
          57.3,
          46.1,
          39.2
        ],
        "precipIn": [
          4.6,
          3.9,
          3.5,
          4.2,
          4,
          3.2,
          3.3,
          3.5,
          4.4,
          5.8,
          3.2,
          5.9
        ],
        "snowIn": [
          4.8,
          6.6,
          1.8,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          3.1
        ],
        "sunHours": [
          6.1,
          6.4,
          8.6,
          8.8,
          10.5,
          11.5,
          11.9,
          11.2,
          9.6,
          7.6,
          7,
          5.6
        ]
      },
      "effectiveTaxRate": 0.01104,
      "taxTopCoded": false,
      "annualTax4br": 10198,
      "annualTaxTypical": 7616,
      "lossPer100k": 87,
      "lodgingTaxPct": 14,
      "lodgingTaxBasis": "stated-total",
      "momentumScore": 62,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.058,
        "listPriceYoY": 0.0383,
        "inventoryYoY": 0.0118,
        "domYoY": -0.1489,
        "priceCutShare": 0.119,
        "priceCutShareYoY": 0.0182,
        "popChange1yr": -0.0013,
        "domesticMigPer1000": 1.46
      },
      "activeListings": 344,
      "medianDom": 40,
      "medianListPrice": 975000,
      "permitsPer1000Units": 3.88,
      "permitsYoY": -0.1472,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 94.3,
        "listPriceYoY": 85.3,
        "inventoryYoY": 58.1,
        "domYoY": 96.2,
        "priceCutShareYoY": 18.8,
        "popChange1yr": 24.6,
        "domesticMigPer1000": 54.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "other",
      "regChangeYear": 2024,
      "regChangePending": true,
      "regDirectionEvidence": "Ordinance adopted July 2024; some sources reference additional proposed provisions (e.g. an RA/RB 5-day minimum stay) that could not be confirmed as formally adopted — verify current code text before relying on a minimum-stay figure.",
      "regDirectionReviewed": false,
      "driverCount": 11,
      "emergingDriverCount": 1,
      "eventMonths": [
        7,
        8
      ],
      "riskScore": 64,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hurricane",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 82.2,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": 76.2,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 75.4,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 23.1,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 29.4,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 67.3,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 42.2,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 2.8,
          "rating": "Very Low"
        }
      },
      "homeValue": 689899,
      "homeValue4br": 923743,
      "homeValueYoY": 0.058,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 38,
      "opportunityBasis": "partial",
      "buyerScore": 34,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 42,
        "domYoY": 5,
        "priceCutShareYoY": 81,
        "priceCutShare": 7
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "boone",
      "city": "Boone",
      "state": "North Carolina",
      "stateCode": "NC",
      "lat": 36.2188,
      "lng": -81.684,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/boone-nc-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Vacation rentals confined to business districts",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/boone-nc-airbnb-regulations",
      "countyName": "Watauga County",
      "countyFips": "37189",
      "seasonalShare": 0.2742,
      "bigHomeShare": 0.1834,
      "tourismJobShare": 0.1763,
      "amenityScore": 68,
      "dining": 123,
      "attractions": 52,
      "outdoors": 114,
      "lodgingCompetition": 49,
      "pop150": 11893790,
      "pop300": 49010979,
      "nearestMetros": [
        {
          "name": "Mecklenburg County, NC",
          "pop": 1115403
        },
        {
          "name": "Guilford County, NC",
          "pop": 539557
        },
        {
          "name": "Greenville County, SC",
          "pop": 528251
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 6,
      "snowMonths": 1,
      "climate": {
        "highF": [
          41.8,
          47.4,
          53.7,
          59.8,
          66.8,
          73.2,
          78.7,
          76.6,
          72.2,
          62.8,
          51.9,
          47.1
        ],
        "lowF": [
          27,
          31,
          35.5,
          41.6,
          51.1,
          58.1,
          63.7,
          62.1,
          56.4,
          47.1,
          35.5,
          31.5
        ],
        "precipIn": [
          5,
          5.2,
          4.3,
          5.1,
          5.8,
          4.7,
          5.3,
          5.4,
          3.5,
          5,
          3.1,
          4
        ],
        "snowIn": [
          9.3,
          4.3,
          1.3,
          0.6,
          0,
          0,
          0,
          0,
          0,
          0,
          0.6,
          2.4
        ],
        "sunHours": [
          6.1,
          6.3,
          8.3,
          10,
          10.7,
          11.6,
          12,
          11.1,
          10.5,
          8.8,
          8,
          6.5
        ]
      },
      "effectiveTaxRate": 0.00431,
      "taxTopCoded": false,
      "annualTax4br": 3244,
      "annualTaxTypical": 2181,
      "lossPer100k": 117,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 42,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.01,
        "listPriceYoY": -0.0294,
        "inventoryYoY": 0.1197,
        "domYoY": 0.0395,
        "priceCutShare": 0.1799,
        "priceCutShareYoY": -0.032,
        "popChange1yr": -0.0025,
        "domesticMigPer1000": -3.13
      },
      "activeListings": 533,
      "medianDom": 79,
      "medianListPrice": 660000,
      "permitsPer1000Units": 16.35,
      "permitsYoY": 0.8108,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 56.3,
        "listPriceYoY": 47.4,
        "inventoryYoY": 26.6,
        "domYoY": 28.9,
        "priceCutShareYoY": 90.2,
        "popChange1yr": 17.4,
        "domesticMigPer1000": 26.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        3,
        4,
        8,
        9
      ],
      "riskScore": 71.9,
      "riskRating": "Relatively Low",
      "topHazards": [
        "riverFlood",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 61.9,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 80.3,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 40.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 60.1,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 68.9,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 55.8,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 36.7,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 505994,
      "homeValue4br": 752734,
      "homeValueYoY": 0.01,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 48,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 73,
        "domYoY": 71,
        "priceCutShareYoY": 10,
        "priceCutShare": 37
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "bozeman",
      "city": "Bozeman",
      "state": "Montana",
      "stateCode": "MT",
      "lat": 45.6794,
      "lng": -111.044,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/bozeman-mt-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Ordinance 2149 banned new Type 3 rentals",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/bozeman-mt-airbnb-regulations",
      "countyName": "Gallatin County",
      "countyFips": "30031",
      "seasonalShare": 0.0549,
      "bigHomeShare": 0.242,
      "tourismJobShare": 0.1222,
      "amenityScore": 68,
      "dining": 165,
      "attractions": 11,
      "outdoors": 416,
      "lodgingCompetition": 49,
      "pop150": 813736,
      "pop300": 2976392,
      "nearestMetros": [
        {
          "name": "Yellowstone County, MT",
          "pop": 165524
        },
        {
          "name": "Gallatin County, MT",
          "pop": 119685
        },
        {
          "name": "Cascade County, MT",
          "pop": 84423
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 6,
      "climate": {
        "highF": [
          34.6,
          28.6,
          39.3,
          48.8,
          59.8,
          70.7,
          81.8,
          79.7,
          70.3,
          52.3,
          40.7,
          34.9
        ],
        "lowF": [
          16.9,
          9.7,
          19.8,
          26.6,
          38,
          47,
          54.2,
          54.5,
          45.9,
          31.6,
          22.5,
          17.6
        ],
        "precipIn": [
          1.1,
          1.9,
          1.5,
          2.5,
          2.5,
          2.4,
          0.4,
          1,
          1.8,
          2.5,
          1.1,
          0.9
        ],
        "snowIn": [
          7.1,
          12.8,
          9.2,
          8.3,
          2.1,
          0,
          0,
          0,
          0.5,
          7.6,
          5.1,
          6
        ],
        "sunHours": [
          6.5,
          7,
          9.2,
          9.9,
          11.4,
          12.6,
          14.1,
          12.1,
          10.6,
          8.5,
          6.8,
          6.1
        ]
      },
      "effectiveTaxRate": 0.0065,
      "taxTopCoded": false,
      "annualTax4br": 5890,
      "annualTaxTypical": 4554,
      "lossPer100k": 115,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 75,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.007,
        "listPriceYoY": 0.0505,
        "inventoryYoY": -0.0303,
        "domYoY": -0.0769,
        "priceCutShare": 0.1779,
        "priceCutShareYoY": -0.0192,
        "popChange1yr": 0.0097,
        "domesticMigPer1000": 4.27
      },
      "activeListings": 832,
      "medianDom": 60,
      "medianListPrice": 910000,
      "permitsPer1000Units": 28.8,
      "permitsYoY": -0.095,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 52.3,
        "listPriceYoY": 88.7,
        "inventoryYoY": 72.5,
        "domYoY": 84.7,
        "priceCutShareYoY": 78.3,
        "popChange1yr": 82.3,
        "domesticMigPer1000": 67.7
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "zoning",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Effective February 1, 2026, Bozeman's new Unified Development Code (Ordinance 2151) merged the former RS, R-1, and R-2 districts into a single RA district. In RA, only Type 1 STRs are permitted and new Type 2 STRs are generally no longer allowed, though a text amendment to re-permit Type 2 in RA was under consideration in 2026.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 1,
      "eventMonths": [],
      "riskScore": 81,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "winterWeather",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 64.2,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 91.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 16.7,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 94.1,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 99.6,
          "rating": "Very High"
        },
        "hail": {
          "score": 84.5,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 700687,
      "homeValue4br": 906180,
      "homeValueYoY": 0.007,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 25,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 28,
        "domYoY": 16,
        "priceCutShareYoY": 22,
        "priceCutShare": 34
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "brainerd-lakes",
      "city": "Brainerd",
      "state": "Minnesota",
      "stateCode": "MN",
      "lat": 46.358,
      "lng": -94.2008,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Annual Short-Term Rental License through Crow Wing County Land Services, required for any property in the county's planning/zoning jurisdiction (or a contracting city); cities can instead opt to regulate independently.",
      "tax": "6.875% Minnesota state sales tax + local lodging tax (rate not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "Tied to verified septic system capacity for the property's maximum occupancy, rather than a flat number.",
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/brainerd-lakes-mn-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Crow Wing County (Planning & Zoning / Land Services) for unincorporated areas and contracting cities; individual cities (e.g., Breezy Point, Crosslake) may instead regulate independently or opt into the county's ordinance by contract.",
      "permitFee": "$100 per advertised bedroom, per year.",
      "statusNote": "Cities within Crow Wing County can choose to be regulated under the county's ordinance by contract, or set up their own separate short-term rental rules — confirm which regime applies to the specific city/township before purchase.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.crowwing.gov/1621/Short-Term-Rental",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Crow Wing County",
      "countyFips": "27035",
      "seasonalShare": 0.2961,
      "bigHomeShare": 0.2689,
      "tourismJobShare": 0.1105,
      "amenityScore": 45,
      "dining": 24,
      "attractions": 4,
      "outdoors": 104,
      "lodgingCompetition": 13,
      "pop150": 5548164,
      "pop300": 9354880,
      "nearestMetros": [
        {
          "name": "Hennepin County, MN",
          "pop": 1270787
        },
        {
          "name": "Ramsey County, MN",
          "pop": 547202
        },
        {
          "name": "Dakota County, MN",
          "pop": 439179
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 5,
      "climate": {
        "highF": [
          20.3,
          20.8,
          36.8,
          48.5,
          64.6,
          79.1,
          80.7,
          78.2,
          70.8,
          53.1,
          38.8,
          27.7
        ],
        "lowF": [
          5.3,
          2.3,
          19.4,
          30.3,
          45.2,
          59.9,
          63.2,
          61.5,
          54.8,
          40.2,
          25.2,
          13.2
        ],
        "precipIn": [
          0.9,
          1,
          1.8,
          2.5,
          2.2,
          2.9,
          3.7,
          3.4,
          3.9,
          2.9,
          1.4,
          2.4
        ],
        "snowIn": [
          6.1,
          6.4,
          7.7,
          6,
          0.9,
          0,
          0,
          0,
          0,
          2.4,
          4.9,
          11.4
        ],
        "sunHours": [
          5.2,
          7.3,
          8.1,
          8.1,
          10.4,
          13,
          13.1,
          11.5,
          9.4,
          6.6,
          5.5,
          4.5
        ]
      },
      "effectiveTaxRate": 0.00783,
      "taxTopCoded": false,
      "annualTax4br": 3440,
      "annualTaxTypical": 2918,
      "lossPer100k": 124,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 60,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.035,
        "listPriceYoY": 0.0556,
        "inventoryYoY": 0.2083,
        "domYoY": 0,
        "priceCutShare": 0.1814,
        "priceCutShareYoY": 0.0026,
        "popChange1yr": 0.0068,
        "domesticMigPer1000": 8.23
      },
      "activeListings": 464,
      "medianDom": 54,
      "medianListPrice": 475000,
      "permitsPer1000Units": 14.95,
      "permitsYoY": 0.4501,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 82.8,
        "listPriceYoY": 90.2,
        "inventoryYoY": 13.9,
        "domYoY": 49.7,
        "priceCutShareYoY": 40.5,
        "popChange1yr": 60,
        "domesticMigPer1000": 82.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Confirm the current position with the jurisdiction in writing before you buy or list.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 77.5,
      "riskRating": "Relatively Low",
      "topHazards": [
        "riverFlood",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 84.2,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 76.1,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 61.3,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 10.9,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 58.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 73.5,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 372726,
      "homeValue4br": 439374,
      "homeValueYoY": 0.035,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 59,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 86,
        "domYoY": 51,
        "priceCutShareYoY": 60,
        "priceCutShare": 37
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "broken-bow",
      "city": "Broken Bow",
      "state": "Oklahoma",
      "stateCode": "OK",
      "lat": 34.0299,
      "lng": -94.739,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/broken-bow-ok-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "No permit caps, no neighborhood density limits, and no fixed occupancy cap in ordinance, though septic-system capacity and county health rules can practically limit guest counts.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/broken-bow-ok-airbnb-regulations",
      "countyName": "McCurtain County",
      "countyFips": "40089",
      "seasonalShare": 0.0434,
      "bigHomeShare": 0.1266,
      "tourismJobShare": 0.1028,
      "amenityScore": 39,
      "dining": 27,
      "attractions": 3,
      "outdoors": 20,
      "lodgingCompetition": 7,
      "pop150": 8991592,
      "pop300": 30479178,
      "nearestMetros": [
        {
          "name": "Dallas County, TX",
          "pop": 2604053
        },
        {
          "name": "Collin County, TX",
          "pop": 1079153
        },
        {
          "name": "Denton County, TX",
          "pop": 914870
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 5,
      "snowMonths": 0,
      "climate": {
        "highF": [
          54.1,
          55.4,
          65.5,
          71.4,
          79.8,
          88.9,
          93.5,
          93.1,
          88.5,
          75.4,
          63.1,
          57.9
        ],
        "lowF": [
          35.9,
          36,
          45.8,
          51.9,
          61.8,
          69.6,
          74.2,
          74.1,
          68.6,
          56.1,
          44.2,
          40.4
        ],
        "precipIn": [
          4.1,
          5.6,
          6.4,
          6.3,
          7.7,
          3.9,
          1.9,
          3.4,
          2.4,
          5.2,
          4.1,
          4.5
        ],
        "snowIn": [
          1,
          1.2,
          0.2,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2
        ],
        "sunHours": [
          6.5,
          6.3,
          7.7,
          9.1,
          9.5,
          11.6,
          12.1,
          11.5,
          10.8,
          8.4,
          7.6,
          6.5
        ]
      },
      "effectiveTaxRate": 0.00417,
      "taxTopCoded": false,
      "annualTax4br": 1431,
      "annualTaxTypical": 839,
      "lossPer100k": 151,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 51,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.032,
        "listPriceYoY": 0.0008,
        "inventoryYoY": -0.1623,
        "domYoY": 0.1284,
        "priceCutShare": 0.1636,
        "priceCutShareYoY": 0.0287,
        "popChange1yr": -0.0011,
        "domesticMigPer1000": 2.66
      },
      "activeListings": 511,
      "medianDom": 123,
      "medianListPrice": 599450,
      "permitsPer1000Units": 0.78,
      "permitsYoY": -0.3125,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 78.4,
        "listPriceYoY": 74,
        "inventoryYoY": 98.3,
        "domYoY": 13.9,
        "priceCutShareYoY": 9.5,
        "popChange1yr": 26.3,
        "domesticMigPer1000": 60
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "There are no bans, moratoriums, or permit caps, making it one of Oklahoma's most operator-friendly cabin markets.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 72,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hail",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": 56,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 75.9,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 77.6,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 76.7,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 64.7,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 57.8,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 85.1,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 201179,
      "homeValue4br": 343059,
      "homeValueYoY": 0.032,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 38,
      "opportunityBasis": "partial",
      "buyerScore": 51,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 3,
        "domYoY": 86,
        "priceCutShareYoY": 90,
        "priceCutShare": 23
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "cannon-beach",
      "city": "Cannon Beach",
      "state": "Oregon",
      "stateCode": "OR",
      "lat": 45.89,
      "lng": -123.9619,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/cannon-beach-or-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Cannon Beach caps its \"unlimited\" STR permits at 92, and only roughly 35 are active today.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/cannon-beach-or-airbnb-regulations",
      "countyName": "Clatsop County",
      "countyFips": "41007",
      "seasonalShare": 0.2101,
      "bigHomeShare": 0.1643,
      "tourismJobShare": 0.1479,
      "amenityScore": 63,
      "dining": 103,
      "attractions": 28,
      "outdoors": 68,
      "lodgingCompetition": 67,
      "pop150": 7853565,
      "pop300": 11204091,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Multnomah County, OR",
          "pop": 808098
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 4,
      "snowMonths": 0,
      "climate": {
        "highF": [
          49.9,
          46.8,
          49.5,
          52.6,
          57.9,
          61.4,
          64.6,
          67,
          65.2,
          59.2,
          52.8,
          49.5
        ],
        "lowF": [
          42,
          38.8,
          39.9,
          43.6,
          49.3,
          53,
          56.3,
          58.1,
          55.5,
          50,
          44,
          41.7
        ],
        "precipIn": [
          15.4,
          10,
          7.7,
          7.2,
          4.4,
          3.2,
          1,
          1,
          4.5,
          7.6,
          12.5,
          13.8
        ],
        "snowIn": [
          2.5,
          5.2,
          4,
          5.6,
          0.1,
          0,
          0,
          0,
          0,
          0,
          1.3,
          4.3
        ],
        "sunHours": [
          4,
          5.5,
          7.6,
          8.5,
          9.7,
          11,
          11.9,
          11.2,
          9.4,
          7.1,
          5,
          3.4
        ]
      },
      "effectiveTaxRate": 0.00729,
      "taxTopCoded": false,
      "annualTax4br": 4722,
      "annualTaxTypical": 3768,
      "lossPer100k": 337,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 41,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.001,
        "listPriceYoY": -0.0164,
        "inventoryYoY": -0.0276,
        "domYoY": 0.1408,
        "priceCutShare": 0.2801,
        "priceCutShareYoY": -0.0187,
        "popChange1yr": -0.0068,
        "domesticMigPer1000": -4.2
      },
      "activeListings": 317,
      "medianDom": 81,
      "medianListPrice": 614750,
      "permitsPer1000Units": 10.28,
      "permitsYoY": 1.4433,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 38.2,
        "listPriceYoY": 60.1,
        "inventoryYoY": 69.9,
        "domYoY": 12.7,
        "priceCutShareYoY": 77.5,
        "popChange1yr": 7.4,
        "domesticMigPer1000": 23.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "cap",
      "regChangeYear": 2026,
      "regChangePending": true,
      "regDirectionEvidence": "In early 2026, the Planning Commission held work sessions and the City Council reviewed a draft Short-Term Rental Cap ordinance that would tighten the total number of STRs citywide.",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 95.1,
      "riskRating": "Relatively High",
      "topHazards": [
        "earthquake",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 96.4,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 72.1,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 44.4,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 12.1,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 96.5,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 17.6,
          "rating": "Very Low"
        },
        "hail": {
          "score": 4.2,
          "rating": "Very Low"
        }
      },
      "homeValue": 516839,
      "homeValue4br": 647715,
      "homeValueYoY": -0.001,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 38,
      "opportunityBasis": "partial",
      "buyerScore": 59,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 31,
        "domYoY": 87,
        "priceCutShareYoY": 23,
        "priceCutShare": 93
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "cape-may",
      "city": "Cape May",
      "state": "New Jersey",
      "stateCode": "NJ",
      "lat": 38.9351,
      "lng": -74.906,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Rental License issued by the City, valid 12 months from issuance, annual renewal required; pre-issuance Fire Prevention Bureau inspection required; owner must designate a managing agent who resides in Cape May County.",
      "tax": "NJ Sales Tax 6.625% + State Occupancy Fee 5%; secondary sources (unverified against primary code) cite a roughly 3% Cape May municipal occupancy tax, a 2% Cape May County tourism tax, and a 1.85% county tourism assessment.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "General code language restricts sleeping in kitchens, uninhabitable, and interior public spaces and ties maximum occupancy to proper sleeping accommodations, but a specific per-bedroom guest number was not confirmed from a primary source.",
      "penalties": "Secondary-source figures only (unverified): fines reportedly ranging from about $1,000 for a first offense to $2,000 for subsequent offenses.",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/cape-may-nj-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Cape May, NJ (Municipal Code, Chapter 310 Licenses and Permits, Article IV — Short-Term Rental License Regulations)",
      "statusNote": "Primary ordinance text (ecode360.com/38778512 and /38778526) could not be directly accessed during this research (403/404 errors); findings rely on official FAQ and search-result excerpts. Recommend a direct check of the current Cape May code before publishing hard numbers.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://ecode360.com/38778512",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Cape May County",
      "countyFips": "34009",
      "seasonalShare": 0.5005,
      "bigHomeShare": 0.3146,
      "tourismJobShare": 0.1466,
      "amenityScore": 75,
      "dining": 208,
      "attractions": 98,
      "outdoors": 95,
      "lodgingCompetition": 187,
      "pop150": 36989253,
      "pop300": 65004023,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          43.7,
          44.1,
          48.3,
          55.1,
          61.3,
          70.7,
          77.7,
          76.7,
          74,
          66,
          56.1,
          48.8
        ],
        "lowF": [
          36.1,
          36.5,
          41.3,
          48.5,
          56.1,
          66,
          73.7,
          72.9,
          69.1,
          60.1,
          48.6,
          41.3
        ],
        "precipIn": [
          3.4,
          4.2,
          3.9,
          3.5,
          2.8,
          3.1,
          3.2,
          2.9,
          3,
          3.9,
          2.5,
          4.7
        ],
        "snowIn": [
          5.2,
          2.2,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          0.1
        ],
        "sunHours": [
          6.3,
          6.7,
          8.3,
          9.7,
          10.8,
          12,
          12.5,
          10.9,
          10.1,
          8.1,
          7.9,
          6.1
        ]
      },
      "effectiveTaxRate": 0.01362,
      "taxTopCoded": false,
      "annualTax4br": 16825,
      "annualTaxTypical": 10981,
      "lossPer100k": 222,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 58,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.093,
        "listPriceYoY": 0.0578,
        "inventoryYoY": -0.0235,
        "domYoY": 0.0156,
        "priceCutShare": 0.1134,
        "priceCutShareYoY": -0.0109,
        "popChange1yr": -0.0075,
        "domesticMigPer1000": -1.29
      },
      "activeListings": 874,
      "medianDom": 65,
      "medianListPrice": 899000,
      "permitsPer1000Units": 8.58,
      "permitsYoY": -0.0458,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 99.1,
        "listPriceYoY": 91.6,
        "inventoryYoY": 67.9,
        "domYoY": 42.8,
        "priceCutShareYoY": 61.8,
        "popChange1yr": 6,
        "domesticMigPer1000": 35.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "s are permitted in most residential zones (no broad zone-based ban found) but licensing carries real conditions: a mandatory Fire Prevention Bureau inspection, an in-county managing-agent requirement, and annual renewal — a permit-with-real-conditions profile rather than a hard cap or ban.",
      "regDirectionReviewed": false,
      "driverCount": 7,
      "emergingDriverCount": 0,
      "eventMonths": [
        9
      ],
      "riskScore": 91,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "coastalFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 93.1,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": 99.4,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 89.7,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 86.4,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 38.3,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 73.9,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 88.6,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 4.2,
          "rating": "Very Low"
        }
      },
      "homeValue": 806250,
      "homeValue4br": 1235330,
      "homeValueYoY": 0.093,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 56,
      "opportunityBasis": "partial",
      "buyerScore": 33,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 33,
        "domYoY": 57,
        "priceCutShareYoY": 38,
        "priceCutShare": 5
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "charlotte",
      "city": "Charlotte",
      "state": "North Carolina",
      "stateCode": "NC",
      "lat": 35.2272,
      "lng": -80.8431,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/charlotte-nc-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Charlotte does not currently impose strict density caps limiting the number of STRs per neighborhood or census tract.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://charlotteudo.org/articles/part-vii-uses/article-15-uses",
      "countyName": "Mecklenburg County",
      "countyFips": "37119",
      "seasonalShare": 0.0062,
      "bigHomeShare": 0.2482,
      "tourismJobShare": 0.085,
      "amenityScore": 84,
      "dining": 993,
      "attractions": 56,
      "outdoors": 262,
      "lodgingCompetition": 195,
      "pop150": 14567150,
      "pop300": 38048433,
      "nearestMetros": [
        {
          "name": "Wake County, NC",
          "pop": 1132103
        },
        {
          "name": "Mecklenburg County, NC",
          "pop": 1115403
        },
        {
          "name": "Guilford County, NC",
          "pop": 539557
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          51.6,
          56.9,
          63.6,
          72.4,
          79.6,
          85.6,
          90,
          87.7,
          82.5,
          73.1,
          61.3,
          55
        ],
        "lowF": [
          35.2,
          38.5,
          44,
          50.1,
          59.1,
          66.1,
          71.3,
          69.9,
          63.3,
          54.2,
          42.5,
          37.5
        ],
        "precipIn": [
          4.8,
          4.5,
          3.6,
          3.8,
          3.2,
          3.3,
          3.2,
          4.4,
          3.6,
          2.6,
          3.1,
          4.5
        ],
        "snowIn": [
          1,
          0.5,
          0.1,
          0.2,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          6.4,
          6.4,
          8,
          10.3,
          10.7,
          11.3,
          11.6,
          10.8,
          10,
          8.8,
          7.8,
          6.5
        ]
      },
      "effectiveTaxRate": 0.00796,
      "taxTopCoded": false,
      "annualTax4br": 4478,
      "annualTaxTypical": 3320,
      "lossPer100k": 121,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 38,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.007,
        "listPriceYoY": -0.0526,
        "inventoryYoY": 0.205,
        "domYoY": 0.0351,
        "priceCutShare": 0.2656,
        "priceCutShareYoY": 0.0321,
        "popChange1yr": 0.022,
        "domesticMigPer1000": 4.09
      },
      "activeListings": 4362,
      "medianDom": 59,
      "medianListPrice": 450000,
      "permitsPer1000Units": 15.57,
      "permitsYoY": -0.3737,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 30.7,
        "listPriceYoY": 19.1,
        "inventoryYoY": 14.5,
        "domYoY": 31.5,
        "priceCutShareYoY": 6.9,
        "popChange1yr": 94.3,
        "domesticMigPer1000": 66.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "riskScore": 97.1,
      "riskRating": "Relatively High",
      "topHazards": [
        "riverFlood",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 84.2,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 62.2,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 97.4,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 93.2,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 85.4,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 94.6,
          "rating": "Relatively High"
        }
      },
      "homeValue": 417072,
      "homeValue4br": 562592,
      "homeValueYoY": -0.007,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 46,
      "opportunityBasis": "partial",
      "buyerScore": 83,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 85,
        "domYoY": 69,
        "priceCutShareYoY": 93,
        "priceCutShare": 86
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "chicago",
      "city": "Chicago",
      "state": "Illinois",
      "stateCode": "IL",
      "lat": 41.8781,
      "lng": -87.6298,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Shared Housing Unit Registration via the online portal (chicago.gov/sharedhousing); a Shared Housing Unit Operator License is additionally required if the host operates more than one registered unit.",
      "tax": "Chicago's hotel accommodations tax stack (city, county, state) applies to STRs, alongside Illinois' statewide Hotel Operators' Occupation Tax in effect since January 6, 2026.",
      "zoning": null,
      "minStay": "Stays under 31 consecutive days (defines a 'shared housing unit' under the ordinance).",
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/chicago-il-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Chicago, Dept. of Business Affairs and Consumer Protection (BACP)",
      "permitFee": "$250 annual registration fee per unit; $250 Operator License fee for multi-unit operators.",
      "strCap": "No citywide numeric cap, but STRs are prohibited on the Prohibited Buildings List and within City Council-designated Restricted Residential Zones (RRZs), effectively banning STRs in parts of the city.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.chicago.gov/sharedhousing",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Cook County",
      "countyFips": "17031",
      "seasonalShare": 0.0055,
      "bigHomeShare": 0.1715,
      "tourismJobShare": 0.0866,
      "amenityScore": 100,
      "dining": 3905,
      "attractions": 272,
      "outdoors": 1006,
      "lodgingCompetition": 218,
      "pop150": 18996672,
      "pop300": 47832869,
      "nearestMetros": [
        {
          "name": "Cook County, IL",
          "pop": 5225367
        },
        {
          "name": "Milwaukee County, WI",
          "pop": 933063
        },
        {
          "name": "DuPage County, IL",
          "pop": 930559
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 2,
      "climate": {
        "highF": [
          32.6,
          34.2,
          46.1,
          55.8,
          65.7,
          77.2,
          81.1,
          80.1,
          74.6,
          61,
          48.3,
          40.9
        ],
        "lowF": [
          20.4,
          18.9,
          30.7,
          39.2,
          49.5,
          61,
          66.8,
          66.2,
          60.7,
          47.3,
          34,
          28.2
        ],
        "precipIn": [
          2.6,
          2.6,
          3.5,
          3.8,
          5.4,
          4.5,
          6.1,
          4.2,
          4.8,
          5.6,
          1.6,
          2.4
        ],
        "snowIn": [
          10.8,
          7.9,
          3.2,
          3.4,
          0,
          0,
          0,
          0,
          0,
          1.1,
          1.5,
          2.2
        ],
        "sunHours": [
          4.3,
          6.3,
          7.3,
          8.6,
          9.6,
          11.5,
          11.8,
          11.6,
          9.3,
          7.2,
          6.4,
          4.9
        ]
      },
      "effectiveTaxRate": 0.02023,
      "taxTopCoded": false,
      "annualTax4br": 10028,
      "annualTaxTypical": 6910,
      "lossPer100k": 126,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 68,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.058,
        "listPriceYoY": 0.0562,
        "inventoryYoY": -0.1355,
        "domYoY": -0.027,
        "priceCutShare": 0.1288,
        "priceCutShareYoY": -0.0238,
        "popChange1yr": 0.0011,
        "domesticMigPer1000": -6
      },
      "activeListings": 7582,
      "medianDom": 36,
      "medianListPrice": 359000,
      "permitsPer1000Units": 2.2,
      "permitsYoY": -0.2364,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 94.3,
        "listPriceYoY": 90.8,
        "inventoryYoY": 93.1,
        "domYoY": 57.2,
        "priceCutShareYoY": 85,
        "popChange1yr": 36.9,
        "domesticMigPer1000": 18.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Confirm the current position with the jurisdiction in writing before you buy or list.",
      "regDirectionReviewed": false,
      "permitRegistry": {
        "active": 3687,
        "asOf": "2026-09-21",
        "byType": {
          "APPROVED": 3687
        },
        "name": "Active Shared Housing Registrations",
        "url": "https://data.cityofchicago.org/d/qfyy-956j",
        "per1000CountyUnits": null,
        "capText": "No citywide numeric cap, but STRs are prohibited on the Prohibited Buildings List and within City Council-designated Restricted Residential Zones (RRZs), effectively banning STRs in parts of the city."
      },
      "driverCount": 12,
      "emergingDriverCount": 1,
      "eventMonths": [
        7,
        8,
        9
      ],
      "riskScore": 100,
      "riskRating": "Very High",
      "topHazards": [
        "tornado",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": 48.9,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": 44,
          "rating": "Relatively Low"
        },
        "riverFlood": {
          "score": 99.9,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 55.8,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 100,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 98.4,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 100,
          "rating": "Very High"
        },
        "hail": {
          "score": 99.1,
          "rating": "Relatively High"
        }
      },
      "homeValue": 341570,
      "homeValue4br": 495691,
      "homeValueYoY": 0.058,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 38,
      "opportunityBasis": "partial",
      "buyerScore": 20,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 8,
        "domYoY": 43,
        "priceCutShareYoY": 15,
        "priceCutShare": 12
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "coeur-dalene",
      "city": "Coeur d'Alene",
      "state": "Idaho",
      "stateCode": "ID",
      "lat": 47.6743,
      "lng": -116.7812,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/coeur-dalene-id-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "The city's permit program limits operations to one short-term rental unit per owner per parcel (an owner may permit STRs on multiple separate parcels).",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/coeur-dalene-id-airbnb-regulations",
      "countyName": "Kootenai County",
      "countyFips": "16055",
      "seasonalShare": 0.0807,
      "bigHomeShare": 0.2561,
      "tourismJobShare": 0.1003,
      "amenityScore": 70,
      "dining": 243,
      "attractions": 18,
      "outdoors": 213,
      "lodgingCompetition": 38,
      "pop150": 1726220,
      "pop300": 9046005,
      "nearestMetros": [
        {
          "name": "Spokane County, WA",
          "pop": 538711
        },
        {
          "name": "Kootenai County, ID",
          "pop": 173396
        },
        {
          "name": "Missoula County, MT",
          "pop": 118541
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 4,
      "climate": {
        "highF": [
          38,
          36.3,
          46.2,
          54.3,
          65.3,
          73.4,
          83.9,
          83.2,
          72.4,
          57.6,
          43.6,
          36.8
        ],
        "lowF": [
          26.4,
          21.9,
          28.7,
          36.1,
          45.3,
          53.6,
          60.9,
          60.6,
          52.8,
          41.7,
          31.8,
          27.6
        ],
        "precipIn": [
          3.5,
          2.5,
          2.1,
          2.4,
          3,
          2.1,
          0.3,
          1,
          1.8,
          2.3,
          3.8,
          4
        ],
        "snowIn": [
          13.2,
          13,
          5.9,
          4.5,
          0.2,
          0,
          0,
          0,
          0.5,
          1.7,
          10,
          18.5
        ],
        "sunHours": [
          3.9,
          5.3,
          8.2,
          10,
          11.3,
          12.7,
          14.3,
          12.4,
          9.9,
          7.9,
          4.8,
          2.8
        ]
      },
      "effectiveTaxRate": 0.00497,
      "taxTopCoded": false,
      "annualTax4br": 3428,
      "annualTaxTypical": 3008,
      "lossPer100k": 87,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 79,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.028,
        "listPriceYoY": 0.06,
        "inventoryYoY": -0.0762,
        "domYoY": -0.1356,
        "priceCutShare": 0.2208,
        "priceCutShareYoY": 0.0103,
        "popChange1yr": 0.0184,
        "domesticMigPer1000": 16.78
      },
      "activeListings": 1030,
      "medianDom": 51,
      "medianListPrice": 795000,
      "permitsPer1000Units": 22.53,
      "permitsYoY": 0.0744,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 73,
        "listPriceYoY": 93.1,
        "inventoryYoY": 83.8,
        "domYoY": 92.5,
        "priceCutShareYoY": 28.9,
        "popChange1yr": 92,
        "domesticMigPer1000": 92
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "loosening",
      "regChangeType": "state-preemption",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Idaho's HB 583, effective July 1, 2026, prohibits cities from requiring STR permits or charging permit fees, so this program is being phased out.",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 79,
      "riskRating": "Relatively Low",
      "topHazards": [
        "winterWeather",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 86.3,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 79.5,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 22,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 79.2,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 92.7,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 17.3,
          "rating": "Very Low"
        }
      },
      "homeValue": 605222,
      "homeValue4br": 689815,
      "homeValueYoY": 0.028,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 52,
      "opportunityBasis": "partial",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 17,
        "domYoY": 8,
        "priceCutShareYoY": 71,
        "priceCutShare": 62
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "davis",
      "city": "Davis",
      "state": "West Virginia",
      "stateCode": "WV",
      "lat": 39.1334,
      "lng": -79.4581,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 1,
      "regNotes": null,
      "growthTrend": null,
      "permit": "An ordinary town building permit plus a standard business license; there is no STR-specific ordinance currently in force in Davis.",
      "tax": "West Virginia's combined state sales/lodging excise tax (roughly 12%) applies; the local Town of Davis/Tucker County hotel occupancy tax rate was not confirmed.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/davis-wv-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of Davis Council (building permits/business licenses); no town-wide zoning ordinance is currently in effect after the 2024 ballot rejection.",
      "strCap": "None currently in effect. A proposed cap of 24 STR permits, tied to a broader zoning ordinance, was rejected by voters in a June 8, 2024 Special Zoning Ordinance Election (60% opposed, 115 of 195 votes cast).",
      "statusNote": "Davis's STR rules are unusually fluid: an eight-year zoning effort (which would have capped STRs at 24 units in a residential area) failed at the ballot box in June 2024, and the town's STR moratorium was lifted that same month via a unanimous council vote. The town could revisit STR-specific regulation at any time — this should be monitored rather than assumed to be permanent.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.wboy.com/news/tucker/town-of-davis-short-term-rental-issues-remain-unsolved-after-zoning-ordinance-fails/",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Tucker County",
      "countyFips": "54093",
      "seasonalShare": 0.3069,
      "bigHomeShare": 0.2549,
      "tourismJobShare": 0.1087,
      "amenityScore": 56,
      "dining": 24,
      "attractions": 19,
      "outdoors": 277,
      "lodgingCompetition": 5,
      "pop150": 15153171,
      "pop300": 67175878,
      "nearestMetros": [
        {
          "name": "Allegheny County, PA",
          "pop": 1245310
        },
        {
          "name": "Fairfax County, VA",
          "pop": 1145354
        },
        {
          "name": "Montgomery County, MD",
          "pop": 1056910
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 4,
      "climate": {
        "highF": [
          34.6,
          40.5,
          46.9,
          54.5,
          62.3,
          69.4,
          74.9,
          72.9,
          67.9,
          58.3,
          46.4,
          40.2
        ],
        "lowF": [
          20.3,
          22.8,
          28.9,
          36.6,
          46.8,
          54.9,
          60.8,
          59.2,
          53.1,
          43.4,
          30.8,
          26.3
        ],
        "precipIn": [
          5.3,
          5.5,
          4.8,
          5.6,
          7,
          5.5,
          4.6,
          4.4,
          3.5,
          4.1,
          3.2,
          5.1
        ],
        "snowIn": [
          17.1,
          10.9,
          8.3,
          4.7,
          4.7,
          0,
          0,
          0,
          0,
          0.9,
          4.9,
          12.2
        ],
        "sunHours": [
          4,
          5.2,
          7.1,
          8.4,
          9.7,
          11,
          11.7,
          10.5,
          9.8,
          7.3,
          6.6,
          4.7
        ]
      },
      "effectiveTaxRate": 0.00365,
      "taxTopCoded": false,
      "annualTax4br": 1178,
      "annualTaxTypical": 763,
      "lossPer100k": 240,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 56,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.005,
        "listPriceYoY": 0.0769,
        "inventoryYoY": 0.1923,
        "domYoY": 0.0294,
        "priceCutShare": 0.0606,
        "priceCutShareYoY": -0.0394,
        "popChange1yr": -0.0014,
        "domesticMigPer1000": 8.55
      },
      "activeListings": 62,
      "medianDom": 70,
      "medianListPrice": 350000,
      "permitsPer1000Units": 0.21,
      "permitsYoY": 0,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 47.7,
        "listPriceYoY": 94.8,
        "inventoryYoY": 15.3,
        "domYoY": 33.8,
        "priceCutShareYoY": 93.1,
        "popChange1yr": 23.4,
        "domesticMigPer1000": 83.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "loosening",
      "regChangeType": "moratorium",
      "regChangeYear": 2024,
      "regChangePending": false,
      "regDirectionEvidence": "Following that vote, the Town Council unanimously lifted its moratorium on new short-term rentals, effective June 12, 2024.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 12.6,
      "riskRating": "Very Low",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 47.1,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 39.6,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 10.1,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 8.6,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 16.1,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 28.5,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 18,
          "rating": "Very Low"
        }
      },
      "homeValue": 209023,
      "homeValue4br": 322783,
      "homeValueYoY": 0.005,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 57,
      "opportunityBasis": "partial",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 85,
        "domYoY": 66,
        "priceCutShareYoY": 7,
        "priceCutShare": 1
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "deadwood",
      "city": "Deadwood",
      "state": "South Dakota",
      "stateCode": "SD",
      "lat": 44.3767,
      "lng": -103.7296,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 5,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Conditional Use Permit for a 'Vacation Home Establishment,' reviewed annually by the Deadwood Planning & Zoning Commission and Board; only allowed in Commercial and Commercial Highway zoning districts.",
      "tax": "South Dakota state sales & use tax (4.2%) + state Tourism Tax (1.5%) + municipal sales tax + Deadwood Business Improvement District tax assessments (Districts 1-7) — operators must also hold a state Excise Tax registration and a South Dakota Dept. of Health Lodging License.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/deadwood-sd-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Deadwood (Lawrence County)",
      "statusNote": "Deadwood has banned new short-term rentals in residentially-zoned areas and has separately prohibited first-floor short-term rental use within the local historic district — this is one of the most restrictive markets in the eight-state research region.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.cityofdeadwood.com/planning/page/short-term-rental-information",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Lawrence County",
      "countyFips": "46081",
      "seasonalShare": 0.1332,
      "bigHomeShare": 0.2185,
      "tourismJobShare": 0.1991,
      "amenityScore": 55,
      "dining": 37,
      "attractions": 22,
      "outdoors": 112,
      "lodgingCompetition": 53,
      "pop150": 335926,
      "pop300": 2454614,
      "nearestMetros": [
        {
          "name": "Pennington County, SD",
          "pop": 110386
        },
        {
          "name": "Campbell County, WY",
          "pop": 46857
        },
        {
          "name": "Meade County, SD",
          "pop": 29970
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 7,
      "climate": {
        "highF": [
          37,
          29.8,
          41.2,
          47.8,
          59.3,
          73.7,
          80.2,
          78.9,
          71.5,
          52.7,
          45.5,
          38.8
        ],
        "lowF": [
          21,
          11.8,
          22.5,
          29,
          41.1,
          54,
          60.3,
          59.2,
          51.9,
          35.5,
          28.4,
          22.3
        ],
        "precipIn": [
          1.3,
          1.6,
          1.6,
          3.6,
          4.7,
          2.6,
          2.3,
          1.5,
          1.6,
          2.8,
          1,
          1.3
        ],
        "snowIn": [
          8.4,
          11.3,
          10.2,
          18.2,
          7.8,
          0,
          0,
          0,
          0.9,
          12.4,
          5.5,
          9.1
        ],
        "sunHours": [
          6.7,
          8,
          9.3,
          9.6,
          10.6,
          13.1,
          13.4,
          12.6,
          10.8,
          8.5,
          7.7,
          6.3
        ]
      },
      "effectiveTaxRate": 0.00972,
      "taxTopCoded": false,
      "annualTax4br": 5324,
      "annualTaxTypical": 4372,
      "lossPer100k": 178,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 55,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.007,
        "listPriceYoY": 0.0078,
        "inventoryYoY": 0.186,
        "domYoY": 0.0658,
        "priceCutShare": 0.1748,
        "priceCutShareYoY": -0.0009,
        "popChange1yr": 0.0261,
        "domesticMigPer1000": 27.38
      },
      "activeListings": 287,
      "medianDom": 81,
      "medianListPrice": 785000,
      "permitsPer1000Units": 16.24,
      "permitsYoY": 0.0594,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 30.7,
        "listPriceYoY": 75.7,
        "inventoryYoY": 17.3,
        "domYoY": 20.2,
        "priceCutShareYoY": 44.5,
        "popChange1yr": 96.6,
        "domesticMigPer1000": 97.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Deadwood has been regulating vacation home rentals for roughly three decades, making it one of the longest-standing STR regulatory regimes in the entire eight-state research region — this is a mature, restrictive market, not an emerging one.",
      "regDirectionReviewed": false,
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [
        8
      ],
      "riskScore": 49.3,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 57.1,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 93.2,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 37.8,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 38.1,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 89.4,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 84.3,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 449746,
      "homeValue4br": 547742,
      "homeValueYoY": -0.007,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 35,
      "opportunityBasis": "partial",
      "buyerScore": 62,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 83,
        "domYoY": 80,
        "priceCutShareYoY": 55,
        "priceCutShare": 31
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "deep-creek-lake",
      "city": "Deep Creek Lake",
      "state": "Maryland",
      "stateCode": "MD",
      "lat": 39.5039,
      "lng": -79.2834,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/deep-creek-lake-md-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "A zoning permit (around $50) accompanies applications inside the Deep Creek Lake Watershed District.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/deep-creek-lake-md-airbnb-regulations",
      "countyName": "Garrett County",
      "countyFips": "24023",
      "seasonalShare": 0.2268,
      "bigHomeShare": 0.2645,
      "tourismJobShare": 0.0927,
      "amenityScore": 53,
      "dining": 29,
      "attractions": 12,
      "outdoors": 160,
      "lodgingCompetition": 15,
      "pop150": 17810303,
      "pop300": 75298841,
      "nearestMetros": [
        {
          "name": "Allegheny County, PA",
          "pop": 1245310
        },
        {
          "name": "Fairfax County, VA",
          "pop": 1145354
        },
        {
          "name": "Montgomery County, MD",
          "pop": 1056910
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 4,
      "climate": {
        "highF": [
          35.1,
          40.6,
          47.9,
          56.1,
          63.8,
          72,
          77.9,
          75.9,
          69.9,
          59.6,
          47.5,
          40.8
        ],
        "lowF": [
          21.5,
          23.4,
          29.4,
          37.5,
          47.2,
          55.9,
          62.6,
          61.1,
          54.6,
          44.7,
          32.3,
          27.3
        ],
        "precipIn": [
          4.3,
          4.6,
          3.9,
          4.5,
          5.3,
          4.1,
          3.1,
          3.5,
          3.2,
          3.4,
          2.5,
          4.1
        ],
        "snowIn": [
          12.5,
          8.5,
          6.5,
          2.8,
          2,
          0,
          0,
          0,
          0,
          0.4,
          2.8,
          9.1
        ],
        "sunHours": [
          4.5,
          5.9,
          7.5,
          8.9,
          9.8,
          11.1,
          11.8,
          10.7,
          9.8,
          7.4,
          7,
          4.8
        ]
      },
      "effectiveTaxRate": 0.00824,
      "taxTopCoded": false,
      "annualTax4br": 4729,
      "annualTaxTypical": 2772,
      "lossPer100k": 58,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 71,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.021,
        "listPriceYoY": 0.006,
        "inventoryYoY": -0.1423,
        "domYoY": -0.0645,
        "priceCutShare": 0.1471,
        "priceCutShareYoY": -0.0657,
        "popChange1yr": -0.0017,
        "domesticMigPer1000": 3.77
      },
      "activeListings": 241,
      "medianDom": 87,
      "medianListPrice": 679000,
      "permitsPer1000Units": 8,
      "permitsYoY": 0.2131,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 66.7,
        "listPriceYoY": 75.1,
        "inventoryYoY": 93.6,
        "domYoY": 77.5,
        "priceCutShareYoY": 98.3,
        "popChange1yr": 20.6,
        "domesticMigPer1000": 65.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 5,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 16,
      "riskRating": "Very Low",
      "topHazards": [
        "winterWeather",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 63.8,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 34.7,
          "rating": "Very Low"
        },
        "wildfire": {
          "score": 31.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 21.2,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 32.4,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 64.3,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 48.3,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 336420,
      "homeValue4br": 573955,
      "homeValueYoY": 0.021,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 45,
      "opportunityBasis": "partial",
      "buyerScore": 12,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 7,
        "domYoY": 23,
        "priceCutShareYoY": 2,
        "priceCutShare": 16
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "des-moines",
      "city": "Des Moines",
      "state": "Iowa",
      "stateCode": "IA",
      "lat": 41.5868,
      "lng": -93.625,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-term rental permit registered online or at the City Clerk's office; granted for the calendar year of issuance under Ordinance No. 15,844 / Municipal Code Ch. 5.72.",
      "tax": "5% Iowa state hotel/motel tax + local Des Moines hotel/motel tax (rate not confirmed) + state sales tax.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/des-moines-ia-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Des Moines",
      "permitFee": "$250 per year (as of 2025; City Council may adjust the fee by resolution).",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://online.encodeplus.com/regs/desmoines-ia/doclibrary.aspx?id=20d3b91e-07db-474f-a966-f5368a9a1141",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Polk County",
      "countyFips": "19153",
      "seasonalShare": 0.0035,
      "bigHomeShare": 0.225,
      "tourismJobShare": 0.0729,
      "amenityScore": 93,
      "dining": 603,
      "attractions": 194,
      "outdoors": 632,
      "lodgingCompetition": 122,
      "pop150": 4015918,
      "pop300": 25428786,
      "nearestMetros": [
        {
          "name": "Douglas County, NE",
          "pop": 582638
        },
        {
          "name": "Polk County, IA",
          "pop": 493378
        },
        {
          "name": "Linn County, IA",
          "pop": 229308
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 7,
      "snowMonths": 1,
      "climate": {
        "highF": [
          30.4,
          32.3,
          48.5,
          60.2,
          70.7,
          83,
          85.7,
          84.2,
          78.8,
          61.9,
          49.3,
          39.8
        ],
        "lowF": [
          14.5,
          13.2,
          30.4,
          40.3,
          52.6,
          64.3,
          68.1,
          66.5,
          60.5,
          45.2,
          32.4,
          23.7
        ],
        "precipIn": [
          1.9,
          1.3,
          3.1,
          2.6,
          5.2,
          3.8,
          3.9,
          3,
          2.7,
          4,
          1.6,
          1.5
        ],
        "snowIn": [
          9.9,
          5.1,
          3.8,
          0.9,
          0,
          0,
          0,
          0,
          0,
          0.7,
          1.3,
          3.1
        ],
        "sunHours": [
          5.5,
          7.5,
          7.8,
          9.2,
          9.4,
          12.3,
          12.6,
          11.7,
          10.4,
          8.3,
          7.2,
          6.2
        ]
      },
      "effectiveTaxRate": 0.01814,
      "taxTopCoded": false,
      "annualTax4br": 6937,
      "annualTaxTypical": 5097,
      "lossPer100k": 83,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 40,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.003,
        "listPriceYoY": -0.0308,
        "inventoryYoY": 0.126,
        "domYoY": 0.0172,
        "priceCutShare": 0.2317,
        "priceCutShareYoY": 0.0067,
        "popChange1yr": 0.0059,
        "domesticMigPer1000": -1.2
      },
      "activeListings": 2198,
      "medianDom": 59,
      "medianListPrice": 315000,
      "permitsPer1000Units": 22.38,
      "permitsYoY": 0.6039,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 43.4,
        "listPriceYoY": 43.6,
        "inventoryYoY": 26,
        "domYoY": 39.3,
        "priceCutShareYoY": 32.9,
        "popChange1yr": 56,
        "domesticMigPer1000": 36.6
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": 2025,
      "regChangePending": false,
      "regDirectionEvidence": "Des Moines requires an annual short-term rental permit, currently priced at $250/year as of 2025, registered online or in person at the City Clerk's office and valid for the calendar year issued.",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [
        8
      ],
      "riskScore": 92,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "tornado",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 27.5,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 92.1,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 57.7,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 98.1,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 66.8,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 90.3,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 97.9,
          "rating": "Relatively High"
        }
      },
      "homeValue": 281007,
      "homeValue4br": 382416,
      "homeValueYoY": 0.003,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 45,
      "opportunityBasis": "partial",
      "buyerScore": 68,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 74,
        "domYoY": 61,
        "priceCutShareYoY": 67,
        "priceCutShare": 68
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "door-county",
      "city": "Door County",
      "state": "Wisconsin",
      "stateCode": "WI",
      "lat": 44.7616,
      "lng": -87.533,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/door-county-wi-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Several towns impose a 7-night minimum stay plus occupancy and parking limits; some towns are actively weighing tighter density/licensing rules.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/door-county-wi-airbnb-regulations",
      "countyName": "Door County",
      "countyFips": "55029",
      "seasonalShare": 0.3629,
      "bigHomeShare": 0.1708,
      "tourismJobShare": 0.138,
      "amenityScore": 47,
      "dining": 22,
      "attractions": 7,
      "outdoors": 47,
      "lodgingCompetition": 15,
      "pop150": 5003239,
      "pop300": 33795313,
      "nearestMetros": [
        {
          "name": "Milwaukee County, WI",
          "pop": 933063
        },
        {
          "name": "Waukesha County, WI",
          "pop": 407290
        },
        {
          "name": "Ottawa County, MI",
          "pop": 296183
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 4,
      "climate": {
        "highF": [
          27.3,
          27.9,
          39.7,
          50.9,
          63.9,
          75.6,
          80.2,
          78.1,
          70.1,
          56.5,
          43.7,
          34.3
        ],
        "lowF": [
          14.9,
          11.8,
          24.1,
          34.6,
          45.3,
          57.1,
          63.3,
          62.4,
          56.3,
          43.9,
          31.2,
          22.5
        ],
        "precipIn": [
          1.7,
          2.1,
          2.9,
          3.3,
          3.6,
          3.4,
          3.8,
          4.1,
          3.4,
          3.8,
          2,
          2.2
        ],
        "snowIn": [
          9.2,
          12.5,
          6.3,
          3.1,
          1,
          0,
          0,
          0,
          0,
          0.9,
          3,
          8.9
        ],
        "sunHours": [
          4.5,
          6.8,
          7.8,
          8.8,
          10.7,
          12.4,
          12.8,
          12,
          9.4,
          7.2,
          6.2,
          4.7
        ]
      },
      "effectiveTaxRate": 0.01117,
      "taxTopCoded": false,
      "annualTax4br": 7410,
      "annualTaxTypical": 4880,
      "lossPer100k": 51,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 58,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.023,
        "listPriceYoY": 0.0501,
        "inventoryYoY": 0.2966,
        "domYoY": -0.1438,
        "priceCutShare": 0.1089,
        "priceCutShareYoY": 0.007,
        "popChange1yr": 0.0011,
        "domesticMigPer1000": 7.03
      },
      "activeListings": 341,
      "medianDom": 69,
      "medianListPrice": 525000,
      "permitsPer1000Units": 12.65,
      "permitsYoY": -0.0351,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 69.5,
        "listPriceYoY": 87.9,
        "inventoryYoY": 4,
        "domYoY": 94.5,
        "priceCutShareYoY": 32.4,
        "popChange1yr": 36.9,
        "domesticMigPer1000": 79.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 46.9,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hail",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": 40.2,
          "rating": "Very Low"
        },
        "riverFlood": {
          "score": 52.1,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 39.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 47.6,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 12.8,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 25,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 72.1,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 436878,
      "homeValue4br": 663362,
      "homeValueYoY": 0.023,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 41,
      "opportunityBasis": "partial",
      "buyerScore": 44,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 96,
        "domYoY": 6,
        "priceCutShareYoY": 68,
        "priceCutShare": 4
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "duluth",
      "city": "Duluth",
      "state": "Minnesota",
      "stateCode": "MN",
      "lat": 46.7867,
      "lng": -92.1005,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 5,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Interim Use Permit (Vacation Dwelling Unit) for non-owner-occupied properties, allocated via a lottery/eligibility-list system when the citywide cap is full; owner-occupied 'home-share' hosts have an uncapped, simpler registration path. Full operation additionally requires an annual rental license.",
      "tax": "6.875% Minnesota state sales tax + local Duluth lodging tax (rate not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/duluth-mn-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Duluth",
      "permitFee": "Interim Use Permit application: $2,500. Full vacation-rental license fee: $1,600/year (raised from $621); a limited-use permit path (capped rental days per year) is $250/year.",
      "strCap": "Citywide cap on non-owner-occupied vacation dwelling permits, reported in the roughly 60-120 permit range and growing only slowly each year; the waitlist created by the most recent (2024) lottery is not expected to reopen for the foreseeable future.",
      "ownerOccupancy": "Not required for a licensed vacation rental generally, but owner-occupied 'home-share' hosting is a separate, effectively uncapped path, in contrast to the capped/lottery non-owner-occupied Interim Use Permit track.",
      "statusNote": "As of the most recent city guidance, the Interim Use Permit waitlist has no opening expected in the foreseeable future — an investor buying property specifically to run a non-owner-occupied Duluth STR should assume no path to a new permit exists today.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://duluthmn.gov/planning-development/land-use-zoning-and-applications/applications-checklists/short-term-rentals/",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "St. Louis County",
      "countyFips": "27137",
      "seasonalShare": 0.1084,
      "bigHomeShare": 0.1717,
      "tourismJobShare": 0.1042,
      "amenityScore": 78,
      "dining": 181,
      "attractions": 75,
      "outdoors": 498,
      "lodgingCompetition": 54,
      "pop150": 4294436,
      "pop300": 10406548,
      "nearestMetros": [
        {
          "name": "Hennepin County, MN",
          "pop": 1270787
        },
        {
          "name": "Ramsey County, MN",
          "pop": 547202
        },
        {
          "name": "Anoka County, MN",
          "pop": 363985
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 6,
      "climate": {
        "highF": [
          21.7,
          21.8,
          36.5,
          46.2,
          60.9,
          73.4,
          78.8,
          76.3,
          68.9,
          53.6,
          39.6,
          29.3
        ],
        "lowF": [
          8.1,
          5.6,
          21.7,
          31.2,
          43.4,
          56,
          62.8,
          62,
          55.4,
          42,
          27.3,
          16.4
        ],
        "precipIn": [
          1.2,
          1.3,
          2.1,
          3.4,
          3.1,
          2.5,
          3.8,
          3.2,
          3.9,
          2.6,
          1.9,
          3.1
        ],
        "snowIn": [
          8.2,
          8.1,
          9.6,
          8,
          1.9,
          0,
          0,
          0,
          0,
          2,
          6.2,
          15.4
        ],
        "sunHours": [
          4.9,
          7,
          8.2,
          7.7,
          10.3,
          12.9,
          12.7,
          11.3,
          9,
          6.5,
          5.5,
          4.5
        ]
      },
      "effectiveTaxRate": 0.01027,
      "taxTopCoded": false,
      "annualTax4br": 3742,
      "annualTaxTypical": 2644,
      "lossPer100k": 91,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 60,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.065,
        "listPriceYoY": 0.0878,
        "inventoryYoY": 0.2401,
        "domYoY": -0.0727,
        "priceCutShare": 0.196,
        "priceCutShareYoY": -0.0081,
        "popChange1yr": -0.0006,
        "domesticMigPer1000": 2.38
      },
      "activeListings": 692,
      "medianDom": 51,
      "medianListPrice": 347000,
      "permitsPer1000Units": 3.97,
      "permitsYoY": -0.3532,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 95.4,
        "listPriceYoY": 95.4,
        "inventoryYoY": 9.8,
        "domYoY": 79.8,
        "priceCutShareYoY": 52,
        "popChange1yr": 28.6,
        "domesticMigPer1000": 58.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "As of the most recent city guidance, the Interim Use Permit waitlist has no opening expected in the foreseeable future — an investor buying property specifically to run a non-owner-occupied Duluth STR should assume no path to a new permit exists today.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 91.6,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "winterWeather",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 35,
          "rating": "Very Low"
        },
        "riverFlood": {
          "score": 91.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 81.7,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 64.7,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 3.2,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 98,
          "rating": "Very High"
        },
        "hail": {
          "score": 84,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 257492,
      "homeValue4br": 364363,
      "homeValueYoY": 0.065,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 33,
      "opportunityBasis": "partial",
      "buyerScore": 52,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 90,
        "domYoY": 21,
        "priceCutShareYoY": 48,
        "priceCutShare": 48
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "east-hampton",
      "city": "East Hampton",
      "state": "New York",
      "stateCode": "NY",
      "lat": 40.9634,
      "lng": -72.1848,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Rental Registry (Town Code Chapter 199) — registration number required, must appear in all rental advertising, covers all residential rentals including short-term/seasonal.",
      "tax": "Statewide 4% NYS sales tax on STR occupancy (platform-collected) plus Suffolk County hotel/motel occupancy tax (rate not independently confirmed).",
      "zoning": null,
      "minStay": "No fixed legal minimum-stay length confirmed, but the 2-per-6-months frequency cap functions as a de facto restriction on frequent short-term turnover.",
      "occupancyRule": null,
      "penalties": "Town press materials cite potential fines exceeding $200,000 with possible incarceration in enforcement cases; these figures likely reflect aggregated/repeat-violation exposure rather than a typical first offense — confirm actual per-violation fine schedule before relying on this.",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/east-hampton-ny-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of East Hampton (Rental Registry, Town Code Chapter 199); the incorporated Village of East Hampton has its own separate Seasonal Use Dwelling Unit Registry (Chapter 232)",
      "permitFee": "$100 filing fee; registration valid for 2 years from issuance.",
      "strCap": "No blanket numeric cap on total registrations townwide, but each property is capped at a maximum of 2 rentals of under 2 weeks within any rolling 6-month period; 'share houses' (splitting occupancy rights among multiple parties/time periods) are prohibited entirely.",
      "ownerOccupancy": "Not required for registration, but the 2-per-6-months short-term cap constrains how much true short-stay/Airbnb-style rental a non-resident owner can legally conduct.",
      "statusNote": "The Town has been intensifying enforcement, including reported use of AI tools to flag unregistered listings, with local reporting finding roughly half of active listings unlicensed — signals a rising compliance-risk environment for buyers assuming they can operate off-registry.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.ehamptonny.gov/DocumentCenter/View/1342/East-Hampton-Town-Rental-Registry-FAQs-Brochure-PDF",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Suffolk County",
      "countyFips": "36103",
      "seasonalShare": 0.0774,
      "bigHomeShare": 0.3602,
      "tourismJobShare": 0.0687,
      "amenityScore": 56,
      "dining": 22,
      "attractions": 15,
      "outdoors": 145,
      "lodgingCompetition": 23,
      "pop150": 34122144,
      "pop300": 58578960,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 1,
      "climate": {
        "highF": [
          41,
          41.8,
          46.7,
          54,
          62.4,
          71.8,
          80.1,
          78.8,
          72.6,
          63.8,
          53.6,
          46.1
        ],
        "lowF": [
          30.8,
          31.1,
          35.6,
          43.3,
          50.9,
          61,
          69.6,
          69.6,
          63.8,
          55.2,
          43.6,
          36.6
        ],
        "precipIn": [
          4.2,
          3.9,
          4,
          4.6,
          3.9,
          2.9,
          3,
          4.1,
          4.7,
          6.2,
          3.5,
          5.6
        ],
        "snowIn": [
          4.2,
          6.4,
          2.2,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          3
        ],
        "sunHours": [
          6,
          6.4,
          8.6,
          8.7,
          10.8,
          11.6,
          11.7,
          10.9,
          9.6,
          7.5,
          7,
          5.5
        ]
      },
      "effectiveTaxRate": 0.02038,
      "taxTopCoded": true,
      "annualTax4br": 17387,
      "annualTaxTypical": 15049,
      "lossPer100k": 71,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 55,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.037,
        "listPriceYoY": -0.0011,
        "inventoryYoY": -0.0282,
        "domYoY": -0.0492,
        "priceCutShare": 0.104,
        "priceCutShareYoY": 0.0157,
        "popChange1yr": 0.0018,
        "domesticMigPer1000": -2.85
      },
      "activeListings": 4025,
      "medianDom": 58,
      "medianListPrice": 899000,
      "permitsPer1000Units": 2.42,
      "permitsYoY": -0.0057,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 83.9,
        "listPriceYoY": 69.4,
        "inventoryYoY": 70.5,
        "domYoY": 69.9,
        "priceCutShareYoY": 23.1,
        "popChange1yr": 41.7,
        "domesticMigPer1000": 29.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "enforcement",
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The Town has been intensifying enforcement, including reported use of AI tools to flag unregistered listings, with local reporting finding roughly half of active listings unlicensed — signals a rising compliance-risk environment for buyers assuming they can operate off-registry.",
      "regDirectionReviewed": false,
      "driverCount": 9,
      "emergingDriverCount": 1,
      "eventMonths": [],
      "riskScore": 97.3,
      "riskRating": "Relatively High",
      "topHazards": [
        "winterWeather",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 96.8,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 98.6,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 98.3,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 73.4,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 74.7,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 95.9,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 98.8,
          "rating": "Very High"
        },
        "hail": {
          "score": 36.9,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 738423,
      "homeValue4br": 853142,
      "homeValueYoY": 0.037,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 32,
      "opportunityBasis": "partial",
      "buyerScore": 35,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 30,
        "domYoY": 31,
        "priceCutShareYoY": 77,
        "priceCutShare": 3
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "fargo",
      "city": "Fargo",
      "state": "North Dakota",
      "stateCode": "ND",
      "lat": 46.8772,
      "lng": -96.7898,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 1,
      "regNotes": null,
      "growthTrend": null,
      "permit": "None identified — Fargo has no STR-specific permit or registration requirement as of this research; general zoning, noise, and parking rules still apply as they would to any residential use.",
      "tax": "North Dakota state sales tax applies to stays under 30 days (register with the ND Office of State Tax Commissioner); any Fargo local lodging tax would be capped at 2% under NDCC Ch. 40-57.3 if adopted (not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/fargo-nd-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Fargo (Cass County); note neighboring West Fargo has adopted its own separate STR ordinance effective July 1, 2026.",
      "statusNote": "Fargo currently has no formal short-term rental regulations, but this should not be read as a permanent policy: the directly adjacent city of West Fargo passed its own STR licensing ordinance (Ordinance 1254) in November 2025, effective July 1, 2026, with a $150 application fee plus a $65 annual safety/compliance inspection fee — suggesting Fargo-area cities are actively moving toward regulation and Fargo itself could follow.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.westfargond.gov/1478/Short-Term-Rentals",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Cass County",
      "countyFips": "38017",
      "seasonalShare": 0.0065,
      "bigHomeShare": 0.2536,
      "tourismJobShare": 0.0894,
      "amenityScore": 72,
      "dining": 205,
      "attractions": 25,
      "outdoors": 301,
      "lodgingCompetition": 58,
      "pop150": 1307093,
      "pop300": 7714050,
      "nearestMetros": [
        {
          "name": "Cass County, ND",
          "pop": 186328
        },
        {
          "name": "Stearns County, MN",
          "pop": 158622
        },
        {
          "name": "Grand Forks County, ND",
          "pop": 72927
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 3,
      "climate": {
        "highF": [
          19.8,
          19.5,
          35.9,
          49,
          67.1,
          81.9,
          83.3,
          80,
          72.3,
          54.2,
          39.4,
          26.7
        ],
        "lowF": [
          2.8,
          -0.2,
          16.8,
          30,
          45.5,
          60.4,
          63.5,
          61.4,
          54.1,
          38.4,
          24.1,
          11.2
        ],
        "precipIn": [
          0.7,
          0.8,
          1,
          2.8,
          2.8,
          3,
          2.6,
          3,
          2.6,
          2.4,
          0.9,
          2
        ],
        "snowIn": [
          4.5,
          5.5,
          6.5,
          6.7,
          0.1,
          0,
          0,
          0,
          0,
          2.8,
          3.9,
          11.4
        ],
        "sunHours": [
          5.1,
          7.3,
          8.5,
          8.1,
          10.7,
          12.8,
          13.4,
          11.5,
          9.6,
          7,
          6.1,
          5
        ]
      },
      "effectiveTaxRate": 0.01219,
      "taxTopCoded": false,
      "annualTax4br": 4671,
      "annualTaxTypical": 4138,
      "lossPer100k": 125,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 71,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.039,
        "listPriceYoY": -0.0246,
        "inventoryYoY": -0.1023,
        "domYoY": -0.0351,
        "priceCutShare": 0.1668,
        "priceCutShareYoY": -0.0138,
        "popChange1yr": 0.0127,
        "domesticMigPer1000": 1.73
      },
      "activeListings": 676,
      "medianDom": 55,
      "medianListPrice": 395000,
      "permitsPer1000Units": 13.43,
      "permitsYoY": -0.0564,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 85.3,
        "listPriceYoY": 53.8,
        "inventoryYoY": 89,
        "domYoY": 61.3,
        "priceCutShareYoY": 66.5,
        "popChange1yr": 88,
        "domesticMigPer1000": 56
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "riskScore": 82.4,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "winterWeather",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 80.6,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 50.5,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 89.7,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 24.1,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 99.6,
          "rating": "Very High"
        },
        "hail": {
          "score": 96.8,
          "rating": "Relatively High"
        }
      },
      "homeValue": 339459,
      "homeValue4br": 383173,
      "homeValueYoY": 0.039,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 56,
      "opportunityBasis": "partial",
      "buyerScore": 27,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 12,
        "domYoY": 39,
        "priceCutShareYoY": 33,
        "priceCutShare": 25
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "fayetteville",
      "city": "Fayetteville",
      "state": "West Virginia",
      "stateCode": "WV",
      "lat": 38.0498,
      "lng": -81.1051,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Fayette County Health Department annual health permit (per West Virginia's General Sanitation Rule), fee scaled by bedroom count, valid January 1 – December 31; a change of ownership or major remodel requires a new application. A Town of Fayetteville business license/permit for STRs has been discussed publicly, but the current ordinance text and status could not be confirmed from available sources (the only located reporting on a town ordinance dates to 2016).",
      "tax": "West Virginia's combined state sales/lodging excise tax (roughly 12%) applies; any Fayette County hotel occupancy tax rate was not confirmed for this market.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/fayetteville-wv-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Fayette County Health Department (health permit, confirmed); Town of Fayetteville (business license/zoning — current ordinance status not fully confirmed); WV State Tax Department (business registration).",
      "permitFee": "Health permit fee is bedroom-count-based; exact dollar figures are not published in the source reviewed. Any town-level permit fee is unconfirmed.",
      "transfersOnSale": "A change of ownership requires a new health-permit application.",
      "statusNote": "The Town of Fayetteville's own STR-specific zoning/business-license ordinance status is unclear from available sources — the only reporting found dates to 2016 and describes an ordinance still 'under consideration.' Investors should verify current town-level requirements directly with Town Hall before purchase, separately from the confirmed county health-permit requirement.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://fayettehealth.org/short-term-rental/",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Fayette County",
      "countyFips": "54019",
      "seasonalShare": 0.0255,
      "bigHomeShare": 0.1497,
      "tourismJobShare": 0.1083,
      "amenityScore": 53,
      "dining": 17,
      "attractions": 24,
      "outdoors": 58,
      "lodgingCompetition": 8,
      "pop150": 6366929,
      "pop300": 57986703,
      "nearestMetros": [
        {
          "name": "Forsyth County, NC",
          "pop": 383739
        },
        {
          "name": "Kanawha County, WV",
          "pop": 179895
        },
        {
          "name": "Fairfield County, OH",
          "pop": 159371
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 1,
      "climate": {
        "highF": [
          42.5,
          48.8,
          55.8,
          63,
          70.5,
          77.3,
          83.4,
          81,
          75.8,
          66,
          54.1,
          48.5
        ],
        "lowF": [
          27.2,
          29.8,
          35.2,
          42.1,
          52.3,
          59.2,
          65.1,
          63.7,
          57.9,
          48.2,
          35.4,
          31.7
        ],
        "precipIn": [
          4.4,
          5.7,
          4.2,
          4,
          5,
          4.4,
          4.7,
          4.6,
          2.3,
          4,
          2.5,
          3.9
        ],
        "snowIn": [
          7.2,
          4.2,
          2.8,
          0.8,
          0,
          0,
          0,
          0,
          0,
          0,
          0.9,
          3.7
        ],
        "sunHours": [
          4.5,
          5.6,
          7.6,
          8.8,
          10.1,
          11.2,
          11.6,
          10.8,
          10.2,
          7.9,
          7.5,
          5.4
        ]
      },
      "effectiveTaxRate": 0.00655,
      "taxTopCoded": false,
      "annualTax4br": 1402,
      "annualTaxTypical": 917,
      "lossPer100k": 184,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 56,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.038,
        "listPriceYoY": 0.1425,
        "inventoryYoY": 0.0104,
        "domYoY": -0.281,
        "priceCutShare": 0.1728,
        "priceCutShareYoY": 0.0283,
        "popChange1yr": -0.0101,
        "domesticMigPer1000": -1.5
      },
      "activeListings": 97,
      "medianDom": 55,
      "medianListPrice": 206225,
      "permitsPer1000Units": 1.4,
      "permitsYoY": -0.0357,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 84.5,
        "listPriceYoY": 98.8,
        "inventoryYoY": 60.1,
        "domYoY": 100,
        "priceCutShareYoY": 10.4,
        "popChange1yr": 2.6,
        "domesticMigPer1000": 34.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 53.4,
      "riskRating": "Relatively Low",
      "topHazards": [
        "riverFlood",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": 42,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 72.9,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 49.5,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 10.7,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 52.3,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 61,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 30.2,
          "rating": "Very Low"
        }
      },
      "homeValue": 139999,
      "homeValue4br": 214105,
      "homeValueYoY": 0.038,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 40,
        "domYoY": 1,
        "priceCutShareYoY": 89,
        "priceCutShare": 29
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "folly-beach",
      "city": "Folly Beach",
      "state": "South Carolina",
      "stateCode": "SC",
      "lat": 32.6555,
      "lng": -79.9408,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/folly-beach-sc-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "A 2023 referendum capped investor short-term rentals (ISTR) at 800 citywide.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/folly-beach-sc-airbnb-regulations",
      "countyName": "Charleston County",
      "countyFips": "45019",
      "seasonalShare": 0.0578,
      "bigHomeShare": 0.2239,
      "tourismJobShare": 0.1163,
      "amenityScore": 77,
      "dining": 286,
      "attractions": 92,
      "outdoors": 121,
      "lodgingCompetition": 100,
      "pop150": 4825150,
      "pop300": 32211917,
      "nearestMetros": [
        {
          "name": "Richland County, SC",
          "pop": 416161
        },
        {
          "name": "Charleston County, SC",
          "pop": 409840
        },
        {
          "name": "Horry County, SC",
          "pop": 356578
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          58.5,
          61.6,
          66.3,
          72.1,
          78.1,
          82.8,
          85.9,
          85.2,
          81.8,
          75.5,
          66.1,
          60.9
        ],
        "lowF": [
          46.6,
          50.1,
          54.8,
          60.1,
          67.6,
          73.4,
          77.2,
          76.8,
          71.9,
          64.3,
          53.9,
          49.1
        ],
        "precipIn": [
          2.8,
          3.4,
          3.6,
          4.4,
          2.8,
          5.7,
          5.6,
          7.3,
          7.1,
          3.2,
          3.3,
          5.1
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.6,
          7.6,
          9,
          11,
          11.8,
          11.3,
          11.5,
          10.7,
          10.2,
          9.4,
          8.1,
          7.4
        ]
      },
      "effectiveTaxRate": 0.00425,
      "taxTopCoded": false,
      "annualTax4br": 3741,
      "annualTaxTypical": 2605,
      "lossPer100k": 427,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 45,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.013,
        "listPriceYoY": -0.0811,
        "inventoryYoY": 0.0257,
        "domYoY": 0.0169,
        "priceCutShare": 0.2612,
        "priceCutShareYoY": 0.0022,
        "popChange1yr": 0.0068,
        "domesticMigPer1000": 0.4
      },
      "activeListings": 2074,
      "medianDom": 60,
      "medianListPrice": 680000,
      "permitsPer1000Units": 16.74,
      "permitsYoY": -0.1832,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 60.6,
        "listPriceYoY": 7.2,
        "inventoryYoY": 55.8,
        "domYoY": 40.5,
        "priceCutShareYoY": 41.3,
        "popChange1yr": 60,
        "domesticMigPer1000": 47.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The cap is full and no new ISTR licenses are projected for the coming license year.",
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 98.6,
      "riskRating": "Relatively High",
      "topHazards": [
        "coastalFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.6,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 99.8,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 89.9,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 93.9,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 71,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 98.8,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 84.2,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 60.9,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 612976,
      "homeValue4br": 880193,
      "homeValueYoY": 0.013,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 44,
      "opportunityBasis": "partial",
      "buyerScore": 62,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 45,
        "domYoY": 60,
        "priceCutShareYoY": 59,
        "priceCutShare": 84
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "galena",
      "city": "Galena",
      "state": "Illinois",
      "stateCode": "IL",
      "lat": 42.4167,
      "lng": -90.429,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 5,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Special Use Permit approval plus a Vacation Rental operating license, administered by the Zoning Administrator under Galena Code of Ordinances §154.015 and §154.406.",
      "tax": "Illinois statewide Hotel Operators' Occupation Tax (~6% of 94% of gross receipts) applies since January 6, 2026, plus any City of Galena and Jo Daviess County hotel/lodging tax (local rates not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/galena-il-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Galena (Jo Daviess County); surrounding unincorporated Jo Daviess County is governed by separate county zoning, not city ordinance.",
      "strCap": "City Council-set cap on total vacation rental licenses; all licenses are currently allocated, with a substantial waitlist for new applicants and no published timeline for new openings.",
      "statusNote": "New vacation rental licenses within city limits are effectively unavailable; prospective investors should contact the Zoning Administrator to confirm waitlist position, or consider unincorporated Jo Daviess County, which is governed by different zoning rules.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.cityofgalena.org/businesses/vacation-rentals",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Jo Daviess County",
      "countyFips": "17085",
      "seasonalShare": 0.1924,
      "bigHomeShare": 0.2534,
      "tourismJobShare": 0.0941,
      "amenityScore": 53,
      "dining": 26,
      "attractions": 16,
      "outdoors": 82,
      "lodgingCompetition": 20,
      "pop150": 15897419,
      "pop300": 37217555,
      "nearestMetros": [
        {
          "name": "Cook County, IL",
          "pop": 5225367
        },
        {
          "name": "Milwaukee County, WI",
          "pop": 933063
        },
        {
          "name": "DuPage County, IL",
          "pop": 930559
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 3,
      "climate": {
        "highF": [
          29.4,
          31.5,
          46.8,
          57.2,
          69.4,
          80.9,
          84.3,
          82.2,
          75.4,
          59.9,
          46.8,
          38.4
        ],
        "lowF": [
          13.3,
          11.8,
          27.8,
          37.7,
          49.8,
          60.9,
          65.6,
          63.4,
          57.8,
          43.7,
          30.9,
          23.1
        ],
        "precipIn": [
          2,
          2,
          2.8,
          3.7,
          4,
          4.2,
          3.1,
          2.5,
          4.3,
          3.5,
          2.3,
          2.1
        ],
        "snowIn": [
          9.9,
          8,
          4.5,
          2.9,
          0,
          0,
          0,
          0,
          0,
          1.3,
          2.1,
          6.4
        ],
        "sunHours": [
          5.1,
          7.1,
          7.5,
          8.6,
          9.8,
          11.5,
          12.2,
          11.6,
          9.4,
          7.4,
          6.6,
          5.4
        ]
      },
      "effectiveTaxRate": 0.0188,
      "taxTopCoded": false,
      "annualTax4br": 7551,
      "annualTaxTypical": 4712,
      "lossPer100k": 108,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 63,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.039,
        "listPriceYoY": 0.1895,
        "inventoryYoY": -0.0476,
        "domYoY": 0.141,
        "priceCutShare": 0.1584,
        "priceCutShareYoY": -0.0905,
        "popChange1yr": -0.0029,
        "domesticMigPer1000": 0.88
      },
      "activeListings": 140,
      "medianDom": 89,
      "medianListPrice": 392400,
      "permitsPer1000Units": 3.13,
      "permitsYoY": -0.2881,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 85.3,
        "listPriceYoY": 99.4,
        "inventoryYoY": 79.2,
        "domYoY": 12.1,
        "priceCutShareYoY": 100,
        "popChange1yr": 15.4,
        "domesticMigPer1000": 50.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The city has capped the number of vacation rental licenses; all available licenses are currently issued and there is a substantial waitlist with no confirmed timeline for new openings, effectively closing the market to new investors.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 51.3,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hail",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 16.4,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 58.5,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 21.5,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 68.8,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 28.1,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 39.6,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 84.6,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 250663,
      "homeValue4br": 401647,
      "homeValueYoY": 0.039,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 27,
      "opportunityBasis": "partial",
      "buyerScore": 32,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 21,
        "domYoY": 88,
        "priceCutShareYoY": 0,
        "priceCutShare": 20
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "hocking-hills",
      "city": "Hocking Hills",
      "state": "Ohio",
      "stateCode": "OH",
      "lat": 39.4317,
      "lng": -82.5382,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/hocking-hills-oh-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "no permit requirement, no primary-residence requirement, and no cap on the number of operators",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/hocking-hills-oh-airbnb-regulations",
      "countyName": "Hocking County",
      "countyFips": "39073",
      "seasonalShare": 0.0564,
      "bigHomeShare": 0.148,
      "tourismJobShare": 0.1174,
      "amenityScore": 45,
      "dining": 14,
      "attractions": 10,
      "outdoors": 33,
      "lodgingCompetition": 10,
      "pop150": 12704218,
      "pop300": 52215174,
      "nearestMetros": [
        {
          "name": "Franklin County, OH",
          "pop": 1318149
        },
        {
          "name": "Hamilton County, OH",
          "pop": 827671
        },
        {
          "name": "Summit County, OH",
          "pop": 539361
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          40.2,
          44.5,
          54.3,
          62.2,
          71.4,
          80.1,
          85.1,
          82.8,
          78.1,
          66.5,
          52.3,
          46.1
        ],
        "lowF": [
          25.9,
          27.2,
          34.2,
          42,
          52.5,
          61.3,
          67.1,
          64.8,
          59.2,
          48.8,
          35.4,
          31.1
        ],
        "precipIn": [
          4,
          4.3,
          4,
          3.5,
          4.2,
          4.6,
          4,
          3.7,
          2.4,
          3.8,
          2.5,
          3.1
        ],
        "snowIn": [
          5.7,
          4.2,
          1.8,
          0.5,
          0,
          0,
          0,
          0,
          0,
          0,
          1.2,
          2.9
        ],
        "sunHours": [
          4.8,
          5.8,
          7.5,
          8.7,
          9.5,
          11.5,
          11.8,
          10.9,
          10.2,
          7.7,
          6.9,
          4.9
        ]
      },
      "effectiveTaxRate": 0.01039,
      "taxTopCoded": false,
      "annualTax4br": 4398,
      "annualTaxTypical": 2981,
      "lossPer100k": 167,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 48,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.045,
        "listPriceYoY": -0.0523,
        "inventoryYoY": 0.5214,
        "domYoY": 0.127,
        "priceCutShare": 0.2548,
        "priceCutShareYoY": -0.0561,
        "popChange1yr": 0.0019,
        "domesticMigPer1000": 4.88
      },
      "activeListings": 178,
      "medianDom": 71,
      "medianListPrice": 499900,
      "permitsPer1000Units": 1.23,
      "permitsYoY": 0.4545,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 89.1,
        "listPriceYoY": 19.7,
        "inventoryYoY": 0,
        "domYoY": 14.5,
        "priceCutShareYoY": 96,
        "popChange1yr": 42.6,
        "domesticMigPer1000": 70.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": true,
      "regDirectionEvidence": "A draft Short-Term Rental Ordinance (latest clean version dated January 29, 2026) would introduce a county-wide permit administered by the Regional Planning Office, with a proposed $50 annual fee, a property inspection, $1 million liability insurance, a local contact, a background check, and safety standards covering egress, driveways, parking, decks, and signage.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 47.3,
      "riskRating": "Relatively Low",
      "topHazards": [
        "riverFlood",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 15.4,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 68.8,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 12.7,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 33.8,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 34.6,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 37.8,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 47.4,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 286890,
      "homeValue4br": 423336,
      "homeValueYoY": 0.045,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 68,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 100,
        "domYoY": 85,
        "priceCutShareYoY": 4,
        "priceCutShare": 83
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "homer",
      "city": "Homer",
      "state": "Alaska",
      "stateCode": "AK",
      "lat": 59.6425,
      "lng": -151.5483,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 1,
      "regNotes": null,
      "growthTrend": null,
      "permit": "No permit specific to short-term rentals currently exists; operators need a general Alaska Business License (AS 43.70.020) and must register to collect Kenai Peninsula Borough / City of Homer sales tax.",
      "tax": "Combined sales tax of roughly 7.85% applies to STR stays (3% Kenai Peninsula Borough + 4.85% City of Homer). The Borough has separately discussed, but not enacted, a borough-wide bed tax of up to 12% specifically on lodging; a June 2024 resolution to put this question to voters was tabled, and its current status was not confirmed.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/homer-ak-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Homer (no adopted STR ordinance); Kenai Peninsula Borough (sales tax); State of Alaska (business license).",
      "statusNote": "Homer's STR regulatory landscape is unsettled: the city's 2024 ordinance attempt failed, and the topic remains under discussion as part of the city's Comprehensive Plan update. A Kenai Peninsula Borough bed-tax proposal was also tabled in 2024 with unclear current status. Neither \"no city regulation\" nor \"no borough bed tax\" should be assumed to persist without reconfirmation.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.cityofhomer-ak.gov/communitydevelopment/short-term-rentals",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Kenai Peninsula Borough",
      "countyFips": "02122",
      "seasonalShare": 0.1862,
      "bigHomeShare": 0.1575,
      "tourismJobShare": 0.0934,
      "amenityScore": 59,
      "dining": 57,
      "attractions": 23,
      "outdoors": 194,
      "lodgingCompetition": 43,
      "pop150": 349909,
      "pop300": 487443,
      "nearestMetros": [
        {
          "name": "Anchorage Municipality, AK",
          "pop": 290674
        },
        {
          "name": "Kenai Peninsula Borough, AK",
          "pop": 59235
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 2,
      "snowMonths": 6,
      "climate": {
        "highF": [
          28.2,
          30.6,
          33.1,
          39.8,
          50.4,
          57.3,
          61.1,
          60.8,
          53.7,
          44.4,
          34.7,
          30.9
        ],
        "lowF": [
          20.8,
          22.2,
          24.7,
          30.6,
          41.2,
          48.6,
          53.3,
          52.6,
          45.8,
          36.9,
          27.8,
          21.6
        ],
        "precipIn": [
          4.4,
          3.2,
          3.5,
          1.9,
          3.1,
          2.1,
          4.5,
          5.5,
          5.5,
          5.6,
          5.9,
          5.5
        ],
        "snowIn": [
          21.3,
          16.8,
          17.8,
          7.5,
          0.8,
          0,
          0,
          0,
          0.1,
          4.2,
          18.7,
          23.6
        ],
        "sunHours": [
          2.9,
          4.1,
          6.9,
          9.7,
          9.6,
          12,
          10.5,
          9.8,
          7.3,
          5.5,
          3.4,
          2
        ]
      },
      "effectiveTaxRate": 0.0066,
      "taxTopCoded": false,
      "annualTax4br": 3234,
      "annualTaxTypical": 2318,
      "lossPer100k": 393,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 62,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.075,
        "listPriceYoY": 0.0251,
        "inventoryYoY": 0.1861,
        "domYoY": -0.0896,
        "priceCutShare": 0.2542,
        "priceCutShareYoY": 0.0549,
        "popChange1yr": 0.0082,
        "domesticMigPer1000": 6.04
      },
      "activeListings": 427,
      "medianDom": 61,
      "medianListPrice": 450000,
      "permitsPer1000Units": 6.82,
      "permitsYoY": 0.4605,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 96.8,
        "listPriceYoY": 80.6,
        "inventoryYoY": 16.5,
        "domYoY": 87.6,
        "priceCutShareYoY": 0.9,
        "popChange1yr": 74.6,
        "domesticMigPer1000": 75.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "riskScore": 93,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "earthquake",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 33.8,
          "rating": "Very Low"
        },
        "riverFlood": {
          "score": 43.8,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 97.1,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 0.8,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 98.7,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 93.9,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 2.7,
          "rating": "Very Low"
        }
      },
      "homeValue": 351179,
      "homeValue4br": 489954,
      "homeValueYoY": 0.075,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 48,
      "opportunityBasis": "partial",
      "buyerScore": 69,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 83,
        "domYoY": 13,
        "priceCutShareYoY": 99,
        "priceCutShare": 82
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "hot-springs",
      "city": "Hot Springs",
      "state": "Arkansas",
      "stateCode": "AR",
      "lat": 34.5038,
      "lng": -93.0552,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/hot-springs-ar-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Hot Springs limits STR licenses in its residential zones (RR, RS, RN-1 through RN-6) to 400 citywide.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/hot-springs-ar-airbnb-regulations",
      "countyName": "Garland County",
      "countyFips": "05051",
      "seasonalShare": 0.0843,
      "bigHomeShare": 0.137,
      "tourismJobShare": 0.1341,
      "amenityScore": 52,
      "dining": 35,
      "attractions": 15,
      "outdoors": 40,
      "lodgingCompetition": 32,
      "pop150": 3965466,
      "pop300": 25275332,
      "nearestMetros": [
        {
          "name": "Pulaski County, AR",
          "pop": 398322
        },
        {
          "name": "Benton County, AR",
          "pop": 286528
        },
        {
          "name": "Washington County, AR",
          "pop": 247331
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          52.4,
          54.1,
          63.9,
          69.8,
          78.5,
          87.4,
          91.3,
          90.5,
          86.7,
          73.9,
          61.6,
          56.6
        ],
        "lowF": [
          35.2,
          35.7,
          44.6,
          50.8,
          60.7,
          69,
          73.6,
          72.9,
          67.7,
          55.6,
          43.4,
          39.8
        ],
        "precipIn": [
          5.5,
          5.9,
          6.5,
          5.8,
          5.4,
          4.5,
          3.9,
          3.5,
          2.5,
          4.1,
          3.4,
          4.5
        ],
        "snowIn": [
          1.1,
          1.7,
          0.5,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.3
        ],
        "sunHours": [
          6.4,
          6.1,
          7.6,
          9,
          10.4,
          11.9,
          12,
          11.4,
          10.7,
          8.8,
          8,
          6.5
        ]
      },
      "effectiveTaxRate": 0.00526,
      "taxTopCoded": false,
      "annualTax4br": 2188,
      "annualTaxTypical": 1300,
      "lossPer100k": 185,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 63,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.005,
        "listPriceYoY": 0.0296,
        "inventoryYoY": -0.0596,
        "domYoY": -0.0769,
        "priceCutShare": 0.2072,
        "priceCutShareYoY": -0.0106,
        "popChange1yr": -0.0022,
        "domesticMigPer1000": 3.8
      },
      "activeListings": 979,
      "medianDom": 72,
      "medianListPrice": 350000,
      "permitsPer1000Units": 6.22,
      "permitsYoY": 1.9369,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 47.7,
        "listPriceYoY": 83.8,
        "inventoryYoY": 82.1,
        "domYoY": 84.7,
        "priceCutShareYoY": 60.1,
        "popChange1yr": 18.9,
        "domesticMigPer1000": 65.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The city reached that cap, and no new residential-zone licenses are available; those already above the cap may continue renewing.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 89.3,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "tornado",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 62.1,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 90.1,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 72.9,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 96.4,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 89.2,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 91,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 95.4,
          "rating": "Relatively High"
        }
      },
      "homeValue": 247230,
      "homeValue4br": 415961,
      "homeValueYoY": 0.005,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 33,
      "opportunityBasis": "partial",
      "buyerScore": 33,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 19,
        "domYoY": 16,
        "priceCutShareYoY": 40,
        "priceCutShare": 56
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "indianapolis",
      "city": "Indianapolis",
      "state": "Indiana",
      "stateCode": "IN",
      "lat": 39.7684,
      "lng": -86.1581,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental Permit through the Dept. of Business & Neighborhood Services (DBNS) Citizen Access Portal; a separate permit is required per property for owners with multiple STRs.",
      "tax": "7% Indiana state sales tax + Marion County Innkeeper's Tax at 10% (combined roughly 17% on gross rental receipts).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "The city can revoke an STR permit after three ordinance violations at a property.",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/indianapolis-in-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Indianapolis / Marion County (consolidated government); Dept. of Business & Neighborhood Services (DBNS)",
      "permitFee": "$150 one-time initial fee (state law caps this fee at $150 and bars a renewal fee); permits expire and must be renewed annually at no additional charge.",
      "strCap": "No confirmed citywide numeric cap; some historic districts and specific residential zones reportedly restrict or prohibit STRs (exact list not confirmed).",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.avalara.com/mylodgetax/en/blog/2024/09/short-term-rentals-must-register-with-indianapolis-under-new-law.html",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Marion County",
      "countyFips": "18097",
      "seasonalShare": 0.0023,
      "bigHomeShare": 0.1654,
      "tourismJobShare": 0.0883,
      "amenityScore": 84,
      "dining": 666,
      "attractions": 57,
      "outdoors": 371,
      "lodgingCompetition": 129,
      "pop150": 13285708,
      "pop300": 55794709,
      "nearestMetros": [
        {
          "name": "Marion County, IN",
          "pop": 971737
        },
        {
          "name": "Hamilton County, OH",
          "pop": 827671
        },
        {
          "name": "Jefferson County, KY",
          "pop": 779232
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 7,
      "snowMonths": 1,
      "climate": {
        "highF": [
          38.4,
          41.9,
          52.8,
          61.9,
          72.2,
          82.2,
          85.5,
          83.7,
          78.9,
          65.9,
          51.5,
          45
        ],
        "lowF": [
          24.4,
          23.9,
          33.5,
          41.5,
          52.8,
          62.7,
          67.7,
          65.5,
          60,
          48.4,
          34.4,
          29.5
        ],
        "precipIn": [
          3.6,
          3.8,
          5.6,
          3.6,
          4.9,
          3.7,
          4.9,
          3.6,
          1.8,
          3.8,
          2.3,
          3.1
        ],
        "snowIn": [
          5.6,
          6,
          1.8,
          0.7,
          0,
          0,
          0,
          0,
          0,
          0.1,
          1.3,
          2.3
        ],
        "sunHours": [
          4.8,
          6,
          7.2,
          8.5,
          9.7,
          11.4,
          11.9,
          11.2,
          10.3,
          7.6,
          6.9,
          5.2
        ]
      },
      "effectiveTaxRate": 0.00956,
      "taxTopCoded": false,
      "annualTax4br": 2966,
      "annualTaxTypical": 2202,
      "lossPer100k": 105,
      "lodgingTaxPct": 17,
      "lodgingTaxBasis": "stated-total",
      "momentumScore": 22,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.008,
        "listPriceYoY": -0.0566,
        "inventoryYoY": 0.2496,
        "domYoY": 0.08,
        "priceCutShare": 0.31,
        "priceCutShareYoY": 0.0091,
        "popChange1yr": 0.002,
        "domesticMigPer1000": -10.76
      },
      "activeListings": 3189,
      "medianDom": 54,
      "medianListPrice": 250000,
      "permitsPer1000Units": 3.07,
      "permitsYoY": -0.2959,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 27.9,
        "listPriceYoY": 16.8,
        "inventoryYoY": 6.9,
        "domYoY": 18.5,
        "priceCutShareYoY": 30.6,
        "popChange1yr": 43.4,
        "domesticMigPer1000": 9.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "loosening",
      "regChangeType": "state-preemption",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Indiana's 2026 HEA 1210 bars new local numeric rental caps statewide (effective July 1, 2026), so Indianapolis is unlikely to be able to add a hard cap even if it wanted to",
      "regDirectionReviewed": false,
      "driverCount": 5,
      "emergingDriverCount": 0,
      "eventMonths": [
        5,
        7
      ],
      "riskScore": 97.5,
      "riskRating": "Relatively High",
      "topHazards": [
        "tornado",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 34.1,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 98.3,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 22.3,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 99,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 96.4,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 93.7,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 93.6,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 230366,
      "homeValue4br": 310231,
      "homeValueYoY": -0.008,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 42,
      "opportunityBasis": "partial",
      "buyerScore": 85,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 93,
        "domYoY": 81,
        "priceCutShareYoY": 69,
        "priceCutShare": 98
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "jackson",
      "city": "Jackson",
      "state": "Wyoming",
      "stateCode": "WY",
      "lat": 43.48,
      "lng": -110.7618,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/jackson-wy-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Outside the Lodging Overlay, the BUP and license must be renewed annually, while inside the overlay the BUP is a one-time approval.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/jackson-wy-airbnb-regulations",
      "countyName": "Teton County",
      "countyFips": "56039",
      "seasonalShare": 0.1957,
      "bigHomeShare": 0.2319,
      "tourismJobShare": 0.1976,
      "amenityScore": 62,
      "dining": 79,
      "attractions": 13,
      "outdoors": 525,
      "lodgingCompetition": 73,
      "pop150": 832300,
      "pop300": 5740755,
      "nearestMetros": [
        {
          "name": "Cache County, UT",
          "pop": 134428
        },
        {
          "name": "Bonneville County, ID",
          "pop": 124490
        },
        {
          "name": "Gallatin County, MT",
          "pop": 119685
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 7,
      "climate": {
        "highF": [
          28.6,
          29.1,
          38.2,
          44.7,
          55,
          68.2,
          80.2,
          77.4,
          68.4,
          51.3,
          37.6,
          29.5
        ],
        "lowF": [
          12.3,
          11.2,
          17.5,
          24,
          30.8,
          39.9,
          49.3,
          48.8,
          40.7,
          27.6,
          16.4,
          11
        ],
        "precipIn": [
          2.8,
          3,
          2.2,
          2.3,
          2.1,
          1.9,
          0.5,
          1.7,
          2.4,
          2.5,
          2.5,
          2.6
        ],
        "snowIn": [
          19.3,
          20.7,
          15.3,
          12.7,
          5.3,
          0.4,
          0,
          0,
          1,
          7.5,
          14,
          18.3
        ],
        "sunHours": [
          5.8,
          6.5,
          8.7,
          9.8,
          11.7,
          13.1,
          14.1,
          12.2,
          11,
          8.7,
          6.6,
          5.2
        ]
      },
      "effectiveTaxRate": 0.00415,
      "taxTopCoded": false,
      "annualTax4br": 19355,
      "annualTaxTypical": 9405,
      "lossPer100k": 136,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 54,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.032,
        "listPriceYoY": 0.0264,
        "inventoryYoY": -0.1495,
        "domYoY": 0.1549,
        "priceCutShare": 0.1165,
        "priceCutShareYoY": -0.0176,
        "popChange1yr": -0.0005,
        "domesticMigPer1000": -10.84
      },
      "activeListings": 239,
      "medianDom": 82,
      "medianListPrice": 3400000,
      "permitsPer1000Units": 11.75,
      "permitsYoY": 0.3534,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 78.4,
        "listPriceYoY": 82.1,
        "inventoryYoY": 95.4,
        "domYoY": 11.6,
        "priceCutShareYoY": 75.7,
        "popChange1yr": 29.4,
        "domesticMigPer1000": 8
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 70.6,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 34.7,
          "rating": "Very Low"
        },
        "wildfire": {
          "score": 90.6,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 19.4,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 87.1,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 64.2,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 22.4,
          "rating": "Very Low"
        }
      },
      "homeValue": 2266315,
      "homeValue4br": 4663783,
      "homeValueYoY": 0.032,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 31,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 5,
        "domYoY": 88,
        "priceCutShareYoY": 24,
        "priceCutShare": 6
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "jacksonville",
      "city": "Jacksonville",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 30.3262,
      "lng": -81.6579,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Duval County/City of Jacksonville Local Business Tax Receipt (LBTR) plus a Florida DBPR vacation rental licence, which must be exhibited before the LBTR is issued (F.S. 205.194)",
      "tax": "6% Duval Convention/Tourist Development Tax + 7.5% Florida state sales and use tax (incl. 1.5% surtax) = 13.5%. Monthly TDT filing is mandatory even for zero months; penalty 10%/month capped at 50%, minimum $50.",
      "zoning": null,
      "minStay": "TDT applies to rentals of six months or less; DBPR licensing applies to rentals of less than 30 days",
      "occupancyRule": null,
      "penalties": "LBTR delinquency penalty 10% for October plus 5% each subsequent month to a 25% maximum, plus additional penalties up to $250 and possible civil action",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/jacksonville-fl-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "No density caps or caps on the number of STRs",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "transfersOnSale": "Local Business Tax Receipts are transferable between business locations or owners for a $6 fee",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://taxcollector.coj.net/taxes/local-business-tax",
      "countyName": "Duval County",
      "countyFips": "12031",
      "seasonalShare": 0.0108,
      "bigHomeShare": 0.1992,
      "tourismJobShare": 0.1035,
      "amenityScore": 82,
      "dining": 371,
      "attractions": 68,
      "outdoors": 323,
      "lodgingCompetition": 105,
      "pop150": 8053675,
      "pop300": 30696607,
      "nearestMetros": [
        {
          "name": "Orange County, FL",
          "pop": 1427403
        },
        {
          "name": "Duval County, FL",
          "pop": 995708
        },
        {
          "name": "Pasco County, FL",
          "pop": 569211
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 10,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65,
          70.6,
          74.7,
          78,
          83.8,
          87,
          88.7,
          88.1,
          85,
          79.6,
          71.1,
          67.4
        ],
        "lowF": [
          48.6,
          53.3,
          57.2,
          61.1,
          67.3,
          73.4,
          75.8,
          76.2,
          72.7,
          65.9,
          56.8,
          51.6
        ],
        "precipIn": [
          2.1,
          3.3,
          2.9,
          3.3,
          2.8,
          6.1,
          7.2,
          7.2,
          6.7,
          2.8,
          3.3,
          2.6
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.1,
          8.2,
          9.6,
          10.5,
          11.7,
          10.8,
          10.7,
          10.4,
          9.7,
          9.5,
          7.6,
          7.4
        ]
      },
      "effectiveTaxRate": 0.00804,
      "taxTopCoded": false,
      "annualTax4br": 3141,
      "annualTaxTypical": 2368,
      "lossPer100k": 121,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 67,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": -0.007,
        "listPriceYoY": -0.0299,
        "inventoryYoY": -0.1466,
        "domYoY": -0.1159,
        "priceCutShare": 0.244,
        "priceCutShareYoY": -0.0688,
        "popChange1yr": 0.0078,
        "domesticMigPer1000": 0.1
      },
      "activeListings": 3888,
      "medianDom": 61,
      "medianListPrice": 300620,
      "permitsPer1000Units": 13.76,
      "permitsYoY": -0.0736,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 30.7,
        "listPriceYoY": 46,
        "inventoryYoY": 94.5,
        "domYoY": 90.5,
        "priceCutShareYoY": 99.1,
        "popChange1yr": 71.4,
        "domesticMigPer1000": 39.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 32248178.43,
        "priorTtm": null,
        "yoy": null,
        "yoyWithheld": true,
        "period": "2025-02..2026-01",
        "unit": "tax collected USD",
        "geography": "Duval County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://floridarevenue.com/DataPortal/Pages/TaxResearch.aspx"
      },
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 97.2,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 97.7,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 91,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 97.6,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 89.9,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 91.5,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 90.2,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 7.9,
          "rating": "Very Low"
        },
        "hail": {
          "score": 96.2,
          "rating": "Relatively High"
        }
      },
      "homeValue": 294579,
      "homeValue4br": 390703,
      "homeValueYoY": -0.007,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 53,
      "opportunityBasis": "partial",
      "buyerScore": 23,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 6,
        "domYoY": 10,
        "priceCutShareYoY": 1,
        "priceCutShare": 75
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "kent",
      "city": "Kent",
      "state": "Connecticut",
      "stateCode": "CT",
      "lat": 41.7295,
      "lng": -73.4823,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": null,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Local STR rules unconfirmed — sources conflict",
      "tax": "Connecticut State Room Occupancy Tax of 15% applies to rentals of 30 consecutive days or less, same as statewide.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/kent-ct-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of Kent, CT — Planning & Zoning Commission",
      "statusNote": "WEAKEST-CONFIRMED MARKET IN THIS DATASET. Two contradictory secondary sources disagree on whether Kent even has an STR ordinance at all (one list includes Kent among regulating towns, a separate, more specific 2024 CGA list of 12 towns does not). Kent's own zoning regulations PDF could not be parsed for STR-specific language, and a second research pass on four alternative Litchfield Hills towns (Washington, Salisbury, Litchfield, Sharon) found no stronger substitute — Salisbury was explicitly confirmed to have no STR ordinance. Strongly recommend a direct call/verification with Kent's Town Clerk or Planning & Zoning office, or replacing this market entirely, before publishing any specific claims about Kent's rules.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.townofkentct.org/sites/g/files/vyhlif3311/f/uploads/kent_zoning_regulations_-_effective_09-09-23.pdf",
      "countyName": "Litchfield County",
      "countyFips": "09005",
      "seasonalShare": 0.0918,
      "bigHomeShare": 0.2367,
      "tourismJobShare": 0.0704,
      "amenityScore": 61,
      "dining": 19,
      "attractions": 46,
      "outdoors": 127,
      "lodgingCompetition": 12,
      "pop150": 41206033,
      "pop300": 64128586,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 6,
      "snowMonths": 4,
      "climate": {
        "highF": [
          36.9,
          39.3,
          48.1,
          57.8,
          67.5,
          77.2,
          83,
          81,
          72.8,
          62.7,
          49.7,
          41.6
        ],
        "lowF": [
          22,
          22.7,
          29.3,
          38.9,
          48.3,
          58.5,
          65.8,
          64.4,
          56.8,
          47.7,
          34.5,
          28.1
        ],
        "precipIn": [
          3.7,
          3.2,
          3.9,
          5,
          4,
          3.3,
          5.9,
          3.6,
          7,
          5.4,
          3.4,
          5.2
        ],
        "snowIn": [
          8.4,
          8.7,
          8.8,
          1.3,
          0.2,
          0,
          0,
          0,
          0,
          0.4,
          0.9,
          6.6
        ],
        "sunHours": [
          5.9,
          6.4,
          8.2,
          8.4,
          10.2,
          11.1,
          11.1,
          10.7,
          9.1,
          7.1,
          6.9,
          5.2
        ]
      },
      "effectiveTaxRate": 0.0189,
      "taxTopCoded": false,
      "annualTax4br": 11170,
      "annualTaxTypical": 8095,
      "lossPer100k": 160,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 52,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.028,
        "listPriceYoY": -0.0716,
        "inventoryYoY": 0.0029,
        "domYoY": -0.0984,
        "priceCutShare": 0.1634,
        "priceCutShareYoY": 0.0203,
        "popChange1yr": 0.0036,
        "domesticMigPer1000": 3.21
      },
      "activeListings": 345,
      "medianDom": 55,
      "medianListPrice": 649450,
      "permitsPer1000Units": 2.39,
      "permitsYoY": -0.0567,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 73,
        "listPriceYoY": 12.1,
        "inventoryYoY": 63,
        "domYoY": 88.4,
        "priceCutShareYoY": 15.6,
        "popChange1yr": 50.6,
        "domesticMigPer1000": 63.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 7,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 79.6,
      "riskRating": "Relatively Low",
      "topHazards": [
        "riverFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 86.8,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 88,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 39.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 42.9,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 66.3,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 51.2,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 44.5,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 428304,
      "homeValue4br": 590981,
      "homeValueYoY": 0.028,
      "regStrictnessSource": null,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": null,
      "opportunityBasis": null,
      "buyerScore": 39,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 37,
        "domYoY": 12,
        "priceCutShareYoY": 84,
        "priceCutShare": 23
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "kissimmee",
      "city": "Kissimmee",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 28.2919,
      "lng": -81.4076,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/kissimmee-fl-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "whole-home short-term rentals are permitted only in specific districts such as RB-1, RB-2, RC-1 and RC-2 or in communities specifically platted for STR use.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/kissimmee-fl-airbnb-regulations",
      "countyName": "Osceola County",
      "countyFips": "12097",
      "seasonalShare": 0.1711,
      "bigHomeShare": 0.301,
      "tourismJobShare": 0.1826,
      "amenityScore": 84,
      "dining": 360,
      "attractions": 120,
      "outdoors": 260,
      "lodgingCompetition": 254,
      "pop150": 14741864,
      "pop300": 22766504,
      "nearestMetros": [
        {
          "name": "Palm Beach County, FL",
          "pop": 1494805
        },
        {
          "name": "Hillsborough County, FL",
          "pop": 1468560
        },
        {
          "name": "Orange County, FL",
          "pop": 1427403
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 9,
      "snowMonths": 0,
      "climate": {
        "highF": [
          70.9,
          77.4,
          81.7,
          83.8,
          88,
          88.8,
          89.3,
          89.3,
          86.6,
          83.2,
          76.4,
          72.6
        ],
        "lowF": [
          52.6,
          57.6,
          60.5,
          64.3,
          68.5,
          73.3,
          75.1,
          75.5,
          73.1,
          68.6,
          61.6,
          55.8
        ],
        "precipIn": [
          1.9,
          2.3,
          1.8,
          4,
          4.5,
          9,
          10.1,
          10.2,
          11.8,
          3.9,
          4.2,
          3.7
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.6,
          9.2,
          10,
          10.9,
          11.9,
          10.4,
          10.3,
          10,
          9.7,
          9.7,
          8.1,
          7.9
        ]
      },
      "effectiveTaxRate": 0.00816,
      "taxTopCoded": false,
      "annualTax4br": 3227,
      "annualTaxTypical": 2933,
      "lossPer100k": 179,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 61,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.032,
        "listPriceYoY": -0.043,
        "inventoryYoY": -0.0343,
        "domYoY": -0.0326,
        "priceCutShare": 0.1989,
        "priceCutShareYoY": -0.0125,
        "popChange1yr": 0.034,
        "domesticMigPer1000": 15.61
      },
      "activeListings": 4135,
      "medianDom": 89,
      "medianListPrice": 410000,
      "permitsPer1000Units": 46.92,
      "permitsYoY": -0.1642,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 5.2,
        "listPriceYoY": 33.5,
        "inventoryYoY": 74.6,
        "domYoY": 59.5,
        "priceCutShareYoY": 64.2,
        "popChange1yr": 97.7,
        "domesticMigPer1000": 89.1
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Florida law limits how aggressively local governments can ban or newly restrict short-term rentals, particularly for properties operating before mid-2011. This gives Kissimmee a relatively stable, investor-friendly framework compared with cities that have imposed outright bans.",
      "regDirectionReviewed": false,
      "driverCount": 6,
      "emergingDriverCount": 1,
      "eventMonths": [],
      "riskScore": 92,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "wildfire",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 94.2,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 92.1,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 94.8,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 93.6,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 46.5,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 21.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 359490,
      "homeValue4br": 395485,
      "homeValueYoY": -0.032,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 59,
      "opportunityBasis": "partial",
      "buyerScore": 38,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 26,
        "domYoY": 41,
        "priceCutShareYoY": 36,
        "priceCutShare": 49
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "lake-arrowhead",
      "city": "Lake Arrowhead",
      "state": "California",
      "stateCode": "CA",
      "lat": 34.2572,
      "lng": -117.1909,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/lake-arrowhead-ca-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "no individual or entity (including LLCs and trusts) may hold more than two STR permits",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/lake-arrowhead-ca-airbnb-regulations",
      "countyName": "San Bernardino County",
      "countyFips": "06071",
      "seasonalShare": 0.0529,
      "bigHomeShare": 0.2663,
      "tourismJobShare": 0.0907,
      "amenityScore": 62,
      "dining": 51,
      "attractions": 25,
      "outdoors": 155,
      "lodgingCompetition": 10,
      "pop150": 22940138,
      "pop300": 33902770,
      "nearestMetros": [
        {
          "name": "Los Angeles County, CA",
          "pop": 9936690
        },
        {
          "name": "San Diego County, CA",
          "pop": 3289701
        },
        {
          "name": "Orange County, CA",
          "pop": 3175227
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 2,
      "climate": {
        "highF": [
          48.6,
          48.1,
          49.4,
          60.1,
          64.4,
          74.9,
          82.5,
          82.7,
          77,
          67.8,
          57.5,
          48.9
        ],
        "lowF": [
          32.9,
          30.8,
          32.6,
          39.7,
          43.5,
          52.3,
          60.8,
          61.2,
          56,
          47,
          39.1,
          34
        ],
        "precipIn": [
          4.5,
          3.6,
          5.1,
          1.9,
          1.3,
          0.2,
          0.3,
          1,
          0.9,
          0.9,
          2.2,
          4.7
        ],
        "snowIn": [
          4.5,
          10,
          6.5,
          1,
          0.3,
          0,
          0,
          0,
          0,
          0,
          3.7,
          5.8
        ],
        "sunHours": [
          8.3,
          8.8,
          9.6,
          11.6,
          12.7,
          13.7,
          13.7,
          12.7,
          11.6,
          10.6,
          9.4,
          7.6
        ]
      },
      "effectiveTaxRate": 0.00719,
      "taxTopCoded": false,
      "annualTax4br": 4808,
      "annualTaxTypical": 3947,
      "lossPer100k": 421,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 52,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.006,
        "listPriceYoY": -0.0094,
        "inventoryYoY": -0.045,
        "domYoY": -0.0303,
        "priceCutShare": 0.1867,
        "priceCutShareYoY": 0.0043,
        "popChange1yr": 0.0024,
        "domesticMigPer1000": -2.24
      },
      "activeListings": 6114,
      "medianDom": 64,
      "medianListPrice": 534900,
      "permitsPer1000Units": 8.51,
      "permitsYoY": 0.0022,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 50,
        "listPriceYoY": 63.3,
        "inventoryYoY": 77.5,
        "domYoY": 58.4,
        "priceCutShareYoY": 36.4,
        "popChange1yr": 46.6,
        "domesticMigPer1000": 32.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 99.8,
      "riskRating": "Very High",
      "topHazards": [
        "wildfire",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.8,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.9,
          "rating": "Very High"
        },
        "tornado": {
          "score": 78.8,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 99.8,
          "rating": "Very High"
        },
        "winterWeather": {
          "score": 48.4,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 90.9,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 548894,
      "homeValue4br": 668742,
      "homeValueYoY": 0.006,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 41,
      "opportunityBasis": "partial",
      "buyerScore": 43,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 23,
        "domYoY": 42,
        "priceCutShareYoY": 64,
        "priceCutShare": 41
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "lake-geneva",
      "city": "Lake Geneva",
      "state": "Wisconsin",
      "stateCode": "WI",
      "lat": 42.5918,
      "lng": -88.4345,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/lake-geneva-wi-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "STRs are allowed only in specific zoning districts deemed appropriate for transient lodging; many residential areas prohibit them.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/lake-geneva-wi-airbnb-regulations",
      "countyName": "Walworth County",
      "countyFips": "55127",
      "seasonalShare": 0.1608,
      "bigHomeShare": 0.2395,
      "tourismJobShare": 0.1145,
      "amenityScore": 62,
      "dining": 80,
      "attractions": 14,
      "outdoors": 183,
      "lodgingCompetition": 22,
      "pop150": 18473230,
      "pop300": 43427807,
      "nearestMetros": [
        {
          "name": "Cook County, IL",
          "pop": 5225367
        },
        {
          "name": "Milwaukee County, WI",
          "pop": 933063
        },
        {
          "name": "DuPage County, IL",
          "pop": 930559
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 3,
      "climate": {
        "highF": [
          29.6,
          31.7,
          45.6,
          55.7,
          67.5,
          78.8,
          82.6,
          80.8,
          73.7,
          59.2,
          46,
          38.1
        ],
        "lowF": [
          15.9,
          15.3,
          27.7,
          37,
          48.3,
          59.4,
          65.2,
          63.5,
          58.1,
          44.8,
          32.1,
          24.8
        ],
        "precipIn": [
          2.1,
          2.3,
          3,
          4.4,
          4.3,
          3.5,
          3.3,
          3.7,
          3.1,
          3.7,
          1.7,
          2.4
        ],
        "snowIn": [
          11,
          7.1,
          5,
          3.3,
          0.1,
          0,
          0,
          0,
          0,
          1.1,
          2.7,
          7.3
        ],
        "sunHours": [
          4.7,
          6.7,
          7.4,
          8.3,
          9.6,
          11.5,
          12,
          11.4,
          9,
          7.1,
          6.4,
          5
        ]
      },
      "effectiveTaxRate": 0.01527,
      "taxTopCoded": false,
      "annualTax4br": 8581,
      "annualTaxTypical": 6283,
      "lossPer100k": 76,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 56,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.044,
        "listPriceYoY": -0.0296,
        "inventoryYoY": -0.026,
        "domYoY": 0.0392,
        "priceCutShare": 0.1773,
        "priceCutShareYoY": -0.0177,
        "popChange1yr": 0,
        "domesticMigPer1000": 0.83
      },
      "activeListings": 524,
      "medianDom": 53,
      "medianListPrice": 491295,
      "permitsPer1000Units": 12.98,
      "permitsYoY": 0.4486,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 88.5,
        "listPriceYoY": 46.8,
        "inventoryYoY": 68.8,
        "domYoY": 29.5,
        "priceCutShareYoY": 76.9,
        "popChange1yr": 33.1,
        "domesticMigPer1000": 49.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "tax",
      "regChangeYear": 2025,
      "regChangePending": false,
      "regDirectionEvidence": "In December 2025 the City Council voted to raise the annual city STR license fee to $1,400, up from $750, to fund a dedicated STR and code enforcement officer and continued monitoring software.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [
        6,
        7
      ],
      "riskScore": 74.8,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hail",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 12.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 73.2,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 25.3,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 88.2,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 52.1,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 53.5,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 94.8,
          "rating": "Relatively High"
        }
      },
      "homeValue": 411444,
      "homeValue4br": 561923,
      "homeValueYoY": 0.044,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 39,
      "opportunityBasis": "partial",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 32,
        "domYoY": 71,
        "priceCutShareYoY": 23,
        "priceCutShare": 33
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "lake-of-the-ozarks",
      "city": "Lake of the Ozarks",
      "state": "Missouri",
      "stateCode": "MO",
      "lat": 38.1444,
      "lng": -92.6594,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/lake-of-the-ozarks-mo-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Osage Beach permits STRs in most residential and commercial zones, but R-3 multi-family zoning districts carry a 30-day minimum stay requirement.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/lake-of-the-ozarks-mo-airbnb-regulations",
      "countyName": "Camden County",
      "countyFips": "29029",
      "seasonalShare": 0.5357,
      "bigHomeShare": 0.1586,
      "tourismJobShare": 0.1126,
      "amenityScore": 53,
      "dining": 89,
      "attractions": 5,
      "outdoors": 63,
      "lodgingCompetition": 40,
      "pop150": 7291549,
      "pop300": 22979874,
      "nearestMetros": [
        {
          "name": "St. Louis County, MO",
          "pop": 999703
        },
        {
          "name": "Jackson County, MO",
          "pop": 715526
        },
        {
          "name": "Johnson County, KS",
          "pop": 610742
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          43.9,
          45.6,
          57.4,
          66.5,
          74.2,
          85.7,
          89.3,
          87.4,
          83.4,
          68.2,
          57.2,
          50.3
        ],
        "lowF": [
          27.7,
          25.9,
          37.5,
          45.6,
          56.8,
          66.5,
          71.5,
          69.8,
          64.4,
          50.6,
          39,
          33.3
        ],
        "precipIn": [
          3,
          3.2,
          5.7,
          4.7,
          6.1,
          3.8,
          3.9,
          3.5,
          2.3,
          5.6,
          2,
          2
        ],
        "snowIn": [
          5.3,
          5.6,
          0.6,
          0.5,
          0,
          0,
          0,
          0,
          0,
          0.2,
          0.5,
          1.9
        ],
        "sunHours": [
          5.5,
          6.8,
          7.4,
          9.1,
          9.2,
          11.8,
          12,
          11,
          10.7,
          7.8,
          7.6,
          6.4
        ]
      },
      "effectiveTaxRate": 0.00531,
      "taxTopCoded": false,
      "annualTax4br": 2875,
      "annualTaxTypical": 1698,
      "lossPer100k": 226,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 46,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.034,
        "listPriceYoY": 0.0253,
        "inventoryYoY": 0.0323,
        "domYoY": 0.0676,
        "priceCutShare": 0.1875,
        "priceCutShareYoY": -0.0546,
        "popChange1yr": -0.0033,
        "domesticMigPer1000": 1.06
      },
      "activeListings": 1054,
      "medianDom": 79,
      "medianListPrice": 405000,
      "permitsPer1000Units": 10.55,
      "permitsYoY": 0.5404,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 3.2,
        "listPriceYoY": 81.5,
        "inventoryYoY": 52.6,
        "domYoY": 19.7,
        "priceCutShareYoY": 95.4,
        "popChange1yr": 14.9,
        "domesticMigPer1000": 51.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "loosening",
      "regChangeType": "tax",
      "regChangeYear": 2024,
      "regChangePending": false,
      "regDirectionEvidence": "On June 25, 2024, the Missouri Supreme Court ruled the statutory scheme behind the Lake of the Ozarks lodging tax unconstitutional and enjoined further collection.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 88.4,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "riverFlood",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": 41.2,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 93.3,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 81.8,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 83.9,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 79.2,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 91.4,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 77.6,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 319708,
      "homeValue4br": 541505,
      "homeValueYoY": -0.034,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 44,
      "opportunityBasis": "partial",
      "buyerScore": 44,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 48,
        "domYoY": 80,
        "priceCutShareYoY": 5,
        "priceCutShare": 43
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "lake-placid",
      "city": "Lake Placid",
      "state": "New York",
      "stateCode": "NY",
      "lat": 44.2795,
      "lng": -73.9799,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental Permit (hosted or unhosted category) under joint Local Law No. 1 of 2023; unhosted permits capped and limited to specific zoning districts (Rural Countryside, North Lake/South Lake residential, parts of Gateway Corridor without Old Military Road frontage, Whiteface Inn PDD, HOA-free condos/townhomes); hosted permits allowed in all zoning districts, town and village.",
      "tax": "Essex County Room Occupancy Tax registration required as part of the permit application, plus the statewide 4% NYS sales tax on STR occupancy.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/lake-placid-ny-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Village of Lake Placid and Town of North Elba (joint STR law, Local Law No. 1 of 2023)",
      "strCap": "Unhosted permits capped at 165 townwide; as of recent local reporting only ~3 unhosted and ~16 hosted town permits remained available — unhosted category effectively full.",
      "ownerOccupancy": "Not a blanket requirement, but 'hosted' permits (owner/representative present) face far fewer zoning restrictions than capped, zone-limited 'unhosted' permits.",
      "statusNote": "The town/village previously imposed a moratorium on new STR permits and has since managed/lowered the unhosted cap; the unhosted-permit ceiling is effectively reached, making an existing permitted unhosted property materially more valuable than pursuing a new permit. Permit fees are scheduled to increase effective June 1, 2026 (amount unconfirmed).",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://northelba.villageoflakeplacid.ny.gov/short_term_rentals/index.php",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Essex County",
      "countyFips": "36031",
      "seasonalShare": 0.2898,
      "bigHomeShare": 0.2165,
      "tourismJobShare": 0.1359,
      "amenityScore": 72,
      "dining": 78,
      "attractions": 80,
      "outdoors": 499,
      "lodgingCompetition": 52,
      "pop150": 4651452,
      "pop300": 46015582,
      "nearestMetros": [
        {
          "name": "Onondaga County, NY",
          "pop": 472637
        },
        {
          "name": "Hillsborough County, NH",
          "pop": 422733
        },
        {
          "name": "Albany County, NY",
          "pop": 315041
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 6,
      "climate": {
        "highF": [
          25.8,
          27.8,
          36.9,
          49.4,
          61.9,
          70.2,
          74.8,
          72.7,
          65.7,
          55.6,
          40.6,
          33.1
        ],
        "lowF": [
          9.4,
          10.5,
          19.5,
          31.2,
          42.5,
          53.2,
          59.6,
          57.5,
          50.6,
          41.4,
          27.2,
          19.7
        ],
        "precipIn": [
          3.7,
          3.6,
          3.3,
          4.4,
          3.4,
          5.2,
          4.7,
          4.4,
          3.4,
          5.1,
          3.7,
          4.3
        ],
        "snowIn": [
          19.1,
          19.2,
          13.4,
          9.5,
          1.3,
          0,
          0,
          0,
          0,
          0.5,
          10.5,
          14
        ],
        "sunHours": [
          3.9,
          5.1,
          6.8,
          7.7,
          9.9,
          10.5,
          11.3,
          10.9,
          9,
          6.4,
          5.1,
          3.5
        ]
      },
      "effectiveTaxRate": 0.01734,
      "taxTopCoded": false,
      "annualTax4br": 6810,
      "annualTaxTypical": 5193,
      "lossPer100k": 128,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 59,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.091,
        "listPriceYoY": 0.028,
        "inventoryYoY": 0.0267,
        "domYoY": -0.0449,
        "priceCutShare": 0.1851,
        "priceCutShareYoY": 0.0126,
        "popChange1yr": -0.0028,
        "domesticMigPer1000": 4.6
      },
      "activeListings": 308,
      "medianDom": 75,
      "medianListPrice": 399900,
      "permitsPer1000Units": 7.44,
      "permitsYoY": 0.2288,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 98.3,
        "listPriceYoY": 83.2,
        "inventoryYoY": 54.3,
        "domYoY": 65.9,
        "priceCutShareYoY": 26,
        "popChange1yr": 16,
        "domesticMigPer1000": 69.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2026,
      "regChangePending": true,
      "regDirectionEvidence": "Permit fees are scheduled to increase effective June 1, 2026 (amount unconfirmed).",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 62.7,
      "riskRating": "Relatively Low",
      "topHazards": [
        "riverFlood",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 65.7,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 76.9,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 24.8,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 23.8,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 72.8,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 68.7,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 12.4,
          "rating": "Very Low"
        }
      },
      "homeValue": 299484,
      "homeValue4br": 392753,
      "homeValueYoY": 0.091,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 44,
      "opportunityBasis": "partial",
      "buyerScore": 49,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 46,
        "domYoY": 35,
        "priceCutShareYoY": 74,
        "priceCutShare": 39
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "lawrence",
      "city": "Lawrence",
      "state": "Kansas",
      "stateCode": "KS",
      "lat": 38.9717,
      "lng": -95.2353,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Annual Short-Term Rental License via the Enterprise Permitting & Licensing (EPL) Civic Access Portal.",
      "tax": "6.5% Kansas state sales tax + local Transient Guest Tax.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "Set by zoning district per Lawrence City Code Ch. 20 §20-601(d) (exact numbers by district not confirmed).",
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/lawrence-ks-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Lawrence",
      "permitFee": "$17 per year.",
      "strCap": "No citywide numeric unit cap, but a single owner/licensee may hold no more than three active short-term rental licenses at one time, and non-owner-occupied STRs are banned in RS and PD zoning districts (with an exception for an ADU/duplex on an owner-occupied lot).",
      "ownerOccupancy": "Required for STRs located in RS (single-dwelling residential) and PD (planned development) zones; non-owner-occupied STRs are barred there except for a qualifying ADU or duplex.",
      "statusNote": "For the 2026 FIFA World Cup (Kansas City-area matches, with Lawrence's Rock Chalk Park considered as a possible team training/recovery site), the City Commission adopted temporary amendments to expand STR lodging supply during the tournament window — confirm whether any temporary rule is still in effect at time of purchase.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://assets.lawrenceks.org/pds/devservices/ced/shorttermrental/Ord9560.pdf",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Douglas County",
      "countyFips": "20045",
      "seasonalShare": 0.0027,
      "bigHomeShare": 0.245,
      "tourismJobShare": 0.1199,
      "amenityScore": 64,
      "dining": 192,
      "attractions": 13,
      "outdoors": 105,
      "lodgingCompetition": 22,
      "pop150": 4584128,
      "pop300": 18504364,
      "nearestMetros": [
        {
          "name": "Jackson County, MO",
          "pop": 715526
        },
        {
          "name": "Johnson County, KS",
          "pop": 610742
        },
        {
          "name": "Lancaster County, NE",
          "pop": 322063
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 1,
      "climate": {
        "highF": [
          41,
          42.1,
          55.1,
          65.5,
          73.7,
          86,
          88.7,
          87.9,
          82.6,
          66.5,
          54.4,
          47.2
        ],
        "lowF": [
          24.6,
          22,
          36,
          44.8,
          56.1,
          66.9,
          70.9,
          70,
          63.9,
          48.8,
          37,
          30.4
        ],
        "precipIn": [
          2.2,
          1.6,
          4.4,
          3.6,
          7.5,
          4.5,
          5,
          4.4,
          3.5,
          3.6,
          2.1,
          1.5
        ],
        "snowIn": [
          6.2,
          5.4,
          1.6,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0.4,
          1.4,
          1.5
        ],
        "sunHours": [
          6.1,
          7.9,
          7.7,
          9.9,
          8.8,
          12.3,
          11.9,
          11.5,
          10.7,
          8.4,
          7.6,
          6.6
        ]
      },
      "effectiveTaxRate": 0.01252,
      "taxTopCoded": false,
      "annualTax4br": 5190,
      "annualTaxTypical": 4229,
      "lossPer100k": 99,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 39,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.035,
        "listPriceYoY": 0.2216,
        "inventoryYoY": 0.3073,
        "domYoY": 0.0814,
        "priceCutShare": 0.1797,
        "priceCutShareYoY": 0.0158,
        "popChange1yr": -0.0002,
        "domesticMigPer1000": -6.03
      },
      "activeListings": 251,
      "medianDom": 47,
      "medianListPrice": 427450,
      "permitsPer1000Units": 7.14,
      "permitsYoY": 0.5263,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 82.8,
        "listPriceYoY": 100,
        "inventoryYoY": 3.5,
        "domYoY": 17.9,
        "priceCutShareYoY": 22.5,
        "popChange1yr": 31.1,
        "domesticMigPer1000": 18.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "loosening",
      "regChangeType": "other",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "For the 2026 FIFA World Cup period, the City Commission passed temporary amendments specifically to expand the city's STR lodging supply, since Lawrence's Rock Chalk Park was floated as a potential team training/recovery site",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 74.8,
      "riskRating": "Relatively Low",
      "topHazards": [
        "winterWeather",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 72.8,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 55.8,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 92.4,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 44.5,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 96.7,
          "rating": "Very High"
        },
        "hail": {
          "score": 92.3,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 337795,
      "homeValue4br": 414533,
      "homeValueYoY": 0.035,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 41,
      "opportunityBasis": "partial",
      "buyerScore": 73,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 96,
        "domYoY": 82,
        "priceCutShareYoY": 77,
        "priceCutShare": 36
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "lexington",
      "city": "Lexington",
      "state": "Kentucky",
      "stateCode": "KY",
      "lat": 38.0406,
      "lng": -84.5037,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Applicants need a Zoning Compliance Permit (Division of Planning) confirming the property is eligible, then a Special Fees License (Division of Revenue) plus an underlying Occupational/Business License. The 'Hosted Short-Term Rental' category additionally requires that a permanent resident live at the unit, verified with two forms of documentation (e.g., driver's license, vehicle registration, voter registration, tax documents or a utility bill).",
      "tax": "Kentucky's 6% state sales tax plus the 1% state transient room tax, plus Lexington's local transient room tax (exact local rate not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Operating an unlicensed short-term rental can draw fines of up to $500 per day.",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/lexington-ky-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Lexington-Fayette Urban County Government (Division of Planning for zoning; Division of Revenue for licensing)",
      "permitFee": "$200/year for the first unit, plus $100/year for each additional unit (Special Fees License).",
      "ownerOccupancy": "Required for the 'Hosted Short-Term Rental' category specifically (a permanent resident must live at the dwelling). Whether a separate non-owner-occupied/'unhosted' STR category exists citywide, and which zones allow it, was not confirmed from available sources.",
      "statusNote": "Kentucky SB 112, pending in the state Senate as of September 2026 (not yet law), would preempt local STR licensing schemes such as Lexington's residency requirement and permitting process if it passes.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.lexingtonky.gov/working/business-licensing-taxes/short-term-rentals-strs/short-term-rentals-licensure-requirements-permitting",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Fayette County",
      "countyFips": "21067",
      "seasonalShare": 0.0086,
      "bigHomeShare": 0.2381,
      "tourismJobShare": 0.093,
      "amenityScore": 71,
      "dining": 386,
      "attractions": 19,
      "outdoors": 160,
      "lodgingCompetition": 81,
      "pop150": 11435312,
      "pop300": 51365829,
      "nearestMetros": [
        {
          "name": "Marion County, IN",
          "pop": 971737
        },
        {
          "name": "Hamilton County, OH",
          "pop": 827671
        },
        {
          "name": "Jefferson County, KY",
          "pop": 779232
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          43.2,
          47.8,
          56.7,
          63.9,
          74.1,
          82.6,
          86.4,
          84.8,
          80.4,
          68.2,
          54.3,
          48.9
        ],
        "lowF": [
          28.7,
          30.4,
          36.8,
          43.9,
          54.8,
          62.9,
          68.4,
          66.4,
          60.8,
          50.1,
          36.8,
          33.2
        ],
        "precipIn": [
          4.8,
          5.9,
          4.3,
          4.4,
          3.8,
          5,
          5.5,
          4.5,
          2.3,
          4,
          3.1,
          4.4
        ],
        "snowIn": [
          4.1,
          2.2,
          1.5,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0.9,
          1
        ],
        "sunHours": [
          5.4,
          5.9,
          7.9,
          8.7,
          9.8,
          11.4,
          11.6,
          11,
          10.4,
          8.1,
          7.2,
          5.5
        ]
      },
      "effectiveTaxRate": 0.00921,
      "taxTopCoded": false,
      "annualTax4br": 4169,
      "annualTaxTypical": 3065,
      "lossPer100k": 110,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 49,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.034,
        "listPriceYoY": 0.0244,
        "inventoryYoY": 0.1404,
        "domYoY": -0.0337,
        "priceCutShare": 0.2195,
        "priceCutShareYoY": 0.0331,
        "popChange1yr": 0.0082,
        "domesticMigPer1000": -4.26
      },
      "activeListings": 666,
      "medianDom": 43,
      "medianListPrice": 399000,
      "permitsPer1000Units": 7.19,
      "permitsYoY": 0.0154,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 81.6,
        "listPriceYoY": 79.8,
        "inventoryYoY": 21.4,
        "domYoY": 60.1,
        "priceCutShareYoY": 6.4,
        "popChange1yr": 74.6,
        "domesticMigPer1000": 22.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "permitRegistry": {
        "active": 738,
        "asOf": "2026-09-21",
        "byType": {
          "U": 623,
          "H": 115
        },
        "name": "Short Term Rental Master",
        "url": "https://data.lexingtonky.gov/",
        "per1000CountyUnits": 5.04,
        "capText": null
      },
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 92,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "tornado",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": 57,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 92.7,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 26.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 98,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 93,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 96.4,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 93.1,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 332844,
      "homeValue4br": 452684,
      "homeValueYoY": 0.034,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 68,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 79,
        "domYoY": 40,
        "priceCutShareYoY": 93,
        "priceCutShare": 61
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "lincoln-city",
      "city": "Lincoln City",
      "state": "Oregon",
      "stateCode": "OR",
      "lat": 44.9618,
      "lng": -124.016,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/lincoln-city-or-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "The city caps STR licenses by zone: 194 in R1-5 and 91 in R1-RE. The city's own pages confirm both caps have been reached, so no new licenses are issued until the count falls below the cap.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/lincoln-city-or-airbnb-regulations",
      "countyName": "Lincoln County",
      "countyFips": "41041",
      "seasonalShare": 0.2303,
      "bigHomeShare": 0.1223,
      "tourismJobShare": 0.1997,
      "amenityScore": 59,
      "dining": 70,
      "attractions": 19,
      "outdoors": 70,
      "lodgingCompetition": 47,
      "pop150": 4506620,
      "pop300": 11343067,
      "nearestMetros": [
        {
          "name": "Multnomah County, OR",
          "pop": 808098
        },
        {
          "name": "Washington County, OR",
          "pop": 599541
        },
        {
          "name": "Clark County, WA",
          "pop": 504091
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 4,
      "snowMonths": 2,
      "climate": {
        "highF": [
          51.2,
          48.1,
          50.3,
          53.6,
          58.3,
          61.7,
          65.2,
          67.2,
          65.3,
          59.6,
          53.7,
          50.6
        ],
        "lowF": [
          41.9,
          39.1,
          39.7,
          43.7,
          48.6,
          52.1,
          55.4,
          56.9,
          54.7,
          49.1,
          43.8,
          42.2
        ],
        "precipIn": [
          15,
          11.1,
          8.6,
          8.6,
          5.7,
          3.7,
          0.5,
          0.9,
          4.3,
          7.5,
          11.9,
          16.9
        ],
        "snowIn": [
          2.1,
          8.9,
          5.6,
          5.7,
          0,
          0,
          0,
          0,
          0,
          0,
          1,
          6.7
        ],
        "sunHours": [
          4.1,
          5.7,
          7.6,
          8.6,
          10.1,
          11.9,
          13.5,
          12,
          9.7,
          7.6,
          5.3,
          3.6
        ]
      },
      "effectiveTaxRate": 0.00891,
      "taxTopCoded": false,
      "annualTax4br": 5992,
      "annualTaxTypical": 4188,
      "lossPer100k": 279,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 41,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.007,
        "listPriceYoY": -0.0083,
        "inventoryYoY": 0.2269,
        "domYoY": -0.0222,
        "priceCutShare": 0.2809,
        "priceCutShareYoY": 0.0297,
        "popChange1yr": -0.0023,
        "domesticMigPer1000": 5.14
      },
      "activeListings": 703,
      "medianDom": 88,
      "medianListPrice": 594000,
      "permitsPer1000Units": 6.51,
      "permitsYoY": -0.2536,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 52.3,
        "listPriceYoY": 65.9,
        "inventoryYoY": 12.1,
        "domYoY": 56.6,
        "priceCutShareYoY": 8.7,
        "popChange1yr": 18.3,
        "domesticMigPer1000": 71.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "The city's own pages confirm both caps have been reached, so no new licenses are issued until the count falls below the cap.",
      "regDirectionReviewed": false,
      "riskScore": 89.9,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 71.8,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 86.6,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 50.8,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 11.2,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 97.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 10.4,
          "rating": "Very Low"
        },
        "hail": {
          "score": 3.3,
          "rating": "Very Low"
        }
      },
      "homeValue": 470080,
      "homeValue4br": 672484,
      "homeValueYoY": 0.007,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 37,
      "opportunityBasis": "partial",
      "buyerScore": 79,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 88,
        "domYoY": 44,
        "priceCutShareYoY": 91,
        "priceCutShare": 93
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "lincoln",
      "city": "Lincoln",
      "state": "Nebraska",
      "stateCode": "NE",
      "lat": 40.8136,
      "lng": -96.7026,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental License through Lincoln Building & Safety; subject to a zoning conditional-use check under Lincoln Zoning Code §27.02.200, §27.06.070, and §27.62.040(c)(1-5), plus Lincoln Municipal Code Ch. 5.39.",
      "tax": "5.5% Nebraska state sales tax + 1% state lodging tax + local Lincoln/Lancaster County lodging tax (rate not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "2 guests per sleeping area, up to a maximum of 12 guests.",
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/lincoln-ne-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Lincoln (Building & Safety Dept.)",
      "permitFee": "$250 per year, per rental unit.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.lincoln.ne.gov/City/Departments/PDS/Building-Safety/Residential-Rental-and-Property-Maintenance/Short-Term-Rentals",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Lancaster County",
      "countyFips": "31109",
      "seasonalShare": 0.0061,
      "bigHomeShare": 0.2425,
      "tourismJobShare": 0.0744,
      "amenityScore": 80,
      "dining": 362,
      "attractions": 29,
      "outdoors": 623,
      "lodgingCompetition": 65,
      "pop150": 3138210,
      "pop300": 11635836,
      "nearestMetros": [
        {
          "name": "Douglas County, NE",
          "pop": 582638
        },
        {
          "name": "Lancaster County, NE",
          "pop": 322063
        },
        {
          "name": "Sarpy County, NE",
          "pop": 191272
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 7,
      "snowMonths": 1,
      "climate": {
        "highF": [
          36.1,
          36.1,
          51.3,
          63.4,
          72.5,
          85.6,
          87.2,
          86.2,
          81.3,
          63.9,
          52.2,
          42.3
        ],
        "lowF": [
          19.6,
          16.3,
          31.3,
          41.3,
          53.5,
          65.3,
          69.1,
          67.8,
          61.5,
          44.9,
          33.6,
          24.5
        ],
        "precipIn": [
          1.4,
          1,
          2.6,
          1.5,
          5,
          4.1,
          2.9,
          1.8,
          1.8,
          2.3,
          1,
          1.2
        ],
        "snowIn": [
          7.4,
          4.7,
          2.5,
          1.5,
          0,
          0,
          0,
          0,
          0,
          0.6,
          1.4,
          3.1
        ],
        "sunHours": [
          6.4,
          8.3,
          7.9,
          10,
          9.8,
          13.2,
          12.8,
          11.7,
          10.6,
          8.6,
          7.6,
          6.9
        ]
      },
      "effectiveTaxRate": 0.01604,
      "taxTopCoded": false,
      "annualTax4br": 6435,
      "annualTaxTypical": 4844,
      "lossPer100k": 121,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 50,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.031,
        "listPriceYoY": -0.0171,
        "inventoryYoY": 0.2423,
        "domYoY": 0,
        "priceCutShare": 0.1267,
        "priceCutShareYoY": 0.0089,
        "popChange1yr": 0.0082,
        "domesticMigPer1000": 0.66
      },
      "activeListings": 1046,
      "medianDom": 37,
      "medianListPrice": 400000,
      "permitsPer1000Units": 17.23,
      "permitsYoY": 0.2124,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 77.3,
        "listPriceYoY": 59,
        "inventoryYoY": 9.2,
        "domYoY": 49.7,
        "priceCutShareYoY": 31.2,
        "popChange1yr": 74.6,
        "domesticMigPer1000": 48.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": 2021,
      "regChangePending": false,
      "regDirectionEvidence": "Lincoln enacted its short-term rental ordinance in June 2021, creating a legal licensing process for STRs within city limits (Lincoln Municipal Code Ch. 5.39).",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 90.7,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "tornado",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 85.5,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 93.7,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 98.8,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 40.8,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 98,
          "rating": "Very High"
        },
        "hail": {
          "score": 98.8,
          "rating": "Relatively High"
        }
      },
      "homeValue": 302026,
      "homeValue4br": 401180,
      "homeValueYoY": 0.031,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 56,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 91,
        "domYoY": 51,
        "priceCutShareYoY": 69,
        "priceCutShare": 11
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "long-beach-township",
      "city": "Long Beach Township",
      "state": "New Jersey",
      "stateCode": "NJ",
      "lat": 39.6493,
      "lng": -74.2296,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Rental Property Registration filed annually with the Township (due April 1 each year), separate from a required annual fire inspection through the Ocean County Fire Marshal; a $100 Certificate of Liability Insurance filing fee applies.",
      "tax": "NJ Sales Tax 6.625% + State Occupancy Fee 5%; secondary sources note booking platforms often do not automatically collect municipal occupancy tax where a town has enacted one, creating a compliance gap owners should check directly with the Township.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "Applications received after the April 1 deadline are subject to additional late filing fees (amount not specified in available sources).",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/long-beach-township-nj-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Township of Long Beach, NJ (one of six LBI municipalities, each with its own separate rental rules — Barnegat Light, Harvey Cedars, Surf City, Ship Bottom, and Beach Haven each have their own ordinances)",
      "permitFee": "$100 insurance registration filing fee confirmed (plus certificate of liability insurance); secondary sources also cite a $125 general Business Registration Application Fee, but this was not independently verified against the primary ordinance.",
      "statusNote": "LBI is split into six separate municipalities, each with its own STR ordinance; Long Beach Township, Ship Bottom, Beach Haven, and Harvey Cedars use a shared 'My Beach Mobile' app for digital beach-badge access for renters. Investors should confirm the specific town and zone of any LBI property, since rules differ house-to-house along the island.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.longbeachtownship.com/business-rental-property-owner-registration-information/",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Ocean County",
      "countyFips": "34029",
      "seasonalShare": 0.1388,
      "bigHomeShare": 0.2857,
      "tourismJobShare": 0.0808,
      "amenityScore": 65,
      "dining": 94,
      "attractions": 29,
      "outdoors": 110,
      "lodgingCompetition": 12,
      "pop150": 37155541,
      "pop300": 65716983,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          43.3,
          45.3,
          51,
          58.9,
          66,
          76,
          83.4,
          81.3,
          75.8,
          66.7,
          55.5,
          48
        ],
        "lowF": [
          30.6,
          32.3,
          37.3,
          45.5,
          53.6,
          64.1,
          71.7,
          70.6,
          64.2,
          54.6,
          41.7,
          35.5
        ],
        "precipIn": [
          3.3,
          3.9,
          4.1,
          4.5,
          3.6,
          3,
          4.7,
          3.5,
          4.7,
          5.9,
          3.2,
          5.5
        ],
        "snowIn": [
          4.7,
          3.1,
          0.7,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          0.4
        ],
        "sunHours": [
          6.2,
          6.5,
          8.2,
          8.8,
          10.2,
          11.4,
          12,
          10.4,
          9.7,
          7.6,
          7.7,
          5.7
        ]
      },
      "effectiveTaxRate": 0.01873,
      "taxTopCoded": false,
      "annualTax4br": 14342,
      "annualTaxTypical": 10322,
      "lossPer100k": 147,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 51,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.048,
        "listPriceYoY": -0.0265,
        "inventoryYoY": 0.1091,
        "domYoY": 0.0426,
        "priceCutShare": 0.1645,
        "priceCutShareYoY": 0.0104,
        "popChange1yr": 0.008,
        "domesticMigPer1000": 2.34
      },
      "activeListings": 2734,
      "medianDom": 49,
      "medianListPrice": 534900,
      "permitsPer1000Units": 9.63,
      "permitsYoY": -0.2361,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 90.2,
        "listPriceYoY": 52.3,
        "inventoryYoY": 28.9,
        "domYoY": 28.3,
        "priceCutShareYoY": 28.3,
        "popChange1yr": 72.6,
        "domesticMigPer1000": 58
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "LBI overall is considered more STR-friendly than Ocean City or Cape May, leaning on registration and taxation rather than caps or bans, per secondary market analyses not independently verified against code text.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 96.2,
      "riskRating": "Relatively High",
      "topHazards": [
        "winterWeather",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 93.2,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 98.2,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 96.7,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 95.2,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 47.2,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 92.2,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 99.4,
          "rating": "Very High"
        },
        "hail": {
          "score": 60.5,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 551072,
      "homeValue4br": 765703,
      "homeValueYoY": 0.048,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 47,
      "opportunityBasis": "partial",
      "buyerScore": 60,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 71,
        "domYoY": 72,
        "priceCutShareYoY": 72,
        "priceCutShare": 24
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "los-angeles",
      "city": "LA",
      "state": "California",
      "stateCode": "CA",
      "lat": 34.0537,
      "lng": -118.2428,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Home-Sharing registration (Regular) or Extended Home-Sharing registration, LA City Planning; LAMC 12.22 A.32",
      "tax": "14% City of Los Angeles Transient Occupancy Tax on stays of 30 days or fewer, plus a separate Per-Night Fee on all Home-Sharing activity",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "Maximum two persons (excluding children) per Habitable Room; capacity fixed as the Maximum Sleeping Capacity approved at registration",
      "penalties": "$500/day or 2x the nightly rate (whichever is greater) for advertising in violation; $2,000/day or 2x nightly rent for each day beyond the 120-day limit without Extended registration; $1,000/day against hosting platforms; all indexed annually to CPI-U",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/los-angeles-ca-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Los Angeles only permits short-term rentals in your primary residence. Investment properties and second homes cannot be legally operated as STRs in the City of Los Angeles.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "strCap": "No city-wide cap on the number of registrations; each host is capped at 120 Home-Sharing days per calendar year unless they hold an Extended Home-Sharing registration",
      "ownerOccupancy": "Required — Home-Sharing is allowed only in the applicant's primary residence, where they reside more than six months of the year; RSO units excluded even if primary",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://planning.lacity.gov/project-review/home-sharing",
      "countyName": "Los Angeles County",
      "countyFips": "06037",
      "seasonalShare": 0.0088,
      "bigHomeShare": 0.1587,
      "tourismJobShare": 0.1074,
      "amenityScore": 98,
      "dining": 3384,
      "attractions": 445,
      "outdoors": 716,
      "lodgingCompetition": 647,
      "pop150": 23205773,
      "pop300": 31838723,
      "nearestMetros": [
        {
          "name": "Los Angeles County, CA",
          "pop": 9936690
        },
        {
          "name": "San Diego County, CA",
          "pop": 3289701
        },
        {
          "name": "Orange County, CA",
          "pop": 3175227
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65.5,
          67.6,
          67.8,
          74.9,
          76.2,
          81.8,
          87.5,
          89,
          87.6,
          82.7,
          74.9,
          65.7
        ],
        "lowF": [
          45.8,
          45.3,
          48.1,
          52.8,
          55.7,
          59.5,
          62.5,
          64.1,
          63.9,
          58.7,
          51.2,
          47.2
        ],
        "precipIn": [
          3.8,
          2.1,
          3.9,
          0.9,
          0.5,
          0.4,
          0.1,
          0.7,
          0.7,
          0.2,
          1.1,
          5
        ],
        "snowIn": [
          0,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.3,
          9.2,
          9.9,
          10.8,
          11.3,
          11.8,
          12.9,
          12,
          10.8,
          10.1,
          9.2,
          7.5
        ]
      },
      "effectiveTaxRate": 0.007,
      "taxTopCoded": false,
      "annualTax4br": 7302,
      "annualTaxTypical": 6111,
      "lossPer100k": 349,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 39,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.005,
        "listPriceYoY": -0.034,
        "inventoryYoY": 0.0011,
        "domYoY": 0,
        "priceCutShare": 0.1559,
        "priceCutShareYoY": -0.0059,
        "popChange1yr": -0.0055,
        "domesticMigPer1000": -10.82
      },
      "activeListings": 15279,
      "medianDom": 54,
      "medianListPrice": 965000,
      "permitsPer1000Units": 6.18,
      "permitsYoY": 0.1232,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 47.7,
        "listPriceYoY": 40.5,
        "inventoryYoY": 63.6,
        "domYoY": 49.7,
        "priceCutShareYoY": 50.3,
        "popChange1yr": 9.7,
        "domesticMigPer1000": 8.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 15,
      "emergingDriverCount": 3,
      "eventMonths": [
        1,
        2,
        4,
        7
      ],
      "riskScore": 100,
      "riskRating": "Very High",
      "topHazards": [
        "riverFlood",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": 90,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 100,
          "rating": "Very High"
        },
        "wildfire": {
          "score": 99.9,
          "rating": "Very High"
        },
        "tornado": {
          "score": 97.7,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 100,
          "rating": "Very High"
        },
        "winterWeather": {
          "score": 74.8,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 93,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 873008,
      "homeValue4br": 1043128,
      "homeValueYoY": 0.005,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 43,
      "opportunityBasis": "partial",
      "buyerScore": 39,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 37,
        "domYoY": 51,
        "priceCutShareYoY": 49,
        "priceCutShare": 19
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "louisville",
      "city": "Louisville",
      "state": "Kentucky",
      "stateCode": "KY",
      "lat": 38.2527,
      "lng": -85.7585,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Annual STR registration with the Office of Planning & Design Services, plus a Conditional Use Permit (CUP) for non-owner-occupied rentals and most rentals in residential districts (R-R, R-E, R-1 through R-8A, U-N, TNZD); a CUP requires a required neighborhood meeting and a Planning Commission hearing.",
      "tax": "Kentucky's 6% state sales tax plus the 1% state transient room tax, plus Louisville's local transient room tax administered by the Metro Revenue Commission (exact local rate not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/louisville-ky-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Louisville/Jefferson County Metro Government (Office of Planning & Design Services); zoning applies metro-wide.",
      "permitFee": "Reported (secondary sources) at roughly $250/year for registration, with CUP costs around $200 for a pre-application plus $560 (owner-occupied) to $1,260 (non-owner-occupied) for the formal application — these figures could not be independently confirmed against Louisville Metro's official fee-schedule PDF, which was inaccessible in a readable format during this research.",
      "strCap": "No citywide numeric cap, but a 600-foot buffer rule blocks a new CUP if an existing CUP'd STR is within 600 feet in a residentially zoned buffer; a 2023 update removed the waiver option when two or more CUP'd STRs already sit within that buffer.",
      "ownerOccupancy": "Not required to operate an STR in general, but owner-occupied units are billed a lower CUP fee; non-owner-occupied (investor) rentals face the full CUP process and higher fee tier.",
      "transfersOnSale": "Not confirmed — it is unclear from available sources whether a Conditional Use Permit runs with the property or must be reapplied for by a new owner.",
      "statusNote": "Kentucky SB 112, pending in the state Senate as of September 2026 (not yet law), would void Louisville's CUP and 600-foot spacing requirements if it passes — this is a live risk/opportunity to monitor rather than a settled fact.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://catalog.data.gov/dataset/louisville-metro-ky-short-term-rental-conditional-use-permits",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Jefferson County",
      "countyFips": "21111",
      "seasonalShare": 0.0047,
      "bigHomeShare": 0.1962,
      "tourismJobShare": 0.0876,
      "amenityScore": 85,
      "dining": 763,
      "attractions": 79,
      "outdoors": 260,
      "lodgingCompetition": 115,
      "pop150": 11483524,
      "pop300": 49102641,
      "nearestMetros": [
        {
          "name": "Marion County, IN",
          "pop": 971737
        },
        {
          "name": "Hamilton County, OH",
          "pop": 827671
        },
        {
          "name": "Jefferson County, KY",
          "pop": 779232
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          44.1,
          48.2,
          58,
          65.7,
          75.4,
          83.8,
          87.5,
          85.6,
          81.9,
          69.6,
          55.6,
          49.8
        ],
        "lowF": [
          28.9,
          29.9,
          37.7,
          45,
          56.1,
          64.6,
          70.3,
          68.1,
          62.2,
          51.2,
          37.5,
          33.3
        ],
        "precipIn": [
          4.4,
          5.1,
          4.7,
          4.6,
          3.7,
          4.7,
          5.1,
          3.8,
          2.4,
          4.2,
          2.9,
          3.5
        ],
        "snowIn": [
          3,
          2.9,
          0.7,
          0.3,
          0,
          0,
          0,
          0,
          0,
          0,
          0.6,
          0.9
        ],
        "sunHours": [
          5.5,
          6.1,
          8,
          9.1,
          9.9,
          11.3,
          11.9,
          11.1,
          10.6,
          8.1,
          7.3,
          5.7
        ]
      },
      "effectiveTaxRate": 0.00857,
      "taxTopCoded": false,
      "annualTax4br": 3484,
      "annualTaxTypical": 2279,
      "lossPer100k": 154,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 26,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.012,
        "listPriceYoY": -0.0435,
        "inventoryYoY": 0.2932,
        "domYoY": 0.0833,
        "priceCutShare": 0.2332,
        "priceCutShareYoY": 0.0215,
        "popChange1yr": 0.0013,
        "domesticMigPer1000": -9.92
      },
      "activeListings": 2179,
      "medianDom": 39,
      "medianListPrice": 286000,
      "permitsPer1000Units": 8.43,
      "permitsYoY": 0.0482,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 58.3,
        "listPriceYoY": 32.4,
        "inventoryYoY": 4.6,
        "domYoY": 17.3,
        "priceCutShareYoY": 15,
        "popChange1yr": 40.6,
        "domesticMigPer1000": 11.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "loosening",
      "regChangeType": "state-preemption",
      "regChangeYear": null,
      "regChangePending": true,
      "regDirectionEvidence": "Kentucky SB 112, pending in the state Senate as of September 2026 (not yet law), would void Louisville's CUP and 600-foot spacing requirements if it passes",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [
        5
      ],
      "riskScore": 98.3,
      "riskRating": "Relatively High",
      "topHazards": [
        "tornado",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 35.8,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 99.1,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 56.1,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 99.7,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 96.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 92.3,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 89.7,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 265923,
      "homeValue4br": 406516,
      "homeValueYoY": 0.012,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 38,
      "opportunityBasis": "partial",
      "buyerScore": 84,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 95,
        "domYoY": 83,
        "priceCutShareYoY": 85,
        "priceCutShare": 71
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "medora",
      "city": "Medora",
      "state": "North Dakota",
      "stateCode": "ND",
      "lat": 46.9188,
      "lng": -103.5257,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": null,
      "regNotes": null,
      "growthTrend": null,
      "permit": "No Medora- or Billings County-specific short-term rental permit was found in this research; operators must still register with the North Dakota Office of State Tax Commissioner for state sales tax collection on stays under 30 days.",
      "tax": "North Dakota state sales tax applies to stays under 30 days; any local city/county lodging tax is capped at 2% under NDCC Ch. 40-57.3 where adopted (whether Medora or Billings County has adopted one was not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/medora-nd-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Medora and/or Billings County zoning (specific split not confirmed); North Dakota has no state-level STR licensing or preemption.",
      "statusNote": "This research could not locate a Medora-specific or Billings County-specific short-term rental ordinance; North Dakota has no statewide STR license or preemption law, so any local rules that do exist are set entirely at the city/county level. Investors should contact Medora City Hall and Billings County directly before purchase.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.tax.nd.gov/sites/www/files/documents/guidelines/business/sales-use/local-taxes-by-location.pdf",
      "countyName": "Billings County",
      "countyFips": "38007",
      "seasonalShare": 0.1643,
      "bigHomeShare": 0.2556,
      "tourismJobShare": 0.1682,
      "amenityScore": 44,
      "dining": 9,
      "attractions": 22,
      "outdoors": 17,
      "lodgingCompetition": 10,
      "pop150": 417988,
      "pop300": 1534305,
      "nearestMetros": [
        {
          "name": "Burleigh County, ND",
          "pop": 98443
        },
        {
          "name": "Ward County, ND",
          "pop": 69532
        },
        {
          "name": "Williams County, ND",
          "pop": 39076
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 5,
      "snowMonths": 1,
      "climate": {
        "highF": [
          32.1,
          26.8,
          40.1,
          50.5,
          64.8,
          78.3,
          84.1,
          83,
          74.1,
          53.6,
          41.5,
          33
        ],
        "lowF": [
          15.3,
          7.6,
          19.6,
          29.6,
          43.2,
          56.2,
          61.7,
          59.8,
          51.5,
          35.4,
          24.1,
          16.4
        ],
        "precipIn": [
          0.6,
          0.6,
          0.5,
          1.8,
          2.9,
          1.6,
          1.7,
          1.5,
          1.9,
          1.6,
          0.6,
          0.8
        ],
        "snowIn": [
          3.3,
          4.2,
          2.8,
          8.4,
          1.2,
          0,
          0,
          0,
          0,
          4.7,
          2.7,
          5
        ],
        "sunHours": [
          5.8,
          7.7,
          8.9,
          9.5,
          10.6,
          13.4,
          13.7,
          12.1,
          10.2,
          7.8,
          7,
          6.3
        ]
      },
      "effectiveTaxRate": 0.00477,
      "taxTopCoded": false,
      "annualTax4br": null,
      "annualTaxTypical": null,
      "lossPer100k": 158,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": null,
      "momentumLabel": null,
      "momentum": {
        "priceYoY": null,
        "listPriceYoY": -0.4166,
        "inventoryYoY": -0.5,
        "domYoY": -0.6817,
        "priceCutShare": 0,
        "priceCutShareYoY": 0,
        "popChange1yr": 0.0181,
        "domesticMigPer1000": 15.21
      },
      "activeListings": 1,
      "medianDom": 46,
      "medianListPrice": 350000,
      "permitsPer1000Units": 10.14,
      "permitsYoY": -0.2857,
      "momentumLowVolume": true,
      "momentumWhy": {
        "priceYoY": null,
        "listPriceYoY": null,
        "inventoryYoY": null,
        "domYoY": null,
        "priceCutShareYoY": null,
        "popChange1yr": 91.4,
        "domesticMigPer1000": 88.6
      },
      "supplyCaution": false,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "No STR-specific ordinance, cap, or owner-occupancy rule was found for Medora; the town appears to rely on general zoning and North Dakota's standard state tax registration, though local rules could not be fully confirmed.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 0.9,
      "riskRating": "Very Low",
      "topHazards": [
        "wildfire",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 3,
          "rating": "Very Low"
        },
        "wildfire": {
          "score": 65.3,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 8.5,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 1.8,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 33,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 44.5,
          "rating": "Relatively Low"
        }
      },
      "regStrictnessSource": null,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": null,
      "opportunityBasis": null,
      "buyerScore": 14,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 0,
        "domYoY": 0,
        "priceCutShareYoY": 57,
        "priceCutShare": 0
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "meredith",
      "city": "Meredith",
      "state": "New Hampshire",
      "stateCode": "NH",
      "lat": 43.6587,
      "lng": -71.5006,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Special Exception from the Zoning Board of Adjustment, plus a town STR license and a Fire Department inspection; pre-1978 buildings also need a Lead Safe Certificate.",
      "tax": "NH state Meals & Rooms Tax, 8.5% of gross rental receipts",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/meredith-nh-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of Meredith (Zoning Board of Adjustment, Planning & Development, Fire Department)",
      "strCap": "120 rental days per year per property (zoning ordinance caps bookings); permitted by special exception in all zoning districts except the Business & Industry District",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.meredithnh.org/193/Short-Term-Rentals",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Belknap County",
      "countyFips": "33001",
      "seasonalShare": 0.2851,
      "bigHomeShare": 0.1626,
      "tourismJobShare": 0.1043,
      "amenityScore": 67,
      "dining": 57,
      "attractions": 32,
      "outdoors": 230,
      "lodgingCompetition": 28,
      "pop150": 13001255,
      "pop300": 42331334,
      "nearestMetros": [
        {
          "name": "Middlesex County, MA",
          "pop": 1623109
        },
        {
          "name": "Capitol Planning Region, CT",
          "pop": 977165
        },
        {
          "name": "Worcester County, MA",
          "pop": 858898
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 4,
      "climate": {
        "highF": [
          30.3,
          31.7,
          41,
          52,
          65.2,
          74.6,
          80.1,
          77.8,
          70.1,
          59,
          45.4,
          37
        ],
        "lowF": [
          14.7,
          14.7,
          23.2,
          34.2,
          44.2,
          55,
          62.8,
          61.6,
          54.3,
          45.2,
          31.5,
          24.8
        ],
        "precipIn": [
          3.6,
          2.9,
          2.8,
          4.6,
          3,
          4.1,
          5.3,
          3.7,
          3.8,
          4.8,
          3.3,
          4.9
        ],
        "snowIn": [
          15.6,
          13.6,
          9,
          2.9,
          0.4,
          0,
          0,
          0,
          0,
          0.1,
          3,
          12.4
        ],
        "sunHours": [
          5.4,
          6.4,
          8.3,
          7.9,
          10.6,
          10.8,
          11.1,
          10.9,
          9.2,
          6.6,
          6.6,
          5
        ]
      },
      "effectiveTaxRate": 0.01591,
      "taxTopCoded": false,
      "annualTax4br": 11289,
      "annualTaxTypical": 8164,
      "lossPer100k": 124,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 37,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.03,
        "listPriceYoY": -0.0819,
        "inventoryYoY": 0.0378,
        "domYoY": 0.1792,
        "priceCutShare": 0.2219,
        "priceCutShareYoY": 0.0263,
        "popChange1yr": -0.0003,
        "domesticMigPer1000": 6.37
      },
      "activeListings": 357,
      "medianDom": 63,
      "medianListPrice": 639950,
      "permitsPer1000Units": 10.99,
      "permitsYoY": 0.5,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 76.1,
        "listPriceYoY": 6.4,
        "inventoryYoY": 50.9,
        "domYoY": 8.7,
        "priceCutShareYoY": 11.3,
        "popChange1yr": 30.3,
        "domesticMigPer1000": 77.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 57.4,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hurricane",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": 78.4,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 70.3,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 25.3,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 31.4,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 59.8,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 75.3,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 15.6,
          "rating": "Very Low"
        }
      },
      "homeValue": 513108,
      "homeValue4br": 709566,
      "homeValueYoY": 0.03,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 34,
      "opportunityBasis": "partial",
      "buyerScore": 73,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 49,
        "domYoY": 91,
        "priceCutShareYoY": 89,
        "priceCutShare": 63
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "michigan-city",
      "city": "Michigan City",
      "state": "Indiana",
      "stateCode": "IN",
      "lat": 41.7075,
      "lng": -86.8952,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-term rental permit through the city planning department; permit placard must be displayed on the exterior of the property. City officials describe roughly 90% of the ordinance as mirroring Indiana state STR law.",
      "tax": "7% Indiana state sales tax + LaPorte County Innkeeper's Tax (rate not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/michigan-city-in-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Michigan City (LaPorte County)",
      "permitFee": "$150 permit, no renewal fee for subsequent years.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.nwitimes.com/news/local/laporte/michigan-city/michigan-city-weighs-permits-for-short-term-rentals/article_c658a1f9-6dd6-58c7-95ad-9587338b208e.html",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "LaPorte County",
      "countyFips": "18091",
      "seasonalShare": 0.0483,
      "bigHomeShare": 0.1833,
      "tourismJobShare": 0.1002,
      "amenityScore": 66,
      "dining": 70,
      "attractions": 35,
      "outdoors": 141,
      "lodgingCompetition": 20,
      "pop150": 20606973,
      "pop300": 51123126,
      "nearestMetros": [
        {
          "name": "Cook County, IL",
          "pop": 5225367
        },
        {
          "name": "Marion County, IN",
          "pop": 971737
        },
        {
          "name": "Milwaukee County, WI",
          "pop": 933063
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 2,
      "climate": {
        "highF": [
          33.8,
          35.3,
          46.4,
          55.7,
          66.5,
          77.2,
          80.3,
          79.5,
          74.4,
          60.9,
          48.4,
          41.2
        ],
        "lowF": [
          23.2,
          22.2,
          31.4,
          39.5,
          50.3,
          61,
          66.7,
          65.5,
          60.7,
          48.9,
          36.4,
          30.4
        ],
        "precipIn": [
          2.9,
          3,
          3.7,
          4.1,
          5,
          4.2,
          5.2,
          3.8,
          3.8,
          5.7,
          2.2,
          2.7
        ],
        "snowIn": [
          11.1,
          8.4,
          4.6,
          3.3,
          0.1,
          0,
          0,
          0,
          0,
          0.7,
          4,
          3.5
        ],
        "sunHours": [
          3.9,
          5.7,
          7.2,
          8.6,
          9.7,
          11.7,
          11.9,
          11.7,
          9.6,
          7,
          6,
          4.4
        ]
      },
      "effectiveTaxRate": 0.0083,
      "taxTopCoded": false,
      "annualTax4br": 2924,
      "annualTaxTypical": 2184,
      "lossPer100k": 75,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 51,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.043,
        "listPriceYoY": -0.0003,
        "inventoryYoY": 0.0505,
        "domYoY": 0.2128,
        "priceCutShare": 0.2025,
        "priceCutShareYoY": -0.0113,
        "popChange1yr": -0.0005,
        "domesticMigPer1000": 1.93
      },
      "activeListings": 291,
      "medianDom": 57,
      "medianListPrice": 319900,
      "permitsPer1000Units": 5.85,
      "permitsYoY": -0.0169,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 87.9,
        "listPriceYoY": 70.2,
        "inventoryYoY": 46.8,
        "domYoY": 4.6,
        "priceCutShareYoY": 63,
        "popChange1yr": 29.4,
        "domesticMigPer1000": 56.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Indiana's 2026 HEA 1210 further bars any future numeric rental-cap ordinance in Michigan City, reinforcing the currently permissive environment.",
      "regDirectionReviewed": false,
      "driverCount": 11,
      "emergingDriverCount": 1,
      "eventMonths": [
        7,
        8,
        9
      ],
      "riskScore": 78.9,
      "riskRating": "Relatively Low",
      "topHazards": [
        "tornado",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 27,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": 29,
          "rating": "Very Low"
        },
        "riverFlood": {
          "score": 74.6,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 35.2,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 92.6,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 70,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 77.3,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 83.7,
          "rating": "Relatively Moderate"
        }
      },
      "homeValue": 263156,
      "homeValue4br": 352285,
      "homeValueYoY": 0.043,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 47,
      "opportunityBasis": "partial",
      "buyerScore": 60,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 53,
        "domYoY": 95,
        "priceCutShareYoY": 37,
        "priceCutShare": 53
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "minneapolis",
      "city": "Minneapolis",
      "state": "Minnesota",
      "stateCode": "MN",
      "lat": 44.9778,
      "lng": -93.265,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Owner-occupied homes need a Short-Term Rental registration; non-owner-occupied properties need a full Rental License (STR Packet available from the city).",
      "tax": "6.875% Minnesota state sales tax + Minneapolis local lodging/entertainment taxes (rate not confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/minneapolis-mn-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Minneapolis",
      "permitFee": "Roughly $46-50/year for a homesteaded (owner-occupied) STR registration; non-homesteaded STR fees range roughly $70-175/year depending on tier; standard rental license fees are tiered by building size (e.g., a 1-3 unit Tier 1 building runs roughly $98 plus about $41/unit).",
      "ownerOccupancy": "Not required to operate an STR in Minneapolis, but owner-occupied (homesteaded) properties get a lighter/cheaper registration than non-owner-occupied rental-licensed properties.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www2.minneapolismn.gov/business-services/licenses-permits-inspections/rental-licenses/fees",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Hennepin County",
      "countyFips": "27053",
      "seasonalShare": 0.0074,
      "bigHomeShare": 0.2606,
      "tourismJobShare": 0.0779,
      "amenityScore": 100,
      "dining": 1800,
      "attractions": 205,
      "outdoors": 1437,
      "lodgingCompetition": 167,
      "pop150": 6081859,
      "pop300": 15981443,
      "nearestMetros": [
        {
          "name": "Hennepin County, MN",
          "pop": 1270787
        },
        {
          "name": "Ramsey County, MN",
          "pop": 547202
        },
        {
          "name": "Dakota County, MN",
          "pop": 439179
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 4,
      "climate": {
        "highF": [
          23.8,
          23.9,
          41.4,
          53.1,
          68.1,
          82.4,
          84.2,
          81.6,
          74.3,
          56.7,
          42.4,
          31.1
        ],
        "lowF": [
          6.5,
          3.4,
          22,
          33.2,
          47.2,
          60.7,
          63.7,
          62.2,
          55.6,
          40.9,
          26.8,
          14.8
        ],
        "precipIn": [
          1.2,
          1.6,
          2.6,
          3.6,
          5,
          3.2,
          4,
          4.5,
          3.3,
          3.6,
          2,
          2.1
        ],
        "snowIn": [
          7.6,
          8.9,
          6.1,
          5.7,
          0,
          0,
          0,
          0,
          0,
          2.1,
          5.2,
          7.8
        ],
        "sunHours": [
          5.4,
          7.4,
          7.9,
          8.2,
          10.4,
          12.9,
          12.9,
          11.5,
          9.6,
          7.4,
          6,
          5.1
        ]
      },
      "effectiveTaxRate": 0.01157,
      "taxTopCoded": false,
      "annualTax4br": 6012,
      "annualTaxTypical": 4490,
      "lossPer100k": 90,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 36,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.015,
        "listPriceYoY": -0.0471,
        "inventoryYoY": 0.3453,
        "domYoY": -0.0127,
        "priceCutShare": 0.1963,
        "priceCutShareYoY": 0.0358,
        "popChange1yr": 0.006,
        "domesticMigPer1000": -0.55
      },
      "activeListings": 3787,
      "medianDom": 39,
      "medianListPrice": 405000,
      "permitsPer1000Units": 6.27,
      "permitsYoY": -0.1092,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 62.4,
        "listPriceYoY": 30.6,
        "inventoryYoY": 1.7,
        "domYoY": 54.6,
        "priceCutShareYoY": 5.8,
        "popChange1yr": 56.6,
        "domesticMigPer1000": 38.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Minneapolis allows short-term rentals citywide as of 2026, splitting operators into two tracks: a lighter Short-Term Rental registration for owner-occupied (homesteaded) properties, and a full Rental License for non-owner-occupied investment properties.",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [
        8,
        9
      ],
      "riskScore": 98.3,
      "riskRating": "Relatively High",
      "topHazards": [
        "tornado",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 98,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 74.9,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 99.6,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 49.8,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 97.4,
          "rating": "Very High"
        },
        "hail": {
          "score": 99.6,
          "rating": "Very High"
        }
      },
      "homeValue": 388061,
      "homeValue4br": 519585,
      "homeValueYoY": 0.015,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 54,
      "opportunityBasis": "partial",
      "buyerScore": 72,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 98,
        "domYoY": 46,
        "priceCutShareYoY": 94,
        "priceCutShare": 48
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "moab",
      "city": "Moab",
      "state": "Utah",
      "stateCode": "UT",
      "lat": 38.5738,
      "lng": -109.5462,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/moab-ut-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "prohibits residential short-term rentals in nearly all zones, including A-2, C-1, C-3, C-5, R-2, R-3, R-4, and RA-1.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/moab-ut-airbnb-regulations",
      "countyName": "Grand County",
      "countyFips": "49019",
      "seasonalShare": 0.0829,
      "bigHomeShare": 0.1757,
      "tourismJobShare": 0.2559,
      "amenityScore": 72,
      "dining": 58,
      "attractions": 149,
      "outdoors": 98,
      "lodgingCompetition": 55,
      "pop150": 636744,
      "pop300": 10369482,
      "nearestMetros": [
        {
          "name": "Mesa County, CO",
          "pop": 156131
        },
        {
          "name": "Garfield County, CO",
          "pop": 61683
        },
        {
          "name": "La Plata County, CO",
          "pop": 55983
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 4,
      "snowMonths": 0,
      "climate": {
        "highF": [
          39.8,
          45.2,
          56.3,
          69.2,
          79.2,
          90.6,
          97.8,
          95.5,
          86.4,
          68,
          53.4,
          41.4
        ],
        "lowF": [
          23.5,
          25.9,
          35.3,
          43.9,
          54.6,
          64.7,
          72.9,
          70.3,
          60.8,
          44.1,
          33.1,
          25.5
        ],
        "precipIn": [
          0.7,
          0.9,
          1.8,
          0.4,
          0.3,
          0.2,
          0.1,
          0.2,
          0.5,
          0.9,
          0.8,
          1
        ],
        "snowIn": [
          3.2,
          3.6,
          2.6,
          0.4,
          0,
          0,
          0,
          0,
          0,
          1,
          1,
          2.6
        ],
        "sunHours": [
          8.1,
          9.1,
          9.8,
          11.6,
          12.9,
          13.9,
          13.5,
          12.6,
          11.5,
          10.4,
          9.1,
          7.6
        ]
      },
      "effectiveTaxRate": 0.00399,
      "taxTopCoded": false,
      "annualTax4br": 2602,
      "annualTaxTypical": 2287,
      "lossPer100k": 118,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 43,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.016,
        "listPriceYoY": 0.0384,
        "inventoryYoY": 0.0313,
        "domYoY": 0.8125,
        "priceCutShare": 0.1818,
        "priceCutShareYoY": 0.0722,
        "popChange1yr": 0.0093,
        "domesticMigPer1000": 4.54
      },
      "activeListings": 132,
      "medianDom": 145,
      "medianListPrice": 649000,
      "permitsPer1000Units": 23.63,
      "permitsYoY": -0.479,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 14.7,
        "listPriceYoY": 86.1,
        "inventoryYoY": 53.5,
        "domYoY": 0,
        "priceCutShareYoY": 0,
        "popChange1yr": 80.3,
        "domesticMigPer1000": 69.1
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "ban",
      "regChangeYear": 2024,
      "regChangePending": false,
      "regDirectionEvidence": "the city adopted Municipal Code 17.09.700 (amended by Ordinance 2024-03 in June 2024), which prohibits residential short-term rentals across nearly every residential and commercial zone.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 10.3,
      "riskRating": "Very Low",
      "topHazards": [
        "wildfire",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 25.4,
          "rating": "Very Low"
        },
        "wildfire": {
          "score": 58.6,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 5,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 32.7,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 25.8,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 2.5,
          "rating": "Very Low"
        }
      },
      "homeValue": 573269,
      "homeValue4br": 652207,
      "homeValueYoY": -0.016,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 45,
      "opportunityBasis": "partial",
      "buyerScore": 71,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 47,
        "domYoY": 100,
        "priceCutShareYoY": 100,
        "priceCutShare": 38
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "narragansett",
      "city": "Narragansett",
      "state": "Rhode Island",
      "stateCode": "RI",
      "lat": 41.4293,
      "lng": -71.4595,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Town short-term & regular rental registration/permit; requires building & fire code inspection, and minimum square footage and parking.",
      "tax": "State lodging tax, combined 14% from 1/1/2026 (no separate municipal rooms tax identified)",
      "zoning": null,
      "minStay": "Ordinance requires a 7-consecutive-night minimum — currently enjoined/not enforced pending litigation",
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/narragansett-ri-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of Narragansett Council, plus RI DBR state registration",
      "strCap": "Ordinance sets 1,100 permits (2024) declining to 1,000 (Sept 2025) and 900 (Sept 2026) — currently NOT enforced due to a preliminary injunction (Narragansett 2100 v. Town, filed July 2024, TRO/injunction granted Oct 2024)",
      "statusNote": "A Superior Court preliminary injunction (granted Oct 2024) remains in effect blocking enforcement of the permit cap and 7-night minimum; the underlying home-rule lawsuit is still active. The cap/minimum-stay rules are law-on-the-books but not currently enforced — verify current enforcement status before relying on either scenario.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://thepublicsradio.org/housing/narragansett-approves-short-term-rental-restrictions-affordable-housing-bond/",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Washington County",
      "countyFips": "44009",
      "seasonalShare": 0.1671,
      "bigHomeShare": 0.21,
      "tourismJobShare": 0.1068,
      "amenityScore": 75,
      "dining": 142,
      "attractions": 59,
      "outdoors": 232,
      "lodgingCompetition": 44,
      "pop150": 28436212,
      "pop300": 51115725,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 1,
      "climate": {
        "highF": [
          40.2,
          41,
          46.8,
          54.3,
          63.3,
          71.9,
          79.3,
          78.5,
          72.1,
          63.3,
          52.8,
          44.8
        ],
        "lowF": [
          26.9,
          27.5,
          32.4,
          40.8,
          49.3,
          59.2,
          67.6,
          67.1,
          60.8,
          51.7,
          39.1,
          32.8
        ],
        "precipIn": [
          4.4,
          4.3,
          4.1,
          5.1,
          4.7,
          3.9,
          3.9,
          3.8,
          5,
          6,
          3.5,
          6.4
        ],
        "snowIn": [
          5.4,
          7.4,
          3.3,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0.3,
          0.1,
          4
        ],
        "sunHours": [
          6,
          6.4,
          8.5,
          8.6,
          10.4,
          11.2,
          11.4,
          10.9,
          9.4,
          7.4,
          7,
          5.6
        ]
      },
      "effectiveTaxRate": 0.01104,
      "taxTopCoded": false,
      "annualTax4br": 10198,
      "annualTaxTypical": 7616,
      "lossPer100k": 87,
      "lodgingTaxPct": 14,
      "lodgingTaxBasis": "stated-total",
      "momentumScore": 62,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.058,
        "listPriceYoY": 0.0383,
        "inventoryYoY": 0.0118,
        "domYoY": -0.1489,
        "priceCutShare": 0.119,
        "priceCutShareYoY": 0.0182,
        "popChange1yr": -0.0013,
        "domesticMigPer1000": 1.46
      },
      "activeListings": 344,
      "medianDom": 40,
      "medianListPrice": 975000,
      "permitsPer1000Units": 3.88,
      "permitsYoY": -0.1472,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 94.3,
        "listPriceYoY": 85.3,
        "inventoryYoY": 58.1,
        "domYoY": 96.2,
        "priceCutShareYoY": 18.8,
        "popChange1yr": 24.6,
        "domesticMigPer1000": 54.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 12,
      "emergingDriverCount": 1,
      "eventMonths": [
        7,
        8
      ],
      "riskScore": 64,
      "riskRating": "Relatively Low",
      "topHazards": [
        "hurricane",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 82.2,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": 76.2,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 75.4,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 23.1,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 29.4,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 67.3,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 42.2,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 2.8,
          "rating": "Very Low"
        }
      },
      "homeValue": 689899,
      "homeValue4br": 923743,
      "homeValueYoY": 0.058,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 41,
      "opportunityBasis": "partial",
      "buyerScore": 34,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 42,
        "domYoY": 5,
        "priceCutShareYoY": 81,
        "priceCutShare": 7
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "nashville-in",
      "city": "Nashville",
      "state": "Indiana",
      "stateCode": "IN",
      "lat": 39.2028,
      "lng": -86.2502,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Special Exception approval from the Brown County Board of Zoning Appeals, applied for through the Planning Department; in the Town of Nashville, eligibility instead depends on the property's town zoning district.",
      "tax": "7% Indiana state sales tax + Brown County Innkeeper's Tax (rate not confirmed — verify with the county).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/nashville-in-in-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Brown County Planning Department & Board of Zoning Appeals governs unincorporated county (where most vacation cabins sit); the Town of Nashville has its own separate zoning for in-town properties.",
      "strCap": "No numeric citywide cap identified, but county rule requires short-term rentals to be at least 250 feet from the nearest residence and at least 1,320 feet from the nearest other short-term rental, limiting achievable density in popular cabin areas.",
      "ownerOccupancy": "Not required for the standard Special Exception STR; a separate 'Home Stay' category exists for an owner-occupied residence renting up to two guest rooms.",
      "statusNote": "Indiana's HEA 1210 (effective July 1, 2026) bars new local rental-count caps, but Brown County's spacing/distance rule is a discretionary zoning-approval condition rather than a stated numeric cap, so its status under HEA 1210 is unclear — VERIFY how the two interact before relying on the distance rule remaining in force.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.browncounty-in.gov/184/Planning-Department",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Brown County",
      "countyFips": "18013",
      "seasonalShare": 0.1724,
      "bigHomeShare": 0.1308,
      "tourismJobShare": 0.0909,
      "amenityScore": 46,
      "dining": 11,
      "attractions": 14,
      "outdoors": 40,
      "lodgingCompetition": 13,
      "pop150": 12145429,
      "pop300": 54916548,
      "nearestMetros": [
        {
          "name": "Marion County, IN",
          "pop": 971737
        },
        {
          "name": "Hamilton County, OH",
          "pop": 827671
        },
        {
          "name": "Jefferson County, KY",
          "pop": 779232
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          40.1,
          44,
          54.5,
          63.2,
          73.1,
          82.5,
          86.3,
          84.2,
          80.2,
          67,
          52.9,
          46.7
        ],
        "lowF": [
          25.7,
          25.6,
          34.8,
          42.9,
          53.7,
          63.3,
          68.1,
          65.9,
          60.6,
          49.2,
          35.7,
          30.8
        ],
        "precipIn": [
          3.8,
          4.1,
          5.5,
          3.7,
          4.5,
          3.5,
          4.8,
          2.9,
          1.8,
          3.7,
          2.3,
          3.2
        ],
        "snowIn": [
          4.7,
          5.5,
          1,
          0.5,
          0,
          0,
          0,
          0,
          0,
          0.1,
          1.1,
          1.5
        ],
        "sunHours": [
          5.1,
          6.1,
          7.3,
          8.8,
          9.9,
          11.3,
          11.9,
          11.5,
          10.5,
          7.9,
          7.1,
          5.4
        ]
      },
      "effectiveTaxRate": 0.00508,
      "taxTopCoded": false,
      "annualTax4br": 2439,
      "annualTaxTypical": 1840,
      "lossPer100k": 153,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 66,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.028,
        "listPriceYoY": -0.0264,
        "inventoryYoY": 0.0506,
        "domYoY": 0.0962,
        "priceCutShare": 0.2254,
        "priceCutShareYoY": -0.0621,
        "popChange1yr": 0.01,
        "domesticMigPer1000": 15.94
      },
      "activeListings": 83,
      "medianDom": 57,
      "medianListPrice": 460000,
      "permitsPer1000Units": 6.95,
      "permitsYoY": -0.2237,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 73,
        "listPriceYoY": 53.2,
        "inventoryYoY": 46.2,
        "domYoY": 16.2,
        "priceCutShareYoY": 97.1,
        "popChange1yr": 84,
        "domesticMigPer1000": 89.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 5,
      "emergingDriverCount": 0,
      "eventMonths": [
        5,
        7
      ],
      "riskScore": 19.7,
      "riskRating": "Very Low",
      "topHazards": [
        "tornado",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 7.1,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 38,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 8.3,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 51.1,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 42.5,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 38.9,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 22.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 362218,
      "homeValue4br": 480089,
      "homeValueYoY": 0.028,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 24,
      "opportunityBasis": "partial",
      "buyerScore": 52,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 54,
        "domYoY": 84,
        "priceCutShareYoY": 3,
        "priceCutShare": 65
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "newport",
      "city": "Newport",
      "state": "Rhode Island",
      "stateCode": "RI",
      "lat": 41.4901,
      "lng": -71.3128,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 5,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Certificate of Transient Guest House Facility, reviewed by the Zoning, Building, Collections and Fire departments; non-transferable and tied to the specific property.",
      "tax": "State lodging tax (combined 14% state+local from 1/1/2026) plus Newport's own 6% municipal rooms tax",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "Owner-occupied residential exception limited to 2 bedrooms / 4 guests; properties hosting 6-16 guests require fire alarm/sprinkler systems",
      "penalties": "Unregistered operation can lead to civil fines and court action per the city",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/newport-ri-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Newport (Zoning, Building, Collections & Fire departments), plus RI DBR state registration",
      "permitFee": "$15 filing fee; then $500/yr (home-occupation use) or $1,000/yr per unit (non-home-occupation use)",
      "strCap": "No numeric cap, but effectively banned in all residential zones (R3–R160); allowed by right only in GB/WB/CI zones, conditional Special Use Permit in the Limited Business zone",
      "ownerOccupancy": "Required for the residential-zone exception (owner must reside in the unit for the full rental period while renting up to 2 rooms/4 guests); not required in commercial zones",
      "transfersOnSale": "No — the certificate is explicitly non-transferable and void on change of ownership",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.newportri.gov/city-hall/departments/zoning-inspections/zoning-(1)/short-term-rental-regulations",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Newport County",
      "countyFips": "44005",
      "seasonalShare": 0.1002,
      "bigHomeShare": 0.1954,
      "tourismJobShare": 0.1271,
      "amenityScore": 76,
      "dining": 150,
      "attractions": 55,
      "outdoors": 285,
      "lodgingCompetition": 64,
      "pop150": 27140793,
      "pop300": 50525653,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 1,
      "climate": {
        "highF": [
          39.7,
          40.4,
          46.3,
          54.1,
          63,
          71.4,
          78.2,
          77.8,
          71.7,
          62.9,
          52.6,
          44.4
        ],
        "lowF": [
          27.2,
          27.6,
          33.1,
          42.1,
          50.6,
          60.8,
          69.4,
          68.8,
          62.3,
          53.4,
          40.5,
          33.7
        ],
        "precipIn": [
          4.3,
          4.2,
          3.9,
          4.8,
          4.8,
          3.9,
          3.7,
          3.5,
          4.7,
          6,
          3.3,
          6
        ],
        "snowIn": [
          5.8,
          7.6,
          3.3,
          0,
          0,
          0,
          0,
          0,
          0,
          0.3,
          0.1,
          4.2
        ],
        "sunHours": [
          6,
          6.3,
          8.5,
          8.7,
          10.4,
          11.2,
          11.4,
          10.8,
          9.4,
          7.4,
          7,
          5.6
        ]
      },
      "effectiveTaxRate": 0.01035,
      "taxTopCoded": false,
      "annualTax4br": 11540,
      "annualTaxTypical": 8187,
      "lossPer100k": 58,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 34,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.057,
        "listPriceYoY": -0.165,
        "inventoryYoY": 0.1125,
        "domYoY": 0.0084,
        "priceCutShare": 0.1195,
        "priceCutShareYoY": 0.0145,
        "popChange1yr": -0.0037,
        "domesticMigPer1000": -2.83
      },
      "activeListings": 267,
      "medianDom": 60,
      "medianListPrice": 989450,
      "permitsPer1000Units": 3.02,
      "permitsYoY": -0.2722,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 92.8,
        "listPriceYoY": 0,
        "inventoryYoY": 28.3,
        "domYoY": 45.7,
        "priceCutShareYoY": 25.1,
        "popChange1yr": 13.1,
        "domesticMigPer1000": 30.3
      },
      "supplyCaution": false,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "tax",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Effective 1/1/2026, the local hotel tax doubles to 2% and a new 5% tax on whole-home STRs is added, bringing both room and whole-home rentals to a combined 14% state+local lodging tax.",
      "regDirectionReviewed": false,
      "driverCount": 13,
      "emergingDriverCount": 1,
      "eventMonths": [
        7,
        8
      ],
      "riskScore": 36.4,
      "riskRating": "Very Low",
      "topHazards": [
        "hurricane",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 80.2,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": 61.4,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 53,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 13.7,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 17,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 57.3,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 32.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 2,
          "rating": "Very Low"
        }
      },
      "homeValue": 790998,
      "homeValue4br": 1114957,
      "homeValueYoY": 0.057,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 37,
      "opportunityBasis": "partial",
      "buyerScore": 53,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 72,
        "domYoY": 55,
        "priceCutShareYoY": 75,
        "priceCutShare": 8
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "north-conway",
      "city": "North Conway",
      "state": "New Hampshire",
      "stateCode": "NH",
      "lat": 44.0537,
      "lng": -71.1284,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental Permit — annual registration with proof of insurance and a fire department safety inspection (smoke/CO detectors, egress, occupancy per square footage).",
      "tax": "NH state Meals & Rooms Tax, 8.5% of gross rental receipts (no state or local sales tax in NH)",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "Based on square footage/egress per fire inspection; no fixed number found",
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/north-conway-nh-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of Conway (North Conway is its main village)",
      "strCap": "None found — Town of Conway v. Kudrick (NH Supreme Court, May 2023) held STRs are permitted by right under the town's residential zoning definition",
      "ownerOccupancy": "Not required",
      "statusNote": "Following the 2023 NH Supreme Court ruling, pending (not yet passed) state bills SB104/HB109 would further limit municipal STR restrictions statewide — worth monitoring for 2026-2027 changes.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.nhmunicipal.org/court-update/under-definitions-provided-conway-zoning-ordinance-short-term-rentals-are-allowed",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Carroll County",
      "countyFips": "33003",
      "seasonalShare": 0.4197,
      "bigHomeShare": 0.1967,
      "tourismJobShare": 0.1137,
      "amenityScore": 72,
      "dining": 68,
      "attractions": 47,
      "outdoors": 808,
      "lodgingCompetition": 58,
      "pop150": 8916737,
      "pop300": 37530593,
      "nearestMetros": [
        {
          "name": "Middlesex County, MA",
          "pop": 1623109
        },
        {
          "name": "Worcester County, MA",
          "pop": 858898
        },
        {
          "name": "Essex County, MA",
          "pop": 806103
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 4,
      "climate": {
        "highF": [
          30.1,
          31.6,
          41.1,
          52.3,
          65.7,
          75,
          80.5,
          78.2,
          70.8,
          59.1,
          45.2,
          36.5
        ],
        "lowF": [
          11.3,
          11.1,
          19.9,
          32.1,
          42.5,
          52.6,
          59.3,
          57.5,
          50.3,
          41.5,
          28.1,
          21.1
        ],
        "precipIn": [
          4,
          3.5,
          2.8,
          5.4,
          3.5,
          4.7,
          5.1,
          3.8,
          3.6,
          5.7,
          3.8,
          5.5
        ],
        "snowIn": [
          19.5,
          17.9,
          9.6,
          5.4,
          0.3,
          0,
          0,
          0,
          0,
          0.1,
          4.5,
          14.2
        ],
        "sunHours": [
          5.5,
          6.5,
          8.4,
          7.9,
          10.6,
          10.8,
          11.2,
          11,
          9.4,
          6.7,
          6.6,
          5
        ]
      },
      "effectiveTaxRate": 0.01163,
      "taxTopCoded": false,
      "annualTax4br": 8702,
      "annualTaxTypical": 5898,
      "lossPer100k": 167,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 64,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.04,
        "listPriceYoY": 0.0726,
        "inventoryYoY": 0.0829,
        "domYoY": 0.1961,
        "priceCutShare": 0.1835,
        "priceCutShareYoY": -0.0245,
        "popChange1yr": 0.0041,
        "domesticMigPer1000": 10.6
      },
      "activeListings": 405,
      "medianDom": 61,
      "medianListPrice": 642500,
      "permitsPer1000Units": 12.66,
      "permitsYoY": 0.4225,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 86.5,
        "listPriceYoY": 94.2,
        "inventoryYoY": 36.4,
        "domYoY": 7.5,
        "priceCutShareYoY": 86.7,
        "popChange1yr": 52.3,
        "domesticMigPer1000": 85.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 6,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 71,
      "riskRating": "Relatively Low",
      "topHazards": [
        "winterWeather",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 86.4,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 82,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 33.6,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 18.9,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 62.8,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 89.8,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 11.6,
          "rating": "Very Low"
        }
      },
      "homeValue": 507168,
      "homeValue4br": 748216,
      "homeValueYoY": 0.04,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 53,
      "opportunityBasis": "partial",
      "buyerScore": 52,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 64,
        "domYoY": 92,
        "priceCutShareYoY": 13,
        "priceCutShare": 39
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "ocean-city-nj",
      "city": "Ocean City",
      "state": "New Jersey",
      "stateCode": "NJ",
      "lat": 39.2776,
      "lng": -74.5746,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Mercantile License / Rental Registration, filed with the City Clerk/Licensing Office, valid June 1–May 31, annual renewal; owner must carry at least $500,000 liability insurance naming the City as certificate holder.",
      "tax": "NJ Sales Tax 6.625% + State Occupancy Fee 5%, plus Ocean City's municipal tourism assessment folded into the mercantile fee structure.",
      "zoning": null,
      "minStay": "5 consecutive nights minimum for STRs in R-1 and MH zones for the 2025 and 2026 rental seasons, rising to a 31-night minimum starting January 1, 2027, which effectively bans sub-monthly STR there.",
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/ocean-city-nj-nj-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Ocean City, NJ (Municipal Code Vol. I §5-1, Mercantile Licensing)",
      "permitFee": "$175 total for a single/duplex unit not owner-occupied and rented under 175 days ($30 mercantile fee + $145 municipal tourism assessment); 3-5 unit buildings pay $125 + $300; each additional unit adds $10; a $25 late fee applies after June 1.",
      "strCap": "New STR license issuance has been frozen in R-1 (single-family) and MH (mobile home) zones since January 28, 2025, extended through January 3, 2027 (a July 22, 2025 repeal referendum narrowly failed); existing 2024 R-1/MH license holders may still renew.",
      "statusNote": "Actively contested and time-critical: the R-1/MH moratorium and minimum-stay rules were narrowly upheld via a July 2025 referendum. A 31-night minimum takes effect January 1, 2027, effectively ending short-stay STRs in R-1/MH zones. Verify current zone-by-zone status before buying.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.ocnj.us/mercantile-licensing-frequently-asked-questions",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Cape May County",
      "countyFips": "34009",
      "seasonalShare": 0.5005,
      "bigHomeShare": 0.3146,
      "tourismJobShare": 0.1466,
      "amenityScore": 72,
      "dining": 268,
      "attractions": 34,
      "outdoors": 147,
      "lodgingCompetition": 61,
      "pop150": 37261908,
      "pop300": 66218393,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          44.2,
          46.2,
          52.2,
          60.7,
          68,
          78.2,
          84.4,
          82,
          77,
          67.7,
          56.2,
          48.9
        ],
        "lowF": [
          30.9,
          32.9,
          38,
          46.1,
          54.6,
          64.8,
          72.5,
          71.2,
          64.9,
          55.4,
          42.1,
          36.1
        ],
        "precipIn": [
          3.3,
          4.2,
          4,
          4.3,
          3.8,
          3.1,
          4,
          4.2,
          4.3,
          4.7,
          2.9,
          5.3
        ],
        "snowIn": [
          5,
          3.2,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          0.3
        ],
        "sunHours": [
          6.3,
          6.7,
          8.3,
          9.4,
          10.7,
          11.8,
          12.3,
          10.7,
          10,
          7.9,
          7.9,
          6
        ]
      },
      "effectiveTaxRate": 0.01362,
      "taxTopCoded": false,
      "annualTax4br": 16825,
      "annualTaxTypical": 10981,
      "lossPer100k": 222,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 58,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.093,
        "listPriceYoY": 0.0578,
        "inventoryYoY": -0.0235,
        "domYoY": 0.0156,
        "priceCutShare": 0.1134,
        "priceCutShareYoY": -0.0109,
        "popChange1yr": -0.0075,
        "domesticMigPer1000": -1.29
      },
      "activeListings": 874,
      "medianDom": 65,
      "medianListPrice": 899000,
      "permitsPer1000Units": 8.58,
      "permitsYoY": -0.0458,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 99.1,
        "listPriceYoY": 91.6,
        "inventoryYoY": 67.9,
        "domYoY": 42.8,
        "priceCutShareYoY": 61.8,
        "popChange1yr": 6,
        "domesticMigPer1000": 35.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "zoning",
      "regChangeYear": 2027,
      "regChangePending": true,
      "regDirectionEvidence": "A 31-night minimum takes effect January 1, 2027, effectively ending short-stay STRs in R-1/MH zones.",
      "regDirectionReviewed": false,
      "driverCount": 5,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 91,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "coastalFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 93.1,
          "rating": "Relatively Moderate"
        },
        "coastalFlood": {
          "score": 99.4,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 89.7,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 86.4,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 38.3,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 73.9,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 88.6,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 4.2,
          "rating": "Very Low"
        }
      },
      "homeValue": 806250,
      "homeValue4br": 1235330,
      "homeValueYoY": 0.093,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 48,
      "opportunityBasis": "partial",
      "buyerScore": 33,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 33,
        "domYoY": 57,
        "priceCutShareYoY": 38,
        "priceCutShare": 5
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "okoboji",
      "city": "Okoboji",
      "state": "Iowa",
      "stateCode": "IA",
      "lat": 43.3878,
      "lng": -95.1397,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "No STR-specific permit required in most Iowa Great Lakes towns due to state preemption (Iowa Code 414.1); standard zoning/building compliance applies. Confirm the exact town, since rules are not uniform across the lakes region.",
      "tax": "5% Iowa state hotel/motel tax + local hotel/motel tax (up to roughly 7%, varies by town; Okoboji itself imposes a 5% local tax) + state sales tax.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/okoboji-ia-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Multiple small municipalities (City of Okoboji, City of West Okoboji, Arnolds Park, Spirit Lake, Milford, Wahpeton) plus unincorporated Dickinson County, each with separate zoning — governed overall by Iowa's Code 414.1 state preemption.",
      "statusNote": "Arnolds Park's residential zoning ordinance reportedly prohibits rental of residential property for stays under 30 consecutive days — a notable exception to the generally STR-permissive Iowa Great Lakes region. Verify current rules for the specific city/township before purchase, since Iowa Code 414.1 sets a floor, not a ceiling, on what individual towns can still restrict via generally-applicable zoning.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.legis.iowa.gov/docs/code/414.1.pdf",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Dickinson County",
      "countyFips": "19059",
      "seasonalShare": 0.3508,
      "bigHomeShare": 0.2873,
      "tourismJobShare": 0.0712,
      "amenityScore": 58,
      "dining": 54,
      "attractions": 8,
      "outdoors": 168,
      "lodgingCompetition": 14,
      "pop150": 5208144,
      "pop300": 14951021,
      "nearestMetros": [
        {
          "name": "Hennepin County, MN",
          "pop": 1270787
        },
        {
          "name": "Polk County, IA",
          "pop": 493378
        },
        {
          "name": "Dakota County, MN",
          "pop": 439179
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 5,
      "snowMonths": 2,
      "climate": {
        "highF": [
          25.6,
          24.7,
          42.5,
          55.2,
          67.9,
          81.1,
          82.1,
          80,
          75.1,
          57.5,
          44.6,
          33.5
        ],
        "lowF": [
          10,
          6.3,
          24.9,
          35.8,
          49.5,
          62.6,
          65.7,
          64.4,
          58.1,
          42.3,
          29,
          18.3
        ],
        "precipIn": [
          1.4,
          1.3,
          2.4,
          2.6,
          4.8,
          3.5,
          2.7,
          3,
          2.1,
          3.7,
          1.2,
          1.6
        ],
        "snowIn": [
          9,
          6.1,
          4.8,
          3.1,
          0,
          0,
          0,
          0,
          0,
          1,
          3.7,
          4.8
        ],
        "sunHours": [
          5.5,
          7.5,
          7.7,
          8.9,
          9.7,
          13,
          12.9,
          11.6,
          10.1,
          7.9,
          6.9,
          6.1
        ]
      },
      "effectiveTaxRate": 0.01001,
      "taxTopCoded": false,
      "annualTax4br": 5502,
      "annualTaxTypical": 3864,
      "lossPer100k": 145,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 64,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.02,
        "listPriceYoY": 0.0202,
        "inventoryYoY": 0.0093,
        "domYoY": -0.2553,
        "priceCutShare": 0.1475,
        "priceCutShareYoY": 0.0051,
        "popChange1yr": 0.0003,
        "domesticMigPer1000": 5.98
      },
      "activeListings": 217,
      "medianDom": 53,
      "medianListPrice": 510000,
      "permitsPer1000Units": 8.45,
      "permitsYoY": -0.5993,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 65.5,
        "listPriceYoY": 78,
        "inventoryYoY": 61.3,
        "domYoY": 99.4,
        "priceCutShareYoY": 35.3,
        "popChange1yr": 34.3,
        "domesticMigPer1000": 74.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 36.3,
      "riskRating": "Very Low",
      "topHazards": [
        "winterWeather",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 49.9,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 54.2,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 64,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 13.4,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 83.7,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 68.9,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 386055,
      "homeValue4br": 549622,
      "homeValueYoY": 0.02,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 45,
      "opportunityBasis": "partial",
      "buyerScore": 31,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 39,
        "domYoY": 1,
        "priceCutShareYoY": 65,
        "priceCutShare": 17
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "omaha",
      "city": "Omaha",
      "state": "Nebraska",
      "stateCode": "NE",
      "lat": 41.2565,
      "lng": -95.9345,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Compliance with Omaha Municipal Code Chapter 55, Article XI (Short Term Rental provisions); operators must also register for a Nebraska Department of Revenue state hotel permit.",
      "tax": "5.5% Nebraska state sales tax + 1% state lodging tax + 1.5% Omaha city sales tax + Douglas County lodging tax up to 4%.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/omaha-ne-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Omaha",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://library.municode.com/ne/omaha/codes/code_of_ordinances?nodeId=OMMUCOCHGEORVOII_CH43BU_ARTXISHTERE",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Douglas County",
      "countyFips": "31055",
      "seasonalShare": 0.0042,
      "bigHomeShare": 0.2383,
      "tourismJobShare": 0.0803,
      "amenityScore": 90,
      "dining": 626,
      "attractions": 101,
      "outdoors": 602,
      "lodgingCompetition": 122,
      "pop150": 3780235,
      "pop300": 15161859,
      "nearestMetros": [
        {
          "name": "Douglas County, NE",
          "pop": 582638
        },
        {
          "name": "Polk County, IA",
          "pop": 493378
        },
        {
          "name": "Lancaster County, NE",
          "pop": 322063
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 7,
      "snowMonths": 1,
      "climate": {
        "highF": [
          33.9,
          34.5,
          50.3,
          62.3,
          71.7,
          85,
          86.8,
          85.2,
          80.4,
          63.1,
          51,
          40.8
        ],
        "lowF": [
          17.5,
          14.9,
          30.7,
          40.9,
          53.4,
          65.3,
          68.9,
          67.5,
          61.2,
          44.9,
          32.7,
          23.6
        ],
        "precipIn": [
          1.4,
          1.1,
          3.1,
          1.8,
          4.9,
          3.3,
          3.3,
          3.1,
          2.7,
          2.7,
          1,
          1.4
        ],
        "snowIn": [
          7.6,
          4.9,
          2.7,
          1.4,
          0,
          0,
          0,
          0,
          0,
          0.6,
          1.5,
          3.5
        ],
        "sunHours": [
          6.1,
          8.2,
          7.9,
          9.9,
          9.7,
          13.1,
          12.7,
          11.8,
          10.4,
          8.6,
          7.6,
          6.7
        ]
      },
      "effectiveTaxRate": 0.01755,
      "taxTopCoded": false,
      "annualTax4br": 7318,
      "annualTaxTypical": 5195,
      "lossPer100k": 132,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 53,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.019,
        "listPriceYoY": -0.0616,
        "inventoryYoY": -0.1009,
        "domYoY": 0,
        "priceCutShare": 0.1493,
        "priceCutShareYoY": 0.0058,
        "popChange1yr": 0.0092,
        "domesticMigPer1000": -0.63
      },
      "activeListings": 1408,
      "medianDom": 36,
      "medianListPrice": 365990,
      "permitsPer1000Units": 16.12,
      "permitsYoY": -0.1269,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 64.7,
        "listPriceYoY": 15.6,
        "inventoryYoY": 88.4,
        "domYoY": 49.7,
        "priceCutShareYoY": 34.7,
        "popChange1yr": 79.1,
        "domesticMigPer1000": 37.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "No confirmed numeric cap, owner-occupancy mandate, or citywide zone ban was found for Omaha in this research — treat this as a comparatively investor-friendly Nebraska market, subject to standard zoning and licensing review before purchase.",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [
        6
      ],
      "riskScore": 95.9,
      "riskRating": "Relatively High",
      "topHazards": [
        "hail",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 0,
          "rating": "No Rating"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 95.1,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 88.8,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 99.4,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 52.7,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 98.3,
          "rating": "Very High"
        },
        "hail": {
          "score": 99.5,
          "rating": "Very High"
        }
      },
      "homeValue": 296030,
      "homeValue4br": 417004,
      "homeValueYoY": 0.019,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 52,
      "opportunityBasis": "partial",
      "buyerScore": 36,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 12,
        "domYoY": 51,
        "priceCutShareYoY": 65,
        "priceCutShare": 17
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "ottawa",
      "city": "Ottawa",
      "state": "Illinois",
      "stateCode": "IL",
      "lat": 41.3456,
      "lng": -88.842,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-term rental provisions codified in Ottawa Code of Ordinances, Chapter 26, Article XI, including a zoning-of-tract section (§26-602) and a penalty section (§26-614), administered by the city.",
      "tax": "City of Ottawa collects hotel/lodging tax directly from Airbnb via a voluntary platform collection agreement (roughly $70,000 collected over the past five years); hosts on other platforms (Vrbo, Kayak, etc.) must remit local tax themselves. Illinois' statewide Hotel Operators' Occupation Tax also applies since January 6, 2026.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/ottawa-il-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Ottawa (LaSalle County); note the separate Village of North Utica, also marketed as a Starved Rock-area base, has taken a much harsher enforcement stance.",
      "statusNote": "The nearby Village of North Utica enacted an ordinance in February 2020 that effectively bars Airbnb-style rentals without special approval, backed by fines up to $750/night, and has litigation history with at least one affected owner; investors should confirm the specific municipality — not just 'Starved Rock area' — before buying.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://library.municode.com/il/ottawa/codes/code_of_ordinances?nodeId=CH26BU_ARTXISHRMRE_S26-602ZOOTRE",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "LaSalle County",
      "countyFips": "17099",
      "seasonalShare": 0.0143,
      "bigHomeShare": 0.1707,
      "tourismJobShare": 0.0737,
      "amenityScore": 55,
      "dining": 37,
      "attractions": 28,
      "outdoors": 37,
      "lodgingCompetition": 10,
      "pop150": 16958217,
      "pop300": 45862940,
      "nearestMetros": [
        {
          "name": "Cook County, IL",
          "pop": 5225367
        },
        {
          "name": "Milwaukee County, WI",
          "pop": 933063
        },
        {
          "name": "DuPage County, IL",
          "pop": 930559
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 1,
      "climate": {
        "highF": [
          32.8,
          35.2,
          49.7,
          59.8,
          70.8,
          82.2,
          84,
          83.1,
          77.5,
          62.6,
          49.5,
          42
        ],
        "lowF": [
          18.5,
          17.7,
          31,
          39.6,
          51.4,
          62.3,
          66.4,
          64.7,
          59.7,
          45.9,
          33,
          26.7
        ],
        "precipIn": [
          2.4,
          2.4,
          3.9,
          3.7,
          7.1,
          4.6,
          4.4,
          3.2,
          4.3,
          4.7,
          1.5,
          2.4
        ],
        "snowIn": [
          9.8,
          5.8,
          3.4,
          2.2,
          0,
          0,
          0,
          0,
          0,
          1.7,
          1.5,
          2
        ],
        "sunHours": [
          4.6,
          6.6,
          7.3,
          8.7,
          9.7,
          11.6,
          11.7,
          11.5,
          9.5,
          7.3,
          6.7,
          5.4
        ]
      },
      "effectiveTaxRate": 0.02212,
      "taxTopCoded": false,
      "annualTax4br": 6367,
      "annualTaxTypical": 4355,
      "lossPer100k": 109,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 62,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.057,
        "listPriceYoY": 0.0459,
        "inventoryYoY": 0.2767,
        "domYoY": -0.0729,
        "priceCutShare": 0.1793,
        "priceCutShareYoY": -0.0279,
        "popChange1yr": -0.0009,
        "domesticMigPer1000": 1.11
      },
      "activeListings": 263,
      "medianDom": 45,
      "medianListPrice": 230000,
      "permitsPer1000Units": 1.2,
      "permitsYoY": -0.2208,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 92.8,
        "listPriceYoY": 87.3,
        "inventoryYoY": 5.8,
        "domYoY": 80.3,
        "priceCutShareYoY": 89,
        "popChange1yr": 27.4,
        "domesticMigPer1000": 52
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Illinois does not preempt local short-term rental regulation; cities and counties set their own rules, resulting in a patchwork of ordinances statewide.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 86.1,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "riverFlood",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 30.3,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 88.2,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 21.3,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 84.1,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 82.4,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 69.9,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 61.9,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 196881,
      "homeValue4br": 287851,
      "homeValueYoY": 0.057,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 32,
      "opportunityBasis": "partial",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 94,
        "domYoY": 20,
        "priceCutShareYoY": 11,
        "priceCutShare": 35
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "oxford",
      "city": "Oxford",
      "state": "Mississippi",
      "stateCode": "MS",
      "lat": 34.3665,
      "lng": -89.5192,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "A city business license plus a short-term rental permit; requires a fire-department inspection and posted emergency contact information for the property.",
      "tax": "Mississippi's 7% statewide sales tax applies. A local Oxford lodging/tourism tax also applies, but its exact current rate could not be confirmed for Oxford, Mississippi specifically — an 8% figure appears in some aggregator sources but traces back to an unrelated ordinance proposal in Oxford, Alabama, and should not be assumed to apply here.",
      "zoning": null,
      "minStay": "Properties cannot be rented for periods of fewer than 24 hours (i.e., no sub-daily/hourly rentals); no longer minimum-stay requirement was found.",
      "occupancyRule": "Tied to available on-site parking: roughly one parking space required for every two adults counted toward maximum occupancy.",
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/oxford-ms-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Oxford",
      "strCap": "STRs in residential districts must be located at least 1,500 linear feet from another STR property.",
      "statusNote": "The City of Oxford's Board of Aldermen has also been implementing Mississippi SB 2805 (2025), updating the local definition of \"hotel\" for special-levy tax-collection purposes to reach short-term rentals and third-party booking platforms.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.wlox.com/video/2023/03/01/short-term-rental-ordinance-passed-oxford/",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Lafayette County",
      "countyFips": "28071",
      "seasonalShare": 0.1445,
      "bigHomeShare": 0.2018,
      "tourismJobShare": 0.0941,
      "amenityScore": 52,
      "dining": 128,
      "attractions": 6,
      "outdoors": 34,
      "lodgingCompetition": 13,
      "pop150": 4720688,
      "pop300": 28725577,
      "nearestMetros": [
        {
          "name": "Shelby County, TN",
          "pop": 926440
        },
        {
          "name": "Tuscaloosa County, AL",
          "pop": 231558
        },
        {
          "name": "DeSoto County, MS",
          "pop": 186214
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          53,
          56.6,
          65.5,
          70.7,
          80.7,
          88,
          90.3,
          89.2,
          86.4,
          74.6,
          62.4,
          57.7
        ],
        "lowF": [
          36.6,
          38.2,
          45.6,
          50.9,
          61.1,
          68.2,
          72.6,
          71.4,
          66.5,
          55.4,
          43,
          40.5
        ],
        "precipIn": [
          5.3,
          7.2,
          6.7,
          6.1,
          3.4,
          4.2,
          4.3,
          4.9,
          2.5,
          3.8,
          2.5,
          4.9
        ],
        "snowIn": [
          1.3,
          0.9,
          0.4,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.5
        ],
        "sunHours": [
          6.5,
          6,
          8.1,
          9.2,
          11.4,
          11.9,
          12.3,
          10.9,
          10.8,
          9,
          8,
          6.6
        ]
      },
      "effectiveTaxRate": 0.00645,
      "taxTopCoded": false,
      "annualTax4br": 3770,
      "annualTaxTypical": 2613,
      "lossPer100k": 104,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 26,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.033,
        "listPriceYoY": 0.0047,
        "inventoryYoY": 0.3214,
        "domYoY": 0.1364,
        "priceCutShare": 0.1681,
        "priceCutShareYoY": 0.0367,
        "popChange1yr": -0.008,
        "domesticMigPer1000": -14.05
      },
      "activeListings": 444,
      "medianDom": 75,
      "medianListPrice": 496825,
      "permitsPer1000Units": 18.12,
      "permitsYoY": -0.023,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 80.2,
        "listPriceYoY": 74.6,
        "inventoryYoY": 2.3,
        "domYoY": 13.3,
        "priceCutShareYoY": 5.2,
        "popChange1yr": 5.1,
        "domesticMigPer1000": 3.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": 2025,
      "regChangePending": false,
      "regDirectionEvidence": "The City of Oxford's Board of Aldermen has also been implementing Mississippi SB 2805 (2025), updating the local definition of",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 64.4,
      "riskRating": "Relatively Low",
      "topHazards": [
        "earthquake",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 61.1,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 47.8,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 48.1,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 81.1,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 88.5,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 13.7,
          "rating": "Very Low"
        },
        "hail": {
          "score": 43,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 405047,
      "homeValue4br": 584449,
      "homeValueYoY": 0.033,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 30,
      "opportunityBasis": "partial",
      "buyerScore": 76,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 97,
        "domYoY": 87,
        "priceCutShareYoY": 95,
        "priceCutShare": 26
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "portland",
      "city": "Portland",
      "state": "Oregon",
      "stateCode": "OR",
      "lat": 45.5202,
      "lng": -122.6742,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Accessory Short-Term Rental permit from Portland Permitting & Development — Type A (up to 2 bedrooms) or Type B (3 or more bedrooms, conditional use review in residential and campus institutional zones); Portland City Code 33.207",
      "tax": "City of Portland Transient Lodgings Tax 6% (5% general fund, 1% Travel Portland); Multnomah County Transient Lodgings Tax 5.5%; Oregon state lodging tax 1.5% for stays ending on or before 31 Dec 2026, rising to 2.75% for stays ending on or after 1 Jan 2027; plus a $4-per-night short-term rental fee and a 3% Portland Tourism Improvement District fee on taxable rents. Reported and remitted quarterly unless instructed otherwise.",
      "zoning": null,
      "minStay": "Applies to stays of fewer than 30 consecutive days",
      "occupancyRule": "Type A: maximum 5 guests. Type B: the total number of residents and overnight guests may be limited as part of the conditional use approval.",
      "penalties": "Permit revocation under City Code 3.30.040; after revocation a new Type A permit will not be issued for that dwelling unit for 2 years",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/portland-or-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Most residential zones do not allow Type B (commercial) STRs.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "strCap": "In a multi-dwelling structure, triplex, fourplex or cottage cluster, accessory short-term rentals are limited to 1 unit or 25% of the total units in the structure or on the site, whichever is greater. No citywide cap.",
      "ownerOccupancy": "Required for BOTH types — a resident (owner or long-term renter) must occupy the dwelling unit at least 270 days during each calendar year, and rented bedrooms must generally be within the dwelling unit the resident occupies",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.portland.gov/sites/default/files/code/207-accessory-short-term-rentals_3.pdf",
      "countyName": "Multnomah County",
      "countyFips": "41051",
      "seasonalShare": 0.0075,
      "bigHomeShare": 0.1675,
      "tourismJobShare": 0.0979,
      "amenityScore": 100,
      "dining": 3247,
      "attractions": 179,
      "outdoors": 1006,
      "lodgingCompetition": 215,
      "pop150": 8410352,
      "pop300": 12030425,
      "nearestMetros": [
        {
          "name": "King County, WA",
          "pop": 2254371
        },
        {
          "name": "Pierce County, WA",
          "pop": 918993
        },
        {
          "name": "Multnomah County, OR",
          "pop": 808098
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 6,
      "snowMonths": 1,
      "climate": {
        "highF": [
          47.3,
          46,
          52.2,
          58.5,
          67,
          74.3,
          82.9,
          84.5,
          75.7,
          62.7,
          51.1,
          45.8
        ],
        "lowF": [
          36.9,
          33.5,
          36,
          40.5,
          47.8,
          53.2,
          58.3,
          59.8,
          55.2,
          46.6,
          39.2,
          36.2
        ],
        "precipIn": [
          7.6,
          5.1,
          4.1,
          4.8,
          3.6,
          3,
          0.4,
          0.5,
          3.2,
          3.8,
          6.9,
          9
        ],
        "snowIn": [
          0.7,
          7.7,
          2.1,
          2.9,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          2.8
        ],
        "sunHours": [
          3.9,
          5.2,
          7.5,
          8.6,
          9.9,
          12.1,
          13,
          11.9,
          9.6,
          7.1,
          5.2,
          3.3
        ]
      },
      "effectiveTaxRate": 0.00986,
      "taxTopCoded": false,
      "annualTax4br": 6325,
      "annualTaxTypical": 4926,
      "lossPer100k": 152,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 46,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0,
        "listPriceYoY": 0,
        "inventoryYoY": -0.0288,
        "domYoY": 0.0159,
        "priceCutShare": 0.3103,
        "priceCutShareYoY": 0.0119,
        "popChange1yr": 0.0012,
        "domesticMigPer1000": -2.43
      },
      "activeListings": 2660,
      "medianDom": 64,
      "medianListPrice": 499000,
      "permitsPer1000Units": 4.38,
      "permitsYoY": -0.2186,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 40.5,
        "listPriceYoY": 72,
        "inventoryYoY": 71.1,
        "domYoY": 41.6,
        "priceCutShareYoY": 26.6,
        "popChange1yr": 38.9,
        "domesticMigPer1000": 31.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 5,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 98.5,
      "riskRating": "Relatively High",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 43.4,
          "rating": "Relatively Low"
        },
        "riverFlood": {
          "score": 95.5,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 67.3,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 47.4,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 85.2,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 1.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 499598,
      "homeValue4br": 641440,
      "homeValueYoY": 0,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 41,
      "opportunityBasis": "partial",
      "buyerScore": 65,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 29,
        "domYoY": 59,
        "priceCutShareYoY": 73,
        "priceCutShare": 99
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "rapid-city",
      "city": "Rapid City",
      "state": "South Dakota",
      "stateCode": "SD",
      "lat": 44.0805,
      "lng": -103.231,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Registration under Rapid City Municipal Code §17.50.340, adopted by City Council vote (8-2) in December 2025; documentation of state Dept. of Health and Dept. of Revenue licensure/registration required.",
      "tax": "South Dakota state sales & use tax (4.2%) + state Tourism Tax (1.5%) + municipal sales tax + municipal gross receipts tax (~1%).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "2 guests per bedroom, plus 2 additional guests per property.",
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/rapid-city-sd-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Rapid City",
      "permitFee": "$70 registration fee (some sources also cite a separate $150 residential / $300 commercial-zoned annual license fee — verify which applies at time of purchase, as the ordinance was very newly adopted).",
      "statusNote": "This is a brand-new ordinance (adopted December 2025) — expect continued refinement, and confirm the current fee schedule and effective enforcement date directly with the city before relying on any number here.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.sdpb.org/politics/2025-12-04/rapid-city-adopts-new-regulations-for-short-term-rentals",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Pennington County",
      "countyFips": "46103",
      "seasonalShare": 0.0279,
      "bigHomeShare": 0.2711,
      "tourismJobShare": 0.1048,
      "amenityScore": 70,
      "dining": 161,
      "attractions": 64,
      "outdoors": 78,
      "lodgingCompetition": 77,
      "pop150": 368511,
      "pop300": 3355501,
      "nearestMetros": [
        {
          "name": "Pennington County, SD",
          "pop": 110386
        },
        {
          "name": "Campbell County, WY",
          "pop": 46857
        },
        {
          "name": "Meade County, SD",
          "pop": 29970
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 3,
      "climate": {
        "highF": [
          38.6,
          32.7,
          44.2,
          53.3,
          64.8,
          79.4,
          86,
          84.3,
          76.7,
          56.9,
          48.3,
          38.7
        ],
        "lowF": [
          20.7,
          12.9,
          23.7,
          31.5,
          44.4,
          57.3,
          63.3,
          62.1,
          54.2,
          37.3,
          28.6,
          20.7
        ],
        "precipIn": [
          0.6,
          1,
          1.2,
          2,
          3.4,
          2.1,
          1.8,
          1.5,
          1.1,
          2.1,
          0.6,
          0.8
        ],
        "snowIn": [
          3.2,
          6.5,
          7.1,
          8.7,
          1.8,
          0,
          0,
          0,
          0,
          4.4,
          3.2,
          5.3
        ],
        "sunHours": [
          7,
          8.2,
          9.1,
          10.2,
          10.8,
          13.4,
          13.4,
          12.7,
          10.7,
          8.7,
          7.6,
          6.7
        ]
      },
      "effectiveTaxRate": 0.01177,
      "taxTopCoded": false,
      "annualTax4br": 4838,
      "annualTaxTypical": 4281,
      "lossPer100k": 136,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 46,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.019,
        "listPriceYoY": 0,
        "inventoryYoY": 0,
        "domYoY": 0.2075,
        "priceCutShare": 0.1719,
        "priceCutShareYoY": 0.0202,
        "popChange1yr": 0.0041,
        "domesticMigPer1000": 0.43
      },
      "activeListings": 525,
      "medianDom": 64,
      "medianListPrice": 399900,
      "permitsPer1000Units": 11.32,
      "permitsYoY": -0.5241,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 64.7,
        "listPriceYoY": 72,
        "inventoryYoY": 64.5,
        "domYoY": 5.5,
        "priceCutShareYoY": 16.2,
        "popChange1yr": 52.3,
        "domesticMigPer1000": 48
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "permit-requirement",
      "regChangeYear": 2025,
      "regChangePending": true,
      "regDirectionEvidence": "Rapid City adopted its first-ever short-term rental ordinance in December 2025 (effective 2026) — VERIFY exact effective date and enforcement status.",
      "regDirectionReviewed": false,
      "driverCount": 9,
      "emergingDriverCount": 0,
      "eventMonths": [
        8
      ],
      "riskScore": 78.6,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 75.6,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 97.2,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 61,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 56.9,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 94.6,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 96.9,
          "rating": "Relatively High"
        }
      },
      "homeValue": 363679,
      "homeValue4br": 411071,
      "homeValueYoY": 0.019,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 48,
      "opportunityBasis": "partial",
      "buyerScore": 61,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 36,
        "domYoY": 94,
        "priceCutShareYoY": 84,
        "priceCutShare": 29
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "red-river-gorge",
      "city": "Red River Gorge (Slade)",
      "state": "Kentucky",
      "stateCode": "KY",
      "lat": 37.8161,
      "lng": -83.6919,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "A general rental/business permit through the Wolfe County Clerk's Office is reported as the governing requirement; the specific application process, code sections and fee schedule were not found in a primary source.",
      "tax": "Kentucky's 6% state sales tax and 1% state transient room tax apply; no county-level transient room tax was confirmed for Wolfe County specifically.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/red-river-gorge-ky-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Wolfe County Clerk's Office (and the equivalent offices in neighboring Powell, Menifee and Lee counties, since the Gorge crosses county lines); no dedicated municipal STR ordinance was identified for this area.",
      "statusNote": "Regulatory detail for this rural, multi-county market is thin online; investors should confirm current rules directly with the relevant county clerk/planning office (and check which county a specific parcel falls in) before purchase.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.lodgecompliance.com/local-jurisdiction/wolfe-county-ky",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Powell County",
      "countyFips": "21197",
      "seasonalShare": 0.0157,
      "bigHomeShare": 0.1679,
      "tourismJobShare": 0.0546,
      "amenityScore": 54,
      "dining": 11,
      "attractions": 58,
      "outdoors": 38,
      "lodgingCompetition": 8,
      "pop150": 10586572,
      "pop300": 51199182,
      "nearestMetros": [
        {
          "name": "Hamilton County, OH",
          "pop": 827671
        },
        {
          "name": "Jefferson County, KY",
          "pop": 779232
        },
        {
          "name": "Montgomery County, OH",
          "pop": 536121
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          44.4,
          49.3,
          57.7,
          64.9,
          74.1,
          81.5,
          86.3,
          84.2,
          79.9,
          68.8,
          55.7,
          50.3
        ],
        "lowF": [
          28.6,
          31.1,
          37.2,
          44.1,
          54.7,
          62.4,
          68,
          66.1,
          60.6,
          50,
          36.8,
          33.4
        ],
        "precipIn": [
          5,
          6,
          4.4,
          4.2,
          4.4,
          4.8,
          4.6,
          4.7,
          2.1,
          3.6,
          2.5,
          4.6
        ],
        "snowIn": [
          4.5,
          2.2,
          1.4,
          0.3,
          0,
          0,
          0,
          0,
          0,
          0,
          0.6,
          1.3
        ],
        "sunHours": [
          5.5,
          6,
          7.9,
          9.3,
          10.1,
          11.5,
          11.6,
          11.1,
          10.4,
          8.3,
          7.3,
          5.7
        ]
      },
      "effectiveTaxRate": 0.00664,
      "taxTopCoded": false,
      "annualTax4br": 1649,
      "annualTaxTypical": 1009,
      "lossPer100k": 233,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 28,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.104,
        "listPriceYoY": -0.132,
        "inventoryYoY": 0.1333,
        "domYoY": -0.2059,
        "priceCutShare": 0.2151,
        "priceCutShareYoY": 0.0466,
        "popChange1yr": -0.0038,
        "domesticMigPer1000": 1.4
      },
      "activeListings": 68,
      "medianDom": 81,
      "medianListPrice": 299450,
      "permitsPer1000Units": 0.89,
      "permitsYoY": 4,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 0,
        "listPriceYoY": 1.2,
        "inventoryYoY": 23.1,
        "domYoY": 98.8,
        "priceCutShareYoY": 3.5,
        "popChange1yr": 12.3,
        "domesticMigPer1000": 53.7
      },
      "supplyCaution": false,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 31.2,
      "riskRating": "Very Low",
      "topHazards": [
        "winterWeather",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 34.8,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 51.4,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 43.2,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 37.1,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 37.8,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 55,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 35.7,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 151970,
      "homeValue4br": 248305,
      "homeValueYoY": -0.104,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 37,
      "opportunityBasis": "partial",
      "buyerScore": 59,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 77,
        "domYoY": 2,
        "priceCutShareYoY": 96,
        "priceCutShare": 60
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "rehoboth-beach",
      "city": "Rehoboth Beach",
      "state": "Delaware",
      "stateCode": "DE",
      "lat": 38.7165,
      "lng": -75.0835,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/rehoboth-beach-de-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "No cap and no primary-residence rule",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/rehoboth-beach-de-airbnb-regulations",
      "countyName": "Sussex County",
      "countyFips": "10005",
      "seasonalShare": 0.2615,
      "bigHomeShare": 0.2519,
      "tourismJobShare": 0.0944,
      "amenityScore": 66,
      "dining": 193,
      "attractions": 21,
      "outdoors": 91,
      "lodgingCompetition": 81,
      "pop150": 32199324,
      "pop300": 63808107,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "Philadelphia County, PA",
          "pop": 1593208
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 0,
      "climate": {
        "highF": [
          45.3,
          47.9,
          54.2,
          62.5,
          68.5,
          78.4,
          85.2,
          82.2,
          77.1,
          68.2,
          56.9,
          50.1
        ],
        "lowF": [
          33.6,
          35,
          40.2,
          48.1,
          56.3,
          66.2,
          73.4,
          72.2,
          66.7,
          57,
          45.1,
          38.5
        ],
        "precipIn": [
          3.4,
          3.9,
          3.8,
          4,
          3.7,
          3.6,
          4.1,
          4.2,
          3.3,
          4.1,
          2.4,
          4.8
        ],
        "snowIn": [
          5.7,
          1.9,
          0.2,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          0.2
        ],
        "sunHours": [
          6.3,
          6.7,
          8.3,
          9.7,
          10.6,
          11.9,
          12.4,
          10.7,
          9.9,
          8.1,
          7.9,
          6.2
        ]
      },
      "effectiveTaxRate": 0.00346,
      "taxTopCoded": false,
      "annualTax4br": 2245,
      "annualTaxTypical": 1677,
      "lossPer100k": 113,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 58,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.004,
        "listPriceYoY": 0,
        "inventoryYoY": 0.129,
        "domYoY": -0.0385,
        "priceCutShare": 0.1771,
        "priceCutShareYoY": 0.0237,
        "popChange1yr": 0.0218,
        "domesticMigPer1000": 23.18
      },
      "activeListings": 1952,
      "medianDom": 75,
      "medianListPrice": 549997,
      "permitsPer1000Units": 26.94,
      "permitsYoY": -0.1077,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 45.1,
        "listPriceYoY": 72,
        "inventoryYoY": 24.3,
        "domYoY": 62.7,
        "priceCutShareYoY": 14.5,
        "popChange1yr": 93.7,
        "domesticMigPer1000": 96.6
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 7,
      "emergingDriverCount": 0,
      "eventMonths": [
        9
      ],
      "riskScore": 94.1,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "coastalFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 97.2,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 97.6,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 92.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 84.8,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 63.4,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 81.5,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 96.7,
          "rating": "Very High"
        },
        "hail": {
          "score": 60.4,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 484777,
      "homeValue4br": 648776,
      "homeValueYoY": 0.004,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 49,
      "opportunityBasis": "partial",
      "buyerScore": 58,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 76,
        "domYoY": 38,
        "priceCutShareYoY": 85,
        "priceCutShare": 32
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "ruidoso",
      "city": "Ruidoso",
      "state": "New Mexico",
      "stateCode": "NM",
      "lat": 33.3317,
      "lng": -105.673,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Village of Ruidoso Short-Term Rental Permit under Ordinance 2026-10 (adopted June 2026), renewed annually with a required compliance inspection; operators must obtain a New Mexico Gross Receipts Tax ID. STRs are prohibited in RVs, tents, garages, boats and other non-dwelling spaces, and in dwellings within commercial/industrial buildings or live-work units.",
      "tax": "New Mexico's statewide Gross Receipts Tax plus the Village of Ruidoso's Lodgers' Tax, both collected on stays of 29 nights or less.",
      "zoning": null,
      "minStay": "Properties rented for 30 or more consecutive nights are not considered short-term rentals and do not require a permit (i.e., the STR threshold is under 30 nights).",
      "occupancyRule": "Maximum of 2 adults per sleeping unit.",
      "penalties": "A three-strike violation system can lead to permit suspension or revocation, in addition to fines for unresolved violations.",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/ruidoso-nm-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Village of Ruidoso",
      "permitFee": "$300 (covers the permit, inspection and required notifications) plus a $50 annual compliance re-inspection fee.",
      "statusNote": "Ordinance 2026-10 (adopted June 2026) is very recent and added new requirements — including NOAA Weather Radios and stricter fire-safety standards — making this a live regulatory target; reconfirm current rules before relying on this summary for underwriting.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.ruidoso-nm.gov/short-term-rentals",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Lincoln County",
      "countyFips": "35027",
      "seasonalShare": 0.3614,
      "bigHomeShare": 0.1521,
      "tourismJobShare": 0.1624,
      "amenityScore": 47,
      "dining": 23,
      "attractions": 7,
      "outdoors": 92,
      "lodgingCompetition": 14,
      "pop150": 2221462,
      "pop300": 4715125,
      "nearestMetros": [
        {
          "name": "El Paso County, TX",
          "pop": 863832
        },
        {
          "name": "Bernalillo County, NM",
          "pop": 674692
        },
        {
          "name": "Doña Ana County, NM",
          "pop": 219870
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 7,
      "snowMonths": 2,
      "climate": {
        "highF": [
          45.9,
          46.2,
          53.7,
          63.3,
          72.1,
          79.3,
          81.7,
          79.3,
          75.2,
          65.1,
          56.2,
          49
        ],
        "lowF": [
          24.8,
          24.5,
          32.1,
          39.5,
          47.5,
          55,
          59,
          58.2,
          53,
          42.9,
          34.8,
          29.8
        ],
        "precipIn": [
          1.3,
          1.4,
          1.5,
          0.7,
          1.2,
          2.8,
          4,
          4.3,
          1.9,
          1.5,
          0.9,
          0.8
        ],
        "snowIn": [
          7.7,
          8,
          5.5,
          2.2,
          0.1,
          0,
          0,
          0,
          0,
          1,
          3.4,
          3.8
        ],
        "sunHours": [
          9,
          9.5,
          10.5,
          12,
          13.2,
          13.1,
          13.2,
          12,
          11.3,
          10.5,
          9.4,
          9
        ]
      },
      "effectiveTaxRate": 0.00555,
      "taxTopCoded": false,
      "annualTax4br": 3372,
      "annualTaxTypical": 1860,
      "lossPer100k": 378,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 17,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.031,
        "listPriceYoY": -0.0371,
        "inventoryYoY": 0.2209,
        "domYoY": 0.0294,
        "priceCutShare": 0.2025,
        "priceCutShareYoY": 0.0543,
        "popChange1yr": -0.0096,
        "domesticMigPer1000": -3.19
      },
      "activeListings": 597,
      "medianDom": 105,
      "medianListPrice": 480000,
      "permitsPer1000Units": 6.27,
      "permitsYoY": 0.2065,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 6.3,
        "listPriceYoY": 38.2,
        "inventoryYoY": 12.7,
        "domYoY": 33.8,
        "priceCutShareYoY": 1.7,
        "popChange1yr": 3.4,
        "domesticMigPer1000": 25.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "other",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Ordinance 2026-10 (adopted June 2026) is very recent and added new requirements — including NOAA Weather Radios and stricter fire-safety standards — making this a live regulatory target",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 79.5,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": 15,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 77.6,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 98.8,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 10.3,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 25.5,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 86.3,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 39.4,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 335138,
      "homeValue4br": 607578,
      "homeValueYoY": -0.031,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 41,
      "opportunityBasis": "partial",
      "buyerScore": 76,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 87,
        "domYoY": 66,
        "priceCutShareYoY": 98,
        "priceCutShare": 53
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "salt-lake-city",
      "city": "Salt Lake City",
      "state": "Utah",
      "stateCode": "UT",
      "lat": 40.7596,
      "lng": -111.8868,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental Business License, Salt Lake City Business Licensing. Requires government photo ID, a Property Authorization Form where the applicant is not the owner, and for condominium units an HOA Authorization Letter approving STR use. The City-provided notice must be displayed inside the unit and near the front door.",
      "tax": null,
      "zoning": null,
      "minStay": "Minimum two (2) consecutive nights",
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/salt-lake-city-ut-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Salt Lake City takes a more business-oriented approach that welcomes vacation rental operators who comply with basic licensing and tax requirements.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "strCap": "One STR business licence per licensee; one property and one dwelling unit per licence; buildings with more than 11 dwelling units may license at most 10% of units; each licence limited to 200 rental nights per calendar year",
      "regLastVerified": "2026-09-21",
      "regSourceUrl": "https://www.slc.gov/Finance/short-term-rentals/",
      "countyName": "Salt Lake County",
      "countyFips": "49035",
      "seasonalShare": 0.0091,
      "bigHomeShare": 0.4079,
      "tourismJobShare": 0.0781,
      "amenityScore": 93,
      "dining": 1284,
      "attractions": 125,
      "outdoors": 474,
      "lodgingCompetition": 134,
      "pop150": 3186900,
      "pop300": 5201878,
      "nearestMetros": [
        {
          "name": "Salt Lake County, UT",
          "pop": 1180643
        },
        {
          "name": "Utah County, UT",
          "pop": 666021
        },
        {
          "name": "Davis County, UT",
          "pop": 363032
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 4,
      "climate": {
        "highF": [
          38.2,
          39.7,
          49.9,
          59.3,
          70.3,
          82.6,
          94.5,
          90.2,
          80.6,
          62.6,
          49,
          38.5
        ],
        "lowF": [
          23,
          22.9,
          29.8,
          35.9,
          45.8,
          56.2,
          67.8,
          64.6,
          55.4,
          40,
          30.8,
          23.3
        ],
        "precipIn": [
          2.5,
          1.9,
          3.4,
          3,
          1.7,
          0.9,
          0.2,
          1.2,
          1.3,
          1.9,
          1.9,
          2.6
        ],
        "snowIn": [
          10.4,
          9.9,
          11,
          4,
          0.3,
          0,
          0,
          0,
          0,
          1.7,
          3.6,
          9.7
        ],
        "sunHours": [
          6.8,
          8,
          8.9,
          10.5,
          12.4,
          13.6,
          13.7,
          12.5,
          11.5,
          9.3,
          7.8,
          6.6
        ]
      },
      "effectiveTaxRate": 0.00588,
      "taxTopCoded": false,
      "annualTax4br": 3556,
      "annualTaxTypical": 3341,
      "lossPer100k": 161,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 41,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.015,
        "listPriceYoY": -0.0401,
        "inventoryYoY": 0.131,
        "domYoY": 0,
        "priceCutShare": 0.3043,
        "priceCutShareYoY": -0.0022,
        "popChange1yr": 0.0028,
        "domesticMigPer1000": -6.59
      },
      "activeListings": 3366,
      "medianDom": 57,
      "medianListPrice": 575000,
      "permitsPer1000Units": 16.67,
      "permitsYoY": 0.5778,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 62.4,
        "listPriceYoY": 35.8,
        "inventoryYoY": 23.7,
        "domYoY": 49.7,
        "priceCutShareYoY": 46.2,
        "popChange1yr": 48.6,
        "domesticMigPer1000": 17.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 7,
      "emergingDriverCount": 2,
      "eventMonths": [
        1
      ],
      "riskScore": 98.6,
      "riskRating": "Relatively High",
      "topHazards": [
        "earthquake",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 0,
          "rating": "No Rating"
        },
        "riverFlood": {
          "score": 92.9,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 98.3,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 71,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 99.6,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 98.7,
          "rating": "Very High"
        },
        "hail": {
          "score": 68.1,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 568202,
      "homeValue4br": 604710,
      "homeValueYoY": 0.015,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 56,
      "opportunityBasis": "partial",
      "buyerScore": 69,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 76,
        "domYoY": 51,
        "priceCutShareYoY": 53,
        "priceCutShare": 97
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "santa-fe",
      "city": "Santa Fe",
      "state": "New Mexico",
      "stateCode": "NM",
      "lat": 35.687,
      "lng": -105.9378,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": "City of Santa Fe Short-Term Rental Permit under Ordinance No. 2020-35, effective January 1, 2021; requires neighbor notification and a fire inspection before issuance.",
      "tax": "New Mexico's statewide Gross Receipts Tax applies, plus the City of Santa Fe's local Lodgers' Tax.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/santa-fe-nm-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Santa Fe (Growth Management/Land Use); Santa Fe County has separate, differing rules outside city limits.",
      "permitFee": "Reported (secondary source) at roughly $425 in first-year fees for a residential-zone permit; not independently confirmed against a current city fee schedule.",
      "strCap": "Citywide cap of 1,000 residential STR permits, limited to one permit per person; once the cap is reached, new entrants generally must acquire an existing permit rather than obtain a new one.",
      "ownerOccupancy": "Not confirmed whether required for all permit types; some secondary reporting suggests rules differ between owner-occupied and non-owner-occupied units, but this was not independently verified.",
      "transfersOnSale": "Permits do not transfer with the property on sale — a new owner cannot inherit the prior owner's permit and must obtain their own (subject to the citywide cap).",
      "statusNote": "Santa Fe County (outside city limits) separately caps and regulates non-owner-occupied STRs under its own 2024 rules — a different regime from the city's; confirm which jurisdiction a specific property falls under.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://santafenm.gov/archive_center/document/20694",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Santa Fe County",
      "countyFips": "35049",
      "seasonalShare": 0.0528,
      "bigHomeShare": 0.1382,
      "tourismJobShare": 0.1314,
      "amenityScore": 84,
      "dining": 333,
      "attractions": 195,
      "outdoors": 184,
      "lodgingCompetition": 74,
      "pop150": 1545694,
      "pop300": 8196681,
      "nearestMetros": [
        {
          "name": "Bernalillo County, NM",
          "pop": 674692
        },
        {
          "name": "Santa Fe County, NM",
          "pop": 154481
        },
        {
          "name": "Sandoval County, NM",
          "pop": 149460
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 7,
      "snowMonths": 2,
      "climate": {
        "highF": [
          34.9,
          38.3,
          48.9,
          61.6,
          70.6,
          79.4,
          83.6,
          81.7,
          75.5,
          61.2,
          49.3,
          39.2
        ],
        "lowF": [
          20.5,
          21.7,
          30.1,
          38.3,
          47.6,
          56.8,
          62,
          60.9,
          54.9,
          41.5,
          31.6,
          25.4
        ],
        "precipIn": [
          1.1,
          1,
          1.4,
          0.7,
          0.9,
          1.4,
          1.4,
          1,
          0.9,
          1.1,
          1.1,
          1
        ],
        "snowIn": [
          7.1,
          6,
          5.6,
          1.6,
          0.4,
          0,
          0,
          0,
          0.3,
          1.4,
          3.8,
          4.1
        ],
        "sunHours": [
          8.5,
          9.6,
          10.2,
          12,
          12.9,
          13,
          13.2,
          12.3,
          11.4,
          10.4,
          9.3,
          8.5
        ]
      },
      "effectiveTaxRate": 0.00513,
      "taxTopCoded": false,
      "annualTax4br": 3794,
      "annualTaxTypical": 2835,
      "lossPer100k": 114,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 45,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.009,
        "listPriceYoY": 0,
        "inventoryYoY": -0.0049,
        "domYoY": 0.0141,
        "priceCutShare": 0.2059,
        "priceCutShareYoY": 0.0165,
        "popChange1yr": -0.0026,
        "domesticMigPer1000": -0.93
      },
      "activeListings": 819,
      "medianDom": 72,
      "medianListPrice": 799000,
      "permitsPer1000Units": 6.45,
      "permitsYoY": 1.0287,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 55.2,
        "listPriceYoY": 72,
        "inventoryYoY": 65.9,
        "domYoY": 43.9,
        "priceCutShareYoY": 22,
        "popChange1yr": 16.6,
        "domesticMigPer1000": 37.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": 2021,
      "regChangePending": false,
      "regDirectionEvidence": "permits at 1,000 citywide, with a strict limit of one permit per person, under Ordinance No. 2020-35 (effective January 1, 2021).",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 86,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "wildfire",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 88.4,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 98.2,
          "rating": "Relatively High"
        },
        "tornado": {
          "score": 24.5,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 89.5,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 94.1,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 67.6,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 552709,
      "homeValue4br": 739549,
      "homeValueYoY": 0.009,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 42,
      "opportunityBasis": "partial",
      "buyerScore": 56,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 35,
        "domYoY": 56,
        "priceCutShareYoY": 78,
        "priceCutShare": 56
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "santa-rosa-beach",
      "city": "Santa Rosa Beach",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 30.3466,
      "lng": -86.2308,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/santa-rosa-beach-fl-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Every rental needs a Walton County Short-Term Vacation Rental certificate ($300 per structure each year), a Florida DBPR lodging license, a designated local responsible party reachable around the clock, and an occupancy affidavit capped at one guest per 150 square feet.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/santa-rosa-beach-fl-airbnb-regulations",
      "countyName": "Walton County",
      "countyFips": "12131",
      "seasonalShare": 0.3106,
      "bigHomeShare": 0.2257,
      "tourismJobShare": 0.128,
      "amenityScore": 49,
      "dining": 98,
      "attractions": 2,
      "outdoors": 61,
      "lodgingCompetition": 9,
      "pop150": 3453512,
      "pop300": 25445803,
      "nearestMetros": [
        {
          "name": "Mobile County, AL",
          "pop": 413878
        },
        {
          "name": "Escambia County, FL",
          "pop": 321296
        },
        {
          "name": "Leon County, FL",
          "pop": 294128
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.6,
          65.4,
          70.3,
          74.3,
          81.1,
          85.7,
          85.7,
          86.3,
          85.5,
          79,
          69.9,
          64.3
        ],
        "lowF": [
          48.3,
          52.5,
          57.4,
          60.8,
          68.6,
          75.7,
          77.8,
          78.3,
          73.8,
          65.5,
          55.3,
          51.8
        ],
        "precipIn": [
          5.2,
          4.8,
          4.5,
          6.3,
          2.9,
          4.4,
          5.2,
          6.5,
          5.7,
          4,
          2.8,
          6.3
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.8,
          7.8,
          9.9,
          10.3,
          11.7,
          11.4,
          11.1,
          10.5,
          10.1,
          9.7,
          8.8,
          7.6
        ]
      },
      "effectiveTaxRate": 0.00477,
      "taxTopCoded": false,
      "annualTax4br": 4875,
      "annualTaxTypical": 3124,
      "lossPer100k": 271,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 61,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.004,
        "listPriceYoY": -0.1073,
        "inventoryYoY": -0.0919,
        "domYoY": -0.045,
        "priceCutShare": 0.1876,
        "priceCutShareYoY": 0.0108,
        "popChange1yr": 0.0354,
        "domesticMigPer1000": 33.19
      },
      "activeListings": 2430,
      "medianDom": 106,
      "medianListPrice": 799000,
      "permitsPer1000Units": 42.28,
      "permitsYoY": -0.1679,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 45.1,
        "listPriceYoY": 3.8,
        "inventoryYoY": 87.3,
        "domYoY": 67.1,
        "priceCutShareYoY": 27.7,
        "popChange1yr": 98.9,
        "domesticMigPer1000": 98.3
      },
      "supplyCaution": true,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 88.6,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hurricane",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 97.4,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 62.2,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 68.3,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 75.7,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 85.6,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 46.4,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 22.9,
          "rating": "Very Low"
        },
        "hail": {
          "score": 15.5,
          "rating": "Very Low"
        }
      },
      "homeValue": 654948,
      "homeValue4br": 1021984,
      "homeValueYoY": 0.004,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 49,
      "opportunityBasis": "partial",
      "buyerScore": 41,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 13,
        "domYoY": 33,
        "priceCutShareYoY": 72,
        "priceCutShare": 44
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "seward",
      "city": "Seward",
      "state": "Alaska",
      "stateCode": "AK",
      "lat": 60.1042,
      "lng": -149.4422,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental Permit (for lodging with 5 or fewer rooms), applied for jointly with the city's online Business License application via the OpenGov portal; the permit is valid January 1 – December 31, renewable starting in October for the following year, and the permit number must appear in all advertising for the rental.",
      "tax": "Combined sales tax of roughly 7% (3% Kenai Peninsula Borough + 4% City of Seward) plus a separate 4% City of Seward bed tax on lodging — roughly 11% total tax on a lodging stay.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": "A business license will not be issued until all short-term rental permit requirements have been met and approved — i.e., no business license without STR permit compliance.",
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/seward-ak-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Seward (Community Development Department)",
      "permitFee": "$50 permit fee plus $45 inspection fee.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.cityofseward.us/departments/community-development/short-term-rentals-299",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Kenai Peninsula Borough",
      "countyFips": "02122",
      "seasonalShare": 0.1862,
      "bigHomeShare": 0.1575,
      "tourismJobShare": 0.0934,
      "amenityScore": 47,
      "dining": 31,
      "attractions": 11,
      "outdoors": 29,
      "lodgingCompetition": 32,
      "pop150": 465570,
      "pop300": 485203,
      "nearestMetros": [
        {
          "name": "Anchorage Municipality, AK",
          "pop": 290674
        },
        {
          "name": "Matanuska-Susitna Borough, AK",
          "pop": 108661
        },
        {
          "name": "Kenai Peninsula Borough, AK",
          "pop": 59235
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 2,
      "snowMonths": 8,
      "climate": {
        "highF": [
          26.1,
          28.7,
          32.4,
          40.1,
          48.4,
          58.7,
          63.1,
          63.3,
          54,
          43.2,
          31.1,
          28.3
        ],
        "lowF": [
          18.5,
          19.2,
          23.5,
          30.5,
          37.9,
          48.8,
          54,
          53.4,
          44.5,
          34.6,
          22.2,
          17.3
        ],
        "precipIn": [
          12.5,
          6.9,
          10,
          5.5,
          9.3,
          6.9,
          8.9,
          13.3,
          14.7,
          13.3,
          14.7,
          12.5
        ],
        "snowIn": [
          77.6,
          46.8,
          60.1,
          32.3,
          16.2,
          0.2,
          0,
          0,
          2.5,
          15,
          60,
          66.3
        ],
        "sunHours": [
          2.7,
          4.3,
          6.3,
          8.9,
          8,
          10.4,
          9.4,
          9,
          6.4,
          4.3,
          2.9,
          1.8
        ]
      },
      "effectiveTaxRate": 0.0066,
      "taxTopCoded": false,
      "annualTax4br": 3234,
      "annualTaxTypical": 2318,
      "lossPer100k": 393,
      "lodgingTaxPct": 11,
      "lodgingTaxBasis": "stated-total",
      "momentumScore": 62,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.075,
        "listPriceYoY": 0.0251,
        "inventoryYoY": 0.1861,
        "domYoY": -0.0896,
        "priceCutShare": 0.2542,
        "priceCutShareYoY": 0.0549,
        "popChange1yr": 0.0082,
        "domesticMigPer1000": 6.04
      },
      "activeListings": 427,
      "medianDom": 61,
      "medianListPrice": 450000,
      "permitsPer1000Units": 6.82,
      "permitsYoY": 0.4605,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 96.8,
        "listPriceYoY": 80.6,
        "inventoryYoY": 16.5,
        "domYoY": 87.6,
        "priceCutShareYoY": 0.9,
        "popChange1yr": 74.6,
        "domesticMigPer1000": 75.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "A permit and inspection fee are required and must be renewed annually, but no cap, zoning ban, or owner-occupancy rule was found — a straightforward registration-plus-tax-collection regime.",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 93,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "earthquake",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": 33.8,
          "rating": "Very Low"
        },
        "riverFlood": {
          "score": 43.8,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 97.1,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 0.8,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 98.7,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 93.9,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 2.7,
          "rating": "Very Low"
        }
      },
      "homeValue": 351179,
      "homeValue4br": 489954,
      "homeValueYoY": 0.075,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 39,
      "opportunityBasis": "partial",
      "buyerScore": 69,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 83,
        "domYoY": 13,
        "priceCutShareYoY": 99,
        "priceCutShare": 82
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "smith-mountain-lake",
      "city": "Smith Mountain Lake",
      "state": "Virginia",
      "stateCode": "VA",
      "lat": 37.1164,
      "lng": -79.6508,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/smith-mountain-lake-va-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Both counties cap occupancy at two adults per bedroom",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/smith-mountain-lake-va-airbnb-regulations",
      "countyName": "Franklin County",
      "countyFips": "51067",
      "seasonalShare": 0.1199,
      "bigHomeShare": 0.2224,
      "tourismJobShare": 0.0919,
      "amenityScore": 34,
      "dining": 22,
      "attractions": 0,
      "outdoors": 45,
      "lodgingCompetition": 4,
      "pop150": 11985000,
      "pop300": 50601025,
      "nearestMetros": [
        {
          "name": "Wake County, NC",
          "pop": 1132103
        },
        {
          "name": "Mecklenburg County, NC",
          "pop": 1115403
        },
        {
          "name": "Guilford County, NC",
          "pop": 539557
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          46.6,
          52,
          59.6,
          67.9,
          75.2,
          82.7,
          89,
          86,
          80,
          70.1,
          57.4,
          51.2
        ],
        "lowF": [
          31.4,
          33.9,
          39.4,
          46.4,
          56.2,
          64,
          70.2,
          68.7,
          62.3,
          52.2,
          40.1,
          34.9
        ],
        "precipIn": [
          3.4,
          4.8,
          3.2,
          3.6,
          4.1,
          4,
          2.3,
          3.5,
          3.3,
          3.5,
          3,
          3.9
        ],
        "snowIn": [
          5.3,
          2,
          0.7,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          0.9
        ],
        "sunHours": [
          6.1,
          6.7,
          8.1,
          10.1,
          10.5,
          11.6,
          12.1,
          11,
          10,
          8.6,
          8.3,
          6.8
        ]
      },
      "effectiveTaxRate": 0.00573,
      "taxTopCoded": false,
      "annualTax4br": 3197,
      "annualTaxTypical": 2097,
      "lossPer100k": 101,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 39,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.04,
        "listPriceYoY": -0.0016,
        "inventoryYoY": 0.476,
        "domYoY": 0.05,
        "priceCutShare": 0.2937,
        "priceCutShareYoY": 0.0306,
        "popChange1yr": -0.0015,
        "domesticMigPer1000": 2.73
      },
      "activeListings": 307,
      "medianDom": 63,
      "medianListPrice": 499000,
      "permitsPer1000Units": 5.05,
      "permitsYoY": -0.1437,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 86.5,
        "listPriceYoY": 68.8,
        "inventoryYoY": 0.6,
        "domYoY": 25.4,
        "priceCutShareYoY": 8.1,
        "popChange1yr": 22.3,
        "domesticMigPer1000": 61.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 1,
      "eventMonths": [],
      "riskScore": 42.7,
      "riskRating": "Very Low",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 69.2,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 62.2,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 38.1,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 17.9,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 55.2,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 55.2,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 35.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 365972,
      "homeValue4br": 558024,
      "homeValueYoY": 0.04,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 34,
      "opportunityBasis": "partial",
      "buyerScore": 91,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 99,
        "domYoY": 75,
        "priceCutShareYoY": 92,
        "priceCutShare": 97
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "snowshoe",
      "city": "Snowshoe",
      "state": "West Virginia",
      "stateCode": "WV",
      "lat": 38.4056,
      "lng": -80.0353,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Pocahontas County Health Department annual health permit (per West Virginia's General Sanitation Rule; one application per property), plus a business license from the Pocahontas County Commission.",
      "tax": "West Virginia's combined state sales/lodging excise tax (roughly 12%) applies; Pocahontas County does levy and distribute a hotel occupancy tax, but its exact current percentage rate was not confirmed from available sources.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/snowshoe-wv-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Pocahontas County Commission (business license) and Pocahontas County Health Department (health permit); Snowshoe is an unincorporated resort area within the county, not its own municipality, so county rules govern government-level regulation (resort/HOA covenants are separate and don't count as government regulation).",
      "permitFee": "$125 non-refundable health-permit application fee per property; the county business license fee was not confirmed.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.snowshoemtn.com/homeowner-services/health-department",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Pocahontas County",
      "countyFips": "54075",
      "seasonalShare": 0.4446,
      "bigHomeShare": 0.164,
      "tourismJobShare": 0.1653,
      "amenityScore": 46,
      "dining": 18,
      "attractions": 6,
      "outdoors": 173,
      "lodgingCompetition": 3,
      "pop150": 8936494,
      "pop300": 60215990,
      "nearestMetros": [
        {
          "name": "Allegheny County, PA",
          "pop": 1245310
        },
        {
          "name": "Prince William County, VA",
          "pop": 481114
        },
        {
          "name": "Loudoun County, VA",
          "pop": 420773
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 4,
      "climate": {
        "highF": [
          35.2,
          41.2,
          48.2,
          55.9,
          64,
          70.5,
          76.5,
          74.4,
          69.6,
          59.4,
          47.2,
          41.1
        ],
        "lowF": [
          19.4,
          22.5,
          28.5,
          36.3,
          46.4,
          53.9,
          59.9,
          58.5,
          52.1,
          42.2,
          29.9,
          25.1
        ],
        "precipIn": [
          4.2,
          5.5,
          4.1,
          5.1,
          4.6,
          4.5,
          3.9,
          4.2,
          2.7,
          4,
          2.8,
          3.9
        ],
        "snowIn": [
          12.3,
          8,
          6.4,
          2.9,
          2.3,
          0,
          0,
          0,
          0,
          0.2,
          2.5,
          7.9
        ],
        "sunHours": [
          4.5,
          5.8,
          7.6,
          9,
          10.2,
          11.2,
          11.9,
          10.5,
          10.1,
          7.7,
          7.1,
          5.2
        ]
      },
      "effectiveTaxRate": 0.00296,
      "taxTopCoded": false,
      "annualTax4br": 1044,
      "annualTaxTypical": 556,
      "lossPer100k": 247,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 56,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.049,
        "listPriceYoY": 0.0699,
        "inventoryYoY": 0.3197,
        "domYoY": 0.0105,
        "priceCutShare": 0.055,
        "priceCutShareYoY": -0.0151,
        "popChange1yr": -0.005,
        "domesticMigPer1000": 5.63
      },
      "activeListings": 161,
      "medianDom": 96,
      "medianListPrice": 245000,
      "permitsPer1000Units": 1.01,
      "permitsYoY": 0,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 90.8,
        "listPriceYoY": 93.6,
        "inventoryYoY": 2.9,
        "domYoY": 45.1,
        "priceCutShareYoY": 72,
        "popChange1yr": 10.9,
        "domesticMigPer1000": 73.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "No cap, quota, or owner-occupancy requirement was found for this market — it appears to allow both owner-occupied and non-owner-occupied (investor) rentals.",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 27.5,
      "riskRating": "Very Low",
      "topHazards": [
        "riverFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 48.1,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 54.2,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 13.2,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 5.6,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 23.1,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 35,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 18.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 187934,
      "homeValue4br": 352638,
      "homeValueYoY": 0.049,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 48,
      "opportunityBasis": "partial",
      "buyerScore": 45,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 97,
        "domYoY": 55,
        "priceCutShareYoY": 28,
        "priceCutShare": 1
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "st-augustine",
      "city": "St. Augustine",
      "state": "Florida",
      "stateCode": "FL",
      "lat": 29.8947,
      "lng": -81.3145,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/st-augustine-fl-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Nightly rentals are allowed only in commercial and most non-residential districts.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/st-augustine-fl-airbnb-regulations",
      "countyName": "St. Johns County",
      "countyFips": "12109",
      "seasonalShare": 0.0997,
      "bigHomeShare": 0.3564,
      "tourismJobShare": 0.0958,
      "amenityScore": 77,
      "dining": 228,
      "attractions": 83,
      "outdoors": 146,
      "lodgingCompetition": 111,
      "pop150": 9341541,
      "pop300": 27510776,
      "nearestMetros": [
        {
          "name": "Orange County, FL",
          "pop": 1427403
        },
        {
          "name": "Duval County, FL",
          "pop": 995708
        },
        {
          "name": "Polk County, FL",
          "pop": 736229
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 12,
      "snowMonths": 0,
      "climate": {
        "highF": [
          65.3,
          69.1,
          72.4,
          75.3,
          80.2,
          84.4,
          86.4,
          86.1,
          83.1,
          78.7,
          71.6,
          67.5
        ],
        "lowF": [
          52.6,
          56.3,
          60.1,
          63.9,
          69.1,
          74.1,
          76.1,
          76.8,
          74.9,
          69.8,
          62.1,
          55.9
        ],
        "precipIn": [
          1.9,
          2.2,
          2.2,
          4.1,
          2.7,
          5.2,
          6.2,
          5.6,
          8,
          2.9,
          4.5,
          2.4
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          8.2,
          8.5,
          9.8,
          10.7,
          11.8,
          10.8,
          10.9,
          10.7,
          9.7,
          9.7,
          7.6,
          7.7
        ]
      },
      "effectiveTaxRate": 0.00816,
      "taxTopCoded": false,
      "annualTax4br": 4714,
      "annualTaxTypical": 3990,
      "lossPer100k": 147,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 78,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": -0.015,
        "listPriceYoY": -0.0273,
        "inventoryYoY": -0.234,
        "domYoY": -0.1529,
        "priceCutShare": 0.2356,
        "priceCutShareYoY": -0.0227,
        "popChange1yr": 0.039,
        "domesticMigPer1000": 37.65
      },
      "activeListings": 2203,
      "medianDom": 72,
      "medianListPrice": 531500,
      "permitsPer1000Units": 39.16,
      "permitsYoY": -0.1507,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 15.8,
        "listPriceYoY": 50.6,
        "inventoryYoY": 99.7,
        "domYoY": 98,
        "priceCutShareYoY": 84.1,
        "popChange1yr": 99.7,
        "domesticMigPer1000": 99.7
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 23685686.03,
        "priorTtm": 23821352.05,
        "yoy": -0.0057,
        "period": "2025-03..2026-02",
        "unit": "tax collected USD",
        "geography": "St. Johns County",
        "locations": null,
        "smallPropertyShare": null,
        "sourceUrl": "https://floridarevenue.com/DataPortal/Pages/TaxResearch.aspx"
      },
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 87.5,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 93.7,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 89,
          "rating": "Relatively High"
        },
        "riverFlood": {
          "score": 89.4,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 89.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 85.4,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 56.6,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 0,
          "rating": "No Rating"
        },
        "hail": {
          "score": 7.5,
          "rating": "Very Low"
        }
      },
      "homeValue": 488938,
      "homeValue4br": 577755,
      "homeValueYoY": -0.015,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 50,
      "opportunityBasis": "partial",
      "buyerScore": 23,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 1,
        "domYoY": 3,
        "priceCutShareYoY": 16,
        "priceCutShare": 72
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "steamboat-springs",
      "city": "Steamboat Springs",
      "state": "Colorado",
      "stateCode": "CO",
      "lat": 40.4848,
      "lng": -106.8317,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/steamboat-springs-co-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Red zones (Zone C) prohibit new short-term rentals, with limited exceptions for hosted STRs, temporary STRs, and legal nonconforming or previously permitted (VHR) properties.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/steamboat-springs-co-airbnb-regulations",
      "countyName": "Routt County",
      "countyFips": "08107",
      "seasonalShare": 0.2902,
      "bigHomeShare": 0.2727,
      "tourismJobShare": 0.167,
      "amenityScore": 57,
      "dining": 41,
      "attractions": 13,
      "outdoors": 390,
      "lodgingCompetition": 54,
      "pop150": 4675663,
      "pop300": 9525173,
      "nearestMetros": [
        {
          "name": "Denver County, CO",
          "pop": 710800
        },
        {
          "name": "Arapahoe County, CO",
          "pop": 654453
        },
        {
          "name": "Jefferson County, CO",
          "pop": 580519
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 8,
      "climate": {
        "highF": [
          30.3,
          30.9,
          39.7,
          47.7,
          58.8,
          73.8,
          83.5,
          82.2,
          73.8,
          54.5,
          41.1,
          32.6
        ],
        "lowF": [
          13.9,
          12.5,
          20.6,
          26.6,
          33.8,
          45.8,
          54.2,
          53.7,
          46.2,
          29.8,
          19.7,
          12.6
        ],
        "precipIn": [
          2.8,
          2.6,
          3.1,
          2.3,
          2,
          1.4,
          0.4,
          0.7,
          0.8,
          2,
          1.9,
          3.2
        ],
        "snowIn": [
          19.6,
          17.9,
          21.1,
          12.3,
          6.7,
          0.6,
          0,
          0,
          0.4,
          10,
          12,
          22.5
        ],
        "sunHours": [
          6.3,
          7.7,
          8.9,
          10.6,
          12.1,
          13.2,
          13.6,
          12.8,
          11.5,
          9.1,
          7.7,
          6.1
        ]
      },
      "effectiveTaxRate": 0.00331,
      "taxTopCoded": false,
      "annualTax4br": 6735,
      "annualTaxTypical": 3721,
      "lossPer100k": 192,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 48,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.042,
        "listPriceYoY": 0.0526,
        "inventoryYoY": 0.0501,
        "domYoY": 0.1644,
        "priceCutShare": 0.2027,
        "priceCutShareYoY": -0.0247,
        "popChange1yr": -0.0056,
        "domesticMigPer1000": -11.35
      },
      "activeListings": 440,
      "medianDom": 85,
      "medianListPrice": 1250000,
      "permitsPer1000Units": 13.1,
      "permitsYoY": -0.6348,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 87.4,
        "listPriceYoY": 89.6,
        "inventoryYoY": 47.4,
        "domYoY": 10.4,
        "priceCutShareYoY": 87.3,
        "popChange1yr": 9.1,
        "domesticMigPer1000": 7.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 33.4,
      "riskRating": "Very Low",
      "topHazards": [
        "wildfire",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 57.5,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 80.5,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 4.3,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 47,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 67.3,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 4.6,
          "rating": "Very Low"
        }
      },
      "homeValue": 1124121,
      "homeValue4br": 2034859,
      "homeValueYoY": 0.042,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 50,
      "opportunityBasis": "partial",
      "buyerScore": 52,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 53,
        "domYoY": 89,
        "priceCutShareYoY": 13,
        "priceCutShare": 53
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "stonington-mystic",
      "city": "Stonington",
      "state": "Connecticut",
      "stateCode": "CT",
      "lat": 41.3357,
      "lng": -71.9081,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 1,
      "regNotes": null,
      "growthTrend": null,
      "permit": "None — no town-level STR permit or license currently exists.",
      "tax": "Connecticut State Room Occupancy Tax of 15% applies to rentals of 30 consecutive days or less; no additional Stonington-specific lodging tax was found.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/stonington-mystic-ct-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of Stonington, CT (includes the Mystic area); Connecticut state law (PA 24-143) since October 2024 permits, but does not require, towns to adopt STR ordinances.",
      "statusNote": "Legally ambiguous: in 2017 Stonington's Planning & Zoning Commission decided the zoning code would not regulate STRs, and a proposed registration ordinance (which had evolved from an earlier draft requiring owner-occupancy) was rejected 694–342 by voter referendum on March 13, 2023. No new ordinance was confirmed as adopted as of this research, though CT's October 2024 state law (PA 24-143) now gives the town clear legal authority to revisit this if it chooses. Investors should check current status directly with the Town before purchasing.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.theday.com/local-news/20230313/stonington-voters-reject-short-term-rental-ordinance/",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "New London County",
      "countyFips": "09011",
      "seasonalShare": 0.0264,
      "bigHomeShare": 0.1993,
      "tourismJobShare": 0.1347,
      "amenityScore": 76,
      "dining": 156,
      "attractions": 39,
      "outdoors": 451,
      "lodgingCompetition": 38,
      "pop150": 33277361,
      "pop300": 54324854,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "summer peak",
      "comfortMonths": 6,
      "snowMonths": 1,
      "climate": {
        "highF": [
          40.1,
          41,
          47.1,
          54.9,
          64.1,
          72.1,
          79.3,
          78.7,
          72.4,
          63.4,
          52.6,
          44.6
        ],
        "lowF": [
          26.6,
          27.1,
          32,
          40.6,
          48.9,
          58.8,
          67.2,
          66.4,
          59.8,
          50.8,
          38.4,
          32.3
        ],
        "precipIn": [
          4.3,
          4.1,
          4.2,
          5.5,
          4.9,
          4.2,
          4.2,
          4.2,
          5.4,
          6.2,
          3.6,
          6.3
        ],
        "snowIn": [
          5,
          6.7,
          3.5,
          0.3,
          0,
          0,
          0,
          0,
          0,
          0.3,
          0.1,
          4.6
        ],
        "sunHours": [
          6,
          6.5,
          8.6,
          8.7,
          10.6,
          11.4,
          11.5,
          10.9,
          9.5,
          7.6,
          7,
          5.6
        ]
      },
      "effectiveTaxRate": 0.01812,
      "taxTopCoded": false,
      "annualTax4br": 10036,
      "annualTaxTypical": 7849,
      "lossPer100k": 131,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 68,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.068,
        "listPriceYoY": -0.0126,
        "inventoryYoY": 0,
        "domYoY": -0.0513,
        "priceCutShare": 0.0861,
        "priceCutShareYoY": -0.0193,
        "popChange1yr": 0.003,
        "domesticMigPer1000": 1.26
      },
      "activeListings": 407,
      "medianDom": 37,
      "medianListPrice": 464000,
      "permitsPer1000Units": 3.51,
      "permitsYoY": -0.1356,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 96,
        "listPriceYoY": 61.8,
        "inventoryYoY": 64.5,
        "domYoY": 70.8,
        "priceCutShareYoY": 79.2,
        "popChange1yr": 49.1,
        "domesticMigPer1000": 53.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Stonington currently has no short-term rental permit, license, or registration requirement at the town level.",
      "regDirectionReviewed": false,
      "driverCount": 12,
      "emergingDriverCount": 1,
      "eventMonths": [
        7,
        8
      ],
      "riskScore": 88.6,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hurricane",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 94.7,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 71.2,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 91.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 39.4,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 53.1,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 80.9,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 76.8,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 45.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 433146,
      "homeValue4br": 553837,
      "homeValueYoY": 0.068,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 63,
      "opportunityBasis": "partial",
      "buyerScore": 22,
      "buyerLabel": "Seller's market",
      "buyerWhy": {
        "inventoryYoY": 36,
        "domYoY": 30,
        "priceCutShareYoY": 21,
        "priceCutShare": 2
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "stowe",
      "city": "Stowe",
      "state": "Vermont",
      "stateCode": "VT",
      "lat": 44.4644,
      "lng": -72.6856,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/stowe-vt-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "May 1, 2026, the number of registered STRs in residential zones is frozen at the existing level; no new registrations are accepted and registrations expire on sale unless the buyer makes the property a primary residence.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/stowe-vt-airbnb-regulations",
      "countyName": "Lamoille County",
      "countyFips": "50015",
      "seasonalShare": 0.1462,
      "bigHomeShare": 0.2502,
      "tourismJobShare": 0.1669,
      "amenityScore": 67,
      "dining": 41,
      "attractions": 40,
      "outdoors": 811,
      "lodgingCompetition": 24,
      "pop150": 4720678,
      "pop300": 41341146,
      "nearestMetros": [
        {
          "name": "Hillsborough County, NH",
          "pop": 422733
        },
        {
          "name": "Rockingham County, NH",
          "pop": 315169
        },
        {
          "name": "Albany County, NY",
          "pop": 315041
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 6,
      "climate": {
        "highF": [
          27.4,
          30,
          39.5,
          51.8,
          64.9,
          73.7,
          78.6,
          76.3,
          68.9,
          58,
          43,
          35
        ],
        "lowF": [
          9.6,
          10.6,
          20.3,
          33.2,
          44.1,
          54.9,
          61.2,
          59.1,
          51.6,
          42,
          27.1,
          20
        ],
        "precipIn": [
          3.5,
          3.2,
          3.1,
          4.5,
          3.6,
          4.6,
          5.4,
          4.3,
          3.8,
          4.9,
          3.8,
          4.2
        ],
        "snowIn": [
          18.7,
          17.6,
          12.7,
          7.7,
          1.2,
          0,
          0,
          0,
          0,
          0.1,
          10.4,
          14
        ],
        "sunHours": [
          4.3,
          5.7,
          7.2,
          7.6,
          10.2,
          10.5,
          11.2,
          10.8,
          8.9,
          6.1,
          5.5,
          3.9
        ]
      },
      "effectiveTaxRate": 0.01714,
      "taxTopCoded": false,
      "annualTax4br": 15917,
      "annualTaxTypical": 8483,
      "lossPer100k": 105,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 53,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.009,
        "listPriceYoY": -0.0288,
        "inventoryYoY": 0.1677,
        "domYoY": 0.0301,
        "priceCutShare": 0.1241,
        "priceCutShareYoY": -0.0656,
        "popChange1yr": 0.0055,
        "domesticMigPer1000": 2.94
      },
      "activeListings": 188,
      "medianDom": 69,
      "medianListPrice": 675000,
      "permitsPer1000Units": 11.11,
      "permitsYoY": 0.2302,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 55.2,
        "listPriceYoY": 48.6,
        "inventoryYoY": 18.5,
        "domYoY": 32.9,
        "priceCutShareYoY": 97.7,
        "popChange1yr": 54,
        "domesticMigPer1000": 61.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "cap",
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "of registered STRs in residential zones is frozen, new registrations are barred, and existing permits no longer transfer when a property sells unless the buyer occupies it as a primary residence (verified via Vermont Homestead Declaration, voter registration, and driver's license).",
      "regDirectionReviewed": false,
      "driverCount": 5,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 18.3,
      "riskRating": "Very Low",
      "topHazards": [
        "winterWeather",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 61.6,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 42.8,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 14,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 10,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 40.5,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 79.1,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 4.8,
          "rating": "Very Low"
        }
      },
      "homeValue": 494913,
      "homeValue4br": 928644,
      "homeValueYoY": 0.009,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 45,
      "opportunityBasis": "partial",
      "buyerScore": 40,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 81,
        "domYoY": 67,
        "priceCutShareYoY": 3,
        "priceCutShare": 10
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "sun-valley",
      "city": "Sun Valley",
      "state": "Idaho",
      "stateCode": "ID",
      "lat": 43.6962,
      "lng": -114.3531,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 1,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/sun-valley-id-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "No license or permit required as of July 1, 2026",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/sun-valley-id-airbnb-regulations",
      "countyName": "Blaine County",
      "countyFips": "16013",
      "seasonalShare": 0.3656,
      "bigHomeShare": 0.1865,
      "tourismJobShare": 0.1736,
      "amenityScore": 42,
      "dining": 19,
      "attractions": 1,
      "outdoors": 407,
      "lodgingCompetition": 9,
      "pop150": 1455759,
      "pop300": 5920966,
      "nearestMetros": [
        {
          "name": "Ada County, ID",
          "pop": 497494
        },
        {
          "name": "Canyon County, ID",
          "pop": 235006
        },
        {
          "name": "Bonneville County, ID",
          "pop": 124490
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 6,
      "climate": {
        "highF": [
          29.9,
          30.1,
          36.7,
          44.1,
          56.3,
          68.8,
          81.6,
          79.1,
          69.8,
          53.6,
          39.8,
          31
        ],
        "lowF": [
          11,
          10.4,
          17,
          22.8,
          31.5,
          40.3,
          49.3,
          49,
          40.4,
          28.7,
          16.6,
          10.9
        ],
        "precipIn": [
          2.2,
          2.2,
          2.2,
          1.4,
          2.3,
          1.5,
          0.6,
          1.2,
          1.1,
          1.5,
          1.8,
          2.4
        ],
        "snowIn": [
          15,
          15.7,
          15.2,
          7.9,
          4.7,
          0.5,
          0,
          0,
          0.7,
          4,
          10.9,
          16.4
        ],
        "sunHours": [
          6.9,
          8,
          9.5,
          10.8,
          11.8,
          13.6,
          14,
          12.6,
          11.4,
          9.6,
          7.6,
          6.2
        ]
      },
      "effectiveTaxRate": 0.00415,
      "taxTopCoded": false,
      "annualTax4br": 10590,
      "annualTaxTypical": 4603,
      "lossPer100k": 213,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 45,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.132,
        "listPriceYoY": -0.131,
        "inventoryYoY": 0.0115,
        "domYoY": -0.0698,
        "priceCutShare": 0.19,
        "priceCutShareYoY": -0.0117,
        "popChange1yr": -0.0072,
        "domesticMigPer1000": -12.22
      },
      "activeListings": 264,
      "medianDom": 60,
      "medianListPrice": 1825000,
      "permitsPer1000Units": 7.26,
      "permitsYoY": -0.0504,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 100,
        "listPriceYoY": 1.7,
        "inventoryYoY": 59,
        "domYoY": 78.6,
        "priceCutShareYoY": 63.6,
        "popChange1yr": 6.9,
        "domesticMigPer1000": 6.3
      },
      "supplyCaution": false,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "regDirection": "loosening",
      "regChangeType": "state-preemption",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Idaho House Bill 583, signed March 16 and effective July 1, 2026, enacted one of the nation's broadest state preemptions of local STR rules, barring cities like Sun Valley from requiring an operating license, permit, registration, or fee.",
      "regDirectionReviewed": false,
      "driverCount": 2,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 65.4,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 70.5,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 93.8,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 7.7,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 73.7,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 93.1,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 5.8,
          "rating": "Very Low"
        }
      },
      "homeValue": 1109252,
      "homeValue4br": 2551783,
      "homeValueYoY": 0.132,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 55,
      "opportunityBasis": "partial",
      "buyerScore": 36,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 41,
        "domYoY": 22,
        "priceCutShareYoY": 36,
        "priceCutShare": 46
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "taos",
      "city": "Taos",
      "state": "New Mexico",
      "stateCode": "NM",
      "lat": 36.4072,
      "lng": -105.5731,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 5,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Town of Taos: a Short-Term Rental Permit, issued first-come-first-served up to the 120-permit cap; annual renewal is due November 30 (the permit year ends September 30). Taos County (unincorporated area only): an STR permit under the county's August 2024 ordinance, capped at roughly 400 permits, with an estimated 220-230 existing home-occupation-permit holders grandfathered in if they maintain their county business registration.",
      "tax": "Town of Taos: 5.0% Lodgers' Tax on reservations under 30 nights, plus New Mexico's statewide Gross Receipts Tax.",
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/taos-nm-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of Taos (in-town) and Taos County (unincorporated county, under a separate ordinance adopted August 2024) — two distinct permit regimes apply depending on parcel location.",
      "strCap": "Town: hard cap of 120 STR permits citywide, allocated first-come-first-served, plus outright bans in Historic Districts, Historic and Hotel Overlay Zones, and the Central Business District (with limited renewal-only exceptions for previously permitted units in those zones). County (unincorporated): hard cap of roughly 400 permits, effective on or about October 21, 2024, with exemptions for certain existing operators.",
      "statusNote": "Two separate STR regimes (Town of Taos vs. unincorporated Taos County) apply depending on the exact parcel location — always confirm which jurisdiction governs a specific property before assuming either cap or rule set applies.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.taosnm.gov/427/Short-Term-Rentals",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Taos County",
      "countyFips": "35055",
      "seasonalShare": 0.1595,
      "bigHomeShare": 0.0818,
      "tourismJobShare": 0.1265,
      "amenityScore": 58,
      "dining": 66,
      "attractions": 49,
      "outdoors": 19,
      "lodgingCompetition": 25,
      "pop150": 1605409,
      "pop300": 8974275,
      "nearestMetros": [
        {
          "name": "Bernalillo County, NM",
          "pop": 674692
        },
        {
          "name": "Pueblo County, CO",
          "pop": 168135
        },
        {
          "name": "Santa Fe County, NM",
          "pop": 154481
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 7,
      "snowMonths": 4,
      "climate": {
        "highF": [
          34.1,
          36.3,
          46.4,
          60.4,
          70.3,
          80,
          84.7,
          82.7,
          76.6,
          62.6,
          50.5,
          38.1
        ],
        "lowF": [
          12.7,
          14.2,
          23.8,
          32.8,
          41.4,
          50.2,
          55.3,
          54.3,
          48.8,
          36.6,
          26.9,
          16.2
        ],
        "precipIn": [
          1,
          1.3,
          1.9,
          0.7,
          1.1,
          1,
          1,
          0.6,
          1,
          0.8,
          0.9,
          1.4
        ],
        "snowIn": [
          6.7,
          8.1,
          10.1,
          2.3,
          1,
          0,
          0,
          0,
          0.5,
          2.5,
          4.1,
          8.4
        ],
        "sunHours": [
          8.5,
          9.3,
          10,
          11.9,
          12.8,
          13,
          13.2,
          12.5,
          11.5,
          10.3,
          9.2,
          8.3
        ]
      },
      "effectiveTaxRate": 0.00395,
      "taxTopCoded": false,
      "annualTax4br": 2874,
      "annualTaxTypical": 1732,
      "lossPer100k": 218,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 45,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": -0.005,
        "listPriceYoY": -0.0339,
        "inventoryYoY": 0.0661,
        "domYoY": 0.2267,
        "priceCutShare": 0.1408,
        "priceCutShareYoY": -0.0141,
        "popChange1yr": 0.0036,
        "domesticMigPer1000": 7.06
      },
      "activeListings": 355,
      "medianDom": 92,
      "medianListPrice": 599000,
      "permitsPer1000Units": 5.01,
      "permitsYoY": -0.1732,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 32.5,
        "listPriceYoY": 41,
        "inventoryYoY": 38.7,
        "domYoY": 2.6,
        "priceCutShareYoY": 68.2,
        "popChange1yr": 50.6,
        "domesticMigPer1000": 80.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "cap",
      "regChangeYear": 2024,
      "regChangePending": false,
      "regDirectionEvidence": "Taos County separately adopted its first comprehensive STR ordinance on August 20, 2024, capping permits in the unincorporated county at roughly 400.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 74.3,
      "riskRating": "Relatively Low",
      "topHazards": [
        "wildfire",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 81.7,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 96.2,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 21.7,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 62,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 92.9,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 17.2,
          "rating": "Very Low"
        }
      },
      "homeValue": 438441,
      "homeValue4br": 727514,
      "homeValueYoY": -0.005,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 27,
      "opportunityBasis": "partial",
      "buyerScore": 51,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 61,
        "domYoY": 97,
        "priceCutShareYoY": 32,
        "priceCutShare": 13
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "telluride",
      "city": "Telluride",
      "state": "Colorado",
      "stateCode": "CO",
      "lat": 37.9375,
      "lng": -107.8123,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/telluride-co-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "residential-zone properties under a Residential or Limited license are limited to at most 3 short-term rentals per calendar year and a cumulative maximum of 29 STR nights annually.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/telluride-co-airbnb-regulations",
      "countyName": "San Miguel County",
      "countyFips": "08113",
      "seasonalShare": 0.3484,
      "bigHomeShare": 0.2038,
      "tourismJobShare": 0.2039,
      "amenityScore": 63,
      "dining": 20,
      "attractions": 42,
      "outdoors": 647,
      "lodgingCompetition": 23,
      "pop150": 862859,
      "pop300": 9929419,
      "nearestMetros": [
        {
          "name": "Mesa County, CO",
          "pop": 156131
        },
        {
          "name": "San Juan County, NM",
          "pop": 121798
        },
        {
          "name": "Garfield County, CO",
          "pop": 61683
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 4,
      "snowMonths": 8,
      "climate": {
        "highF": [
          30.4,
          29.7,
          36,
          44.4,
          53.3,
          65.5,
          73.6,
          72.3,
          65.9,
          51.9,
          41,
          32.5
        ],
        "lowF": [
          11.4,
          10.9,
          17.9,
          24.1,
          31.5,
          36.8,
          45.9,
          45.3,
          39.6,
          26.4,
          15.8,
          10.2
        ],
        "precipIn": [
          2.3,
          2.5,
          3.8,
          1.8,
          1.8,
          1.6,
          3,
          2.4,
          1.7,
          1.6,
          1.7,
          2.7
        ],
        "snowIn": [
          15.8,
          17.7,
          26.3,
          12.2,
          9.1,
          1.6,
          0,
          0,
          1.5,
          7.9,
          11.9,
          18.8
        ],
        "sunHours": [
          7.4,
          8.4,
          9.2,
          11.8,
          12.8,
          13.6,
          13.2,
          12.6,
          11.5,
          10.2,
          8.7,
          7.1
        ]
      },
      "effectiveTaxRate": 0.00251,
      "taxTopCoded": false,
      "annualTax4br": 11101,
      "annualTaxTypical": 4011,
      "lossPer100k": 179,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 43,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.079,
        "listPriceYoY": -0.0398,
        "inventoryYoY": 0.1382,
        "domYoY": -0.1133,
        "priceCutShare": 0.104,
        "priceCutShareYoY": -0.0031,
        "popChange1yr": -0.0083,
        "domesticMigPer1000": -13.17
      },
      "activeListings": 280,
      "medianDom": 67,
      "medianListPrice": 3072500,
      "permitsPer1000Units": 7.77,
      "permitsYoY": -0.1053,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 97.7,
        "listPriceYoY": 36.4,
        "inventoryYoY": 22.5,
        "domYoY": 89.6,
        "priceCutShareYoY": 47.4,
        "popChange1yr": 4,
        "domesticMigPer1000": 5.7
      },
      "supplyCaution": false,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 8,
      "emergingDriverCount": 0,
      "eventMonths": [
        6,
        9
      ],
      "riskScore": 19.1,
      "riskRating": "Very Low",
      "topHazards": [
        "wildfire",
        "winterWeather"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 31.6,
          "rating": "Very Low"
        },
        "wildfire": {
          "score": 80.1,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 3.4,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 31.4,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 43.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 1.6,
          "rating": "Very Low"
        }
      },
      "homeValue": 1597939,
      "homeValue4br": 4422884,
      "homeValueYoY": 0.079,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 42,
      "opportunityBasis": "partial",
      "buyerScore": 36,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 77,
        "domYoY": 11,
        "priceCutShareYoY": 52,
        "priceCutShare": 3
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "town-of-catskill",
      "city": "Catskill",
      "state": "New York",
      "stateCode": "NY",
      "lat": 42.2168,
      "lng": -73.8648,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental Permit under Town Code Chapter 133 (Local Law No. 1-2022, adopted April 20, 2022); required for any dwelling unit used as an STR; includes safety inspection.",
      "tax": "Statewide 4% NYS sales tax on STR occupancy (platform-collected) plus applicable Greene County lodging/occupancy tax (rate not independently confirmed).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "Reported as roughly 2 persons per bedroom plus 2 additional per unit (secondary-source aggregation, not independently confirmed against the primary code text).",
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/town-of-catskill-ny-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "Town of Catskill (Local Law No. 1-2022, Town Code Chapter 133)",
      "permitFee": "Reported as $500 per unit for initial permit and $200 per unit for renewal (secondary-source aggregation; verify with Town Code Enforcement).",
      "ownerOccupancy": "Not required, but non-owner-occupied STRs must designate a local host reachable by phone at all times the unit is occupied and able to reach the property within 30 minutes by car.",
      "statusNote": "Neighboring Town of Windham drafted a much stricter STR law in 2020 (proposed permit cap of 150 total for Windham/Hensonville/Maplecrest) but withdrew it in November 2020 after community pushback and currently has NO STR permit requirement at all — rules vary sharply between adjacent Catskills towns; do not assume Catskill's regime applies elsewhere in the region.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.townofcatskillny.gov/code-enforcement/files/short-term-rental-application",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Greene County",
      "countyFips": "36039",
      "seasonalShare": 0.312,
      "bigHomeShare": 0.2007,
      "tourismJobShare": 0.1182,
      "amenityScore": 63,
      "dining": 67,
      "attractions": 39,
      "outdoors": 70,
      "lodgingCompetition": 24,
      "pop150": 37034419,
      "pop300": 63532938,
      "nearestMetros": [
        {
          "name": "Kings County, NY",
          "pop": 2679620
        },
        {
          "name": "Queens County, NY",
          "pop": 2360826
        },
        {
          "name": "New York County, NY",
          "pop": 1645867
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 6,
      "snowMonths": 4,
      "climate": {
        "highF": [
          37.1,
          40.3,
          49.4,
          59.3,
          70.1,
          79.7,
          85.4,
          83.6,
          75.1,
          63.9,
          50.5,
          42.3
        ],
        "lowF": [
          22.5,
          23.1,
          29.8,
          39.7,
          49.1,
          59.8,
          66.7,
          65.3,
          57.8,
          48.3,
          35.4,
          28.9
        ],
        "precipIn": [
          2.8,
          2.9,
          3.4,
          4.9,
          2.9,
          3.4,
          4.1,
          3.1,
          5.2,
          5.3,
          3.1,
          4.9
        ],
        "snowIn": [
          7.4,
          8.3,
          7.8,
          0.8,
          0.1,
          0,
          0,
          0,
          0,
          0.2,
          1.2,
          7.1
        ],
        "sunHours": [
          5.4,
          6.2,
          7.9,
          8.3,
          10.4,
          11,
          11.2,
          11,
          9.2,
          7,
          6.6,
          4.8
        ]
      },
      "effectiveTaxRate": 0.01764,
      "taxTopCoded": false,
      "annualTax4br": 8176,
      "annualTaxTypical": 6540,
      "lossPer100k": 129,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 47,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.035,
        "listPriceYoY": -0.0802,
        "inventoryYoY": 0.0042,
        "domYoY": -0.0471,
        "priceCutShare": 0.1101,
        "priceCutShareYoY": 0.0096,
        "popChange1yr": -0.0015,
        "domesticMigPer1000": 1.67
      },
      "activeListings": 473,
      "medianDom": 81,
      "medianListPrice": 459000,
      "permitsPer1000Units": 4.83,
      "permitsYoY": 0.25,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 82.8,
        "listPriceYoY": 8.1,
        "inventoryYoY": 62.4,
        "domYoY": 68.2,
        "priceCutShareYoY": 30.1,
        "popChange1yr": 22.3,
        "domesticMigPer1000": 55.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": 2022,
      "regChangePending": false,
      "regDirectionEvidence": "The Town of Catskill adopted a dedicated short-term rental law (Local Law No. 1-2022) on April 20, 2022, requiring a permit for any dwelling unit used as an STR.",
      "regDirectionReviewed": false,
      "driverCount": 8,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 68.3,
      "riskRating": "Relatively Low",
      "topHazards": [
        "riverFlood",
        "hurricane"
      ],
      "hazards": {
        "hurricane": {
          "score": 81.4,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": 19,
          "rating": "Very Low"
        },
        "riverFlood": {
          "score": 81.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 18.9,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 54.5,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 54.6,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 35.3,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 47.6,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 370743,
      "homeValue4br": 463488,
      "homeValueYoY": 0.035,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 44,
      "opportunityBasis": "partial",
      "buyerScore": 36,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 38,
        "domYoY": 32,
        "priceCutShareYoY": 70,
        "priceCutShare": 4
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "traverse-city",
      "city": "Traverse City",
      "state": "Michigan",
      "stateCode": "MI",
      "lat": 44.7606,
      "lng": -85.6166,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/traverse-city-mi-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "in the C-1, C-2, and D-2 districts, no more than 25 percent of units in a multi-unit building (or one unit, whichever is greater) may operate as STRs",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/traverse-city-mi-airbnb-regulations",
      "countyName": "Grand Traverse County",
      "countyFips": "26055",
      "seasonalShare": 0.1008,
      "bigHomeShare": 0.2154,
      "tourismJobShare": 0.1086,
      "amenityScore": 77,
      "dining": 212,
      "attractions": 46,
      "outdoors": 373,
      "lodgingCompetition": 58,
      "pop150": 3836356,
      "pop300": 30479585,
      "nearestMetros": [
        {
          "name": "Kent County, MI",
          "pop": 657321
        },
        {
          "name": "Ottawa County, MI",
          "pop": 296183
        },
        {
          "name": "Brown County, WI",
          "pop": 268393
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 5,
      "climate": {
        "highF": [
          28.9,
          29.1,
          39.8,
          50.7,
          63.6,
          74.3,
          78.1,
          77,
          70,
          56.8,
          44.4,
          36.3
        ],
        "lowF": [
          19.4,
          16.8,
          25.1,
          34.4,
          43.9,
          55.3,
          62.1,
          61.9,
          56.2,
          45.6,
          34,
          27.6
        ],
        "precipIn": [
          2.2,
          2.2,
          3,
          3.1,
          3.6,
          2.7,
          3,
          2.5,
          3.6,
          4.7,
          2.9,
          2.6
        ],
        "snowIn": [
          12.8,
          12.2,
          7.6,
          3.2,
          1,
          0,
          0,
          0,
          0,
          0.9,
          8,
          11.2
        ],
        "sunHours": [
          2.7,
          5,
          6.9,
          8.2,
          10.7,
          12.3,
          12.8,
          11.8,
          9.4,
          6.2,
          5,
          3.1
        ]
      },
      "effectiveTaxRate": 0.01034,
      "taxTopCoded": false,
      "annualTax4br": 6003,
      "annualTaxTypical": 4330,
      "lossPer100k": 55,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 67,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.024,
        "listPriceYoY": 0.0902,
        "inventoryYoY": 0.0453,
        "domYoY": -0.1186,
        "priceCutShare": 0.1898,
        "priceCutShareYoY": -0.0007,
        "popChange1yr": 0.0027,
        "domesticMigPer1000": 4.21
      },
      "activeListings": 485,
      "medianDom": 52,
      "medianListPrice": 545000,
      "permitsPer1000Units": 10.36,
      "permitsYoY": -0.4621,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 71,
        "listPriceYoY": 96,
        "inventoryYoY": 48,
        "domYoY": 91.9,
        "priceCutShareYoY": 43.9,
        "popChange1yr": 48,
        "domesticMigPer1000": 66.9
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "driverCount": 4,
      "emergingDriverCount": 0,
      "eventMonths": [
        7
      ],
      "riskScore": 65.6,
      "riskRating": "Relatively Low",
      "topHazards": [
        "winterWeather",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 18.1,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": 32.6,
          "rating": "Very Low"
        },
        "riverFlood": {
          "score": 58,
          "rating": "Relatively Low"
        },
        "wildfire": {
          "score": 31,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 43,
          "rating": "Relatively Low"
        },
        "earthquake": {
          "score": 15,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 98,
          "rating": "Very High"
        },
        "hail": {
          "score": 53.1,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 418758,
      "homeValue4br": 580582,
      "homeValueYoY": 0.024,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 42,
      "opportunityBasis": "partial",
      "buyerScore": 41,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 52,
        "domYoY": 9,
        "priceCutShareYoY": 56,
        "priceCutShare": 45
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "tybee-island",
      "city": "Tybee Island",
      "state": "Georgia",
      "stateCode": "GA",
      "lat": 31.9987,
      "lng": -80.8469,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/tybee-island-ga-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "the city stopped issuing new STR certificates in the R-1, R-1B, and R-2 residential zones that cover roughly 85% of the island",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/tybee-island-ga-airbnb-regulations",
      "countyName": "Chatham County",
      "countyFips": "13051",
      "seasonalShare": 0.0245,
      "bigHomeShare": 0.1797,
      "tourismJobShare": 0.1325,
      "amenityScore": 53,
      "dining": 62,
      "attractions": 9,
      "outdoors": 50,
      "lodgingCompetition": 18,
      "pop150": 5471591,
      "pop300": 35460269,
      "nearestMetros": [
        {
          "name": "Duval County, FL",
          "pop": 995708
        },
        {
          "name": "Richland County, SC",
          "pop": 416161
        },
        {
          "name": "Charleston County, SC",
          "pop": 409840
        }
      ],
      "seasonType": "year-round",
      "comfortMonths": 11,
      "snowMonths": 0,
      "climate": {
        "highF": [
          59.6,
          63.2,
          68.6,
          74.3,
          80.2,
          85.1,
          87.2,
          85.9,
          82.6,
          76.5,
          66.8,
          61.7
        ],
        "lowF": [
          47.1,
          50.9,
          56.1,
          61,
          68.9,
          74.8,
          78.2,
          78,
          73.4,
          65.9,
          55.5,
          50.2
        ],
        "precipIn": [
          2.6,
          3.5,
          3.7,
          3.1,
          2,
          4.2,
          4.2,
          5.8,
          4.9,
          2.8,
          3.6,
          4.3
        ],
        "snowIn": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.8,
          7.7,
          9.3,
          10.9,
          11.8,
          11.1,
          11.6,
          10.9,
          10.2,
          9.5,
          8,
          7.5
        ]
      },
      "effectiveTaxRate": 0.00943,
      "taxTopCoded": false,
      "annualTax4br": 3888,
      "annualTaxTypical": 3162,
      "lossPer100k": 382,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 32,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.032,
        "listPriceYoY": -0.0472,
        "inventoryYoY": 0.2308,
        "domYoY": 0.2154,
        "priceCutShare": 0.2319,
        "priceCutShareYoY": -0.0143,
        "popChange1yr": 0.0073,
        "domesticMigPer1000": 0.16
      },
      "activeListings": 1760,
      "medianDom": 79,
      "medianListPrice": 399000,
      "permitsPer1000Units": 32.98,
      "permitsYoY": 0.6447,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 5.2,
        "listPriceYoY": 29.8,
        "inventoryYoY": 11.3,
        "domYoY": 3.8,
        "priceCutShareYoY": 69.4,
        "popChange1yr": 62.6,
        "domesticMigPer1000": 40.9
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "cap",
      "regChangeYear": 2026,
      "regChangePending": true,
      "regDirectionEvidence": "In March 2026, Mayor West proposed a hard island-wide cap of 775 total STR licenses, and the council voted 4-2 to direct staff to draft an ordinance.",
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 97.4,
      "riskRating": "Relatively High",
      "topHazards": [
        "hurricane",
        "coastalFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 99.4,
          "rating": "Very High"
        },
        "coastalFlood": {
          "score": 96,
          "rating": "Very High"
        },
        "riverFlood": {
          "score": 90.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 92.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 77.4,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 94.4,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 67.9,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 69.1,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 335273,
      "homeValue4br": 412252,
      "homeValueYoY": -0.032,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 35,
      "opportunityBasis": "partial",
      "buyerScore": 71,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 89,
        "domYoY": 96,
        "priceCutShareYoY": 31,
        "priceCutShare": 69
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "washington",
      "city": "Washington",
      "state": "Washington, D.C.",
      "stateCode": "DC",
      "lat": 38.9072,
      "lng": -77.0369,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 5,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Short-Term Rental (STR) license — host present, unlimited days/year, 30-night max per stay; OR Vacation Rental (VR) license — host absent, 90 cumulative nights/year cap, 30-night max per stay. Both applied for via boss.dc.gov / Access DC.",
      "tax": "Combined 15.95% sales/use tax on transient accommodations (10.20% base + 4.45% additional), extended through Sept 30, 2027 per DC OTR",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "STR type: maximum 8 guests or 2 per bedroom, whichever is greater",
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/washington-dc-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "District of Columbia — Department of Licensing and Consumer Protection (DLCP), under the Short-Term Rental Regulation Act of 2019",
      "permitFee": "$99 for a 2-year license (either type)",
      "strCap": "Not a numeric citywide cap, but a structural ban on non-primary-residence STR investment; the Vacation Rental type is additionally capped at 90 cumulative nights/year",
      "ownerOccupancy": "Required for both license types — the unit must be the licensee's primary residence and Homestead-Tax-Deduction-eligible; only a natural person (no LLC or corporation) may hold the license",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://dlcp.dc.gov/page/operating-short-term-rental-district-columbia",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "District of Columbia",
      "countyFips": "11001",
      "seasonalShare": 0.0081,
      "bigHomeShare": 0.1182,
      "tourismJobShare": 0.0761,
      "amenityScore": 100,
      "dining": 3361,
      "attractions": 397,
      "outdoors": 1900,
      "lodgingCompetition": 336,
      "pop150": 24392371,
      "pop300": 69029650,
      "nearestMetros": [
        {
          "name": "Philadelphia County, PA",
          "pop": 1593208
        },
        {
          "name": "Fairfax County, VA",
          "pop": 1145354
        },
        {
          "name": "Montgomery County, MD",
          "pop": 1056910
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 6,
      "snowMonths": 0,
      "climate": {
        "highF": [
          44.4,
          48.8,
          56.8,
          66.2,
          74,
          83.7,
          89,
          85.8,
          79.5,
          68.9,
          56.2,
          48.8
        ],
        "lowF": [
          29.4,
          31.4,
          37.3,
          45.7,
          54.4,
          64.1,
          70.4,
          68.9,
          62.1,
          51.9,
          39.1,
          33.3
        ],
        "precipIn": [
          3.1,
          3.8,
          3.5,
          4.2,
          4.1,
          5.2,
          6.6,
          7.7,
          4.6,
          4.5,
          3.4,
          4.8
        ],
        "snowIn": [
          4.9,
          4,
          1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.1,
          0.8
        ],
        "sunHours": [
          6,
          6.6,
          8,
          9.3,
          10.1,
          11.4,
          12,
          10.6,
          9.3,
          7.6,
          7.9,
          6
        ]
      },
      "effectiveTaxRate": 0.00561,
      "taxTopCoded": false,
      "annualTax4br": 5500,
      "annualTaxTypical": 3198,
      "lossPer100k": 43,
      "lodgingTaxPct": 15.95,
      "lodgingTaxBasis": "stated-total",
      "momentumScore": 32,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.01,
        "listPriceYoY": -0.0887,
        "inventoryYoY": -0.0444,
        "domYoY": 0.0156,
        "priceCutShare": 0.1692,
        "priceCutShareYoY": 0.0263,
        "popChange1yr": 0.0034,
        "domesticMigPer1000": -5.97
      },
      "activeListings": 2583,
      "medianDom": 65,
      "medianListPrice": 524000,
      "permitsPer1000Units": 4.54,
      "permitsYoY": -0.0841,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 22.4,
        "listPriceYoY": 5.2,
        "inventoryYoY": 76.3,
        "domYoY": 42.8,
        "priceCutShareYoY": 11.3,
        "popChange1yr": 49.7,
        "domesticMigPer1000": 19.4
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "the core primary-residence licensing framework (2019 Act) is unchanged.",
      "regDirectionReviewed": false,
      "driverCount": 11,
      "emergingDriverCount": 1,
      "eventMonths": [
        3,
        4,
        5
      ],
      "riskScore": 97.6,
      "riskRating": "Relatively High",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 96,
          "rating": "Relatively High"
        },
        "coastalFlood": {
          "score": 74,
          "rating": "Relatively Moderate"
        },
        "riverFlood": {
          "score": 97.4,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 26.2,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 90.4,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 98.3,
          "rating": "Relatively High"
        },
        "winterWeather": {
          "score": 96.8,
          "rating": "Very High"
        },
        "hail": {
          "score": 97,
          "rating": "Relatively High"
        }
      },
      "homeValue": 570135,
      "homeValue4br": 980465,
      "homeValueYoY": -0.01,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 28,
      "opportunityBasis": "partial",
      "buyerScore": 50,
      "buyerLabel": "Balanced",
      "buyerWhy": {
        "inventoryYoY": 24,
        "domYoY": 57,
        "priceCutShareYoY": 89,
        "priceCutShare": 28
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "wears-valley",
      "city": "Wears Valley",
      "state": "Tennessee",
      "stateCode": "TN",
      "lat": 35.7141,
      "lng": -83.6525,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 2,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/wears-valley-tn-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "No caps or owner-occupancy rule",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/wears-valley-tn-airbnb-regulations",
      "countyName": "Sevier County",
      "countyFips": "47155",
      "seasonalShare": 0.1419,
      "bigHomeShare": 0.1487,
      "tourismJobShare": 0.2335,
      "amenityScore": 71,
      "dining": 175,
      "attractions": 100,
      "outdoors": 76,
      "lodgingCompetition": 189,
      "pop150": 13893000,
      "pop300": 46832214,
      "nearestMetros": [
        {
          "name": "Fulton County, GA",
          "pop": 1061944
        },
        {
          "name": "Gwinnett County, GA",
          "pop": 957977
        },
        {
          "name": "Cobb County, GA",
          "pop": 765813
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 1,
      "climate": {
        "highF": [
          49.7,
          55.6,
          61.9,
          67.8,
          75.5,
          82.2,
          86.5,
          84.8,
          80.3,
          70.7,
          59.2,
          54.6
        ],
        "lowF": [
          33.9,
          37.4,
          42.1,
          47.7,
          57.4,
          64.4,
          68.7,
          67.4,
          62,
          52,
          40.3,
          37.4
        ],
        "precipIn": [
          5.5,
          6.9,
          6.1,
          4.4,
          5.1,
          4,
          4.1,
          5.5,
          3.1,
          4.8,
          3.1,
          4.8
        ],
        "snowIn": [
          6.2,
          2.8,
          1,
          0.2,
          0,
          0,
          0,
          0,
          0,
          0,
          0.9,
          1.6
        ],
        "sunHours": [
          5.9,
          6,
          8.1,
          9.8,
          10.8,
          11.8,
          12,
          11.2,
          10.6,
          8.8,
          8,
          6.3
        ]
      },
      "effectiveTaxRate": 0.00338,
      "taxTopCoded": false,
      "annualTax4br": 2206,
      "annualTaxTypical": 1378,
      "lossPer100k": 124,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 29,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.002,
        "listPriceYoY": -0.0771,
        "inventoryYoY": 0.0444,
        "domYoY": 0.0549,
        "priceCutShare": 0.287,
        "priceCutShareYoY": 0.0182,
        "popChange1yr": 0.0012,
        "domesticMigPer1000": -3.11
      },
      "activeListings": 2164,
      "medianDom": 96,
      "medianListPrice": 599900,
      "permitsPer1000Units": 20.08,
      "permitsYoY": -0.2096,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 35.9,
        "listPriceYoY": 10.1,
        "inventoryYoY": 49.4,
        "domYoY": 22.8,
        "priceCutShareYoY": 18.8,
        "popChange1yr": 38.9,
        "domesticMigPer1000": 28.3
      },
      "supplyCaution": true,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": "Sevier County does not impose density caps, a limit on total permits, or a primary-residence requirement.",
      "regDirectionReviewed": false,
      "driverCount": 7,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 77.4,
      "riskRating": "Relatively Low",
      "topHazards": [
        "earthquake",
        "riverFlood"
      ],
      "hazards": {
        "hurricane": {
          "score": 56.5,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 84.1,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 78.7,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 70.9,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 90,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 81.2,
          "rating": "Relatively Moderate"
        },
        "hail": {
          "score": 56.2,
          "rating": "Relatively Low"
        }
      },
      "homeValue": 407695,
      "homeValue4br": 652572,
      "homeValueYoY": -0.002,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 55,
      "opportunityBasis": "partial",
      "buyerScore": 76,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 51,
        "domYoY": 77,
        "priceCutShareYoY": 81,
        "priceCutShare": 95
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "whitefish",
      "city": "Whitefish",
      "state": "Montana",
      "stateCode": "MT",
      "lat": 48.4108,
      "lng": -114.3346,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/whitefish-mt-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Short-term rentals are permitted only in five districts: WB-3, WRR-1, WRR-2, WRB-1, and WRB-2. They are prohibited in R-1, R-2, and R-3 residential zones, agricultural zones, and industrial zones, which excludes most of the city's housing.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/whitefish-mt-airbnb-regulations",
      "countyName": "Flathead County",
      "countyFips": "30029",
      "seasonalShare": 0.121,
      "bigHomeShare": 0.2108,
      "tourismJobShare": 0.1202,
      "amenityScore": 58,
      "dining": 51,
      "attractions": 14,
      "outdoors": 331,
      "lodgingCompetition": 33,
      "pop150": 685518,
      "pop300": 2678366,
      "nearestMetros": [
        {
          "name": "Kootenai County, ID",
          "pop": 173396
        },
        {
          "name": "Missoula County, MT",
          "pop": 118541
        },
        {
          "name": "Flathead County, MT",
          "pop": 105950
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 4,
      "climate": {
        "highF": [
          32.6,
          30.3,
          42.6,
          50.7,
          61.8,
          69.9,
          79.8,
          78.4,
          68,
          52.2,
          38.3,
          32.4
        ],
        "lowF": [
          18.4,
          12.8,
          22.6,
          29.1,
          39.9,
          47.8,
          53.8,
          54.2,
          46.6,
          34.4,
          25.5,
          20.8
        ],
        "precipIn": [
          1.7,
          1.8,
          1.3,
          2,
          3,
          2.7,
          0.5,
          1.3,
          1.7,
          2.1,
          2.3,
          2
        ],
        "snowIn": [
          9.1,
          9.9,
          4.8,
          4.6,
          0.8,
          0,
          0,
          0,
          0.3,
          3.2,
          7.2,
          10.1
        ],
        "sunHours": [
          4.6,
          5.8,
          8.9,
          9.9,
          11.2,
          12.5,
          14.5,
          12.3,
          10.4,
          8,
          5.6,
          3.5
        ]
      },
      "effectiveTaxRate": 0.00658,
      "taxTopCoded": false,
      "annualTax4br": 5647,
      "annualTaxTypical": 4282,
      "lossPer100k": 184,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 66,
      "momentumLabel": "Heating",
      "momentum": {
        "priceYoY": 0.018,
        "listPriceYoY": -0.0512,
        "inventoryYoY": -0.0671,
        "domYoY": -0.0197,
        "priceCutShare": 0.2259,
        "priceCutShareYoY": -0.02,
        "popChange1yr": 0.0093,
        "domesticMigPer1000": 7.99
      },
      "activeListings": 960,
      "medianDom": 75,
      "medianListPrice": 895000,
      "permitsPer1000Units": 16.52,
      "permitsYoY": 1.9021,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 63.8,
        "listPriceYoY": 20.8,
        "inventoryYoY": 82.7,
        "domYoY": 55.5,
        "priceCutShareYoY": 79.8,
        "popChange1yr": 80.3,
        "domesticMigPer1000": 82.3
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 86.5,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "earthquake",
        "wildfire"
      ],
      "hazards": {
        "hurricane": {
          "score": null,
          "rating": "Not Applicable"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 79.8,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 95.5,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 4.6,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 95.8,
          "rating": "Relatively Moderate"
        },
        "winterWeather": {
          "score": 94,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 21.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 650765,
      "homeValue4br": 858237,
      "homeValueYoY": 0.018,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 37,
      "opportunityBasis": "partial",
      "buyerScore": 37,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 18,
        "domYoY": 45,
        "priceCutShareYoY": 20,
        "priceCutShare": 65
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "wichita",
      "city": "Wichita",
      "state": "Kansas",
      "stateCode": "KS",
      "lat": 37.6872,
      "lng": -97.3301,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": "Annual Short-Term Rental License through the city; non-owner-occupied units must first obtain an Administrative Permit through the Wichita-Sedgwick County Metropolitan Area Planning Department before licensing.",
      "tax": "6.5% Kansas state sales tax + local Transient Guest Tax (varies by jurisdiction).",
      "zoning": null,
      "minStay": null,
      "occupancyRule": "2 adults per bedroom, plus 2 additional adults per unit (excluding studios/efficiencies).",
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/wichita-ks-airbnb-regulations",
      "sources": [
        "regulation-page",
        "geocoded",
        "regulations-table"
      ],
      "geoSource": "openstreetmap",
      "jurisdiction": "City of Wichita / Wichita-Sedgwick County Metropolitan Area Planning Department",
      "permitFee": "$225 per unit, per year; a separate license is required for each dwelling unit or structure.",
      "ownerOccupancy": "Not required overall, but owner-occupied units get a simpler licensing path; 'owner-occupied' requires the owner to reside on the premises AND be present during the rental period. Non-owner-occupied units require the additional Administrative Permit.",
      "transfersOnSale": "Not transferable — the license expires one year from issuance and is described as non-transferable.",
      "regLastVerified": "2026-09-20",
      "regSourceUrl": "https://www.wichita.gov/588/Short-Term-Rentals-in-Wichita",
      "regStrictnessSource": "derived",
      "regRatingReviewed": false,
      "countyName": "Sedgwick County",
      "countyFips": "20173",
      "seasonalShare": 0.0029,
      "bigHomeShare": 0.2519,
      "tourismJobShare": 0.0919,
      "amenityScore": 75,
      "dining": 306,
      "attractions": 39,
      "outdoors": 189,
      "lodgingCompetition": 102,
      "pop150": 4001472,
      "pop300": 13854539,
      "nearestMetros": [
        {
          "name": "Oklahoma County, OK",
          "pop": 795822
        },
        {
          "name": "Tulsa County, OK",
          "pop": 668923
        },
        {
          "name": "Sedgwick County, KS",
          "pop": 522700
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 5,
      "snowMonths": 0,
      "climate": {
        "highF": [
          44.6,
          44.5,
          58.2,
          68.5,
          74.8,
          86.5,
          90.2,
          90,
          84.7,
          68.6,
          56.3,
          49.4
        ],
        "lowF": [
          26.4,
          23.8,
          37.7,
          46.4,
          56.9,
          67.6,
          72,
          71.5,
          65.7,
          49.5,
          37.9,
          31.2
        ],
        "precipIn": [
          1.5,
          1.4,
          3,
          2,
          8.1,
          4,
          3.1,
          2.1,
          2.1,
          3.3,
          1.6,
          1.7
        ],
        "snowIn": [
          3.5,
          3.2,
          1.1,
          0.2,
          0.1,
          0,
          0,
          0,
          0,
          0.4,
          1.4,
          1.2
        ],
        "sunHours": [
          7.1,
          7.9,
          8.6,
          10.3,
          9.3,
          12.5,
          12.7,
          11.9,
          10.7,
          9,
          8.1,
          7.2
        ]
      },
      "effectiveTaxRate": 0.0127,
      "taxTopCoded": false,
      "annualTax4br": 3813,
      "annualTaxTypical": 2865,
      "lossPer100k": 126,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 55,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.029,
        "listPriceYoY": -0.0787,
        "inventoryYoY": -0.0821,
        "domYoY": 0.0625,
        "priceCutShare": 0.1623,
        "priceCutShareYoY": -0.0143,
        "popChange1yr": 0.0076,
        "domesticMigPer1000": 2.24
      },
      "activeListings": 1420,
      "medianDom": 51,
      "medianListPrice": 275000,
      "permitsPer1000Units": 12.3,
      "permitsYoY": 0.0523,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 74.7,
        "listPriceYoY": 8.7,
        "inventoryYoY": 85.5,
        "domYoY": 21.4,
        "priceCutShareYoY": 69.4,
        "popChange1yr": 66.6,
        "domesticMigPer1000": 57.1
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": 2023,
      "regChangePending": false,
      "regDirectionEvidence": "Wichita's current STR licensing framework took effect September 22, 2023, following City Council approval that September.",
      "regDirectionReviewed": false,
      "driverCount": 1,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 96.6,
      "riskRating": "Relatively High",
      "topHazards": [
        "tornado",
        "hail"
      ],
      "hazards": {
        "hurricane": {
          "score": 42.7,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 96.1,
          "rating": "Relatively High"
        },
        "wildfire": {
          "score": 94.4,
          "rating": "Relatively Moderate"
        },
        "tornado": {
          "score": 99.3,
          "rating": "Very High"
        },
        "earthquake": {
          "score": 75.2,
          "rating": "Relatively Low"
        },
        "winterWeather": {
          "score": 97.3,
          "rating": "Very High"
        },
        "hail": {
          "score": 99,
          "rating": "Relatively High"
        }
      },
      "homeValue": 225625,
      "homeValue4br": 300258,
      "homeValueYoY": 0.029,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 45,
      "opportunityBasis": "partial",
      "buyerScore": 37,
      "buyerLabel": "Tilting to sellers",
      "buyerWhy": {
        "inventoryYoY": 15,
        "domYoY": 79,
        "priceCutShareYoY": 31,
        "priceCutShare": 22
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "williamsburg",
      "city": "Williamsburg",
      "state": "Virginia",
      "stateCode": "VA",
      "lat": 37.2712,
      "lng": -76.7,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/williamsburg-va-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "rentals are confined to owner-occupied single-family homes, capped at 104 nights per year and a single rentable room",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/williamsburg-va-airbnb-regulations",
      "countyName": "Williamsburg city",
      "countyFips": "51830",
      "seasonalShare": 0.0577,
      "bigHomeShare": 0.1865,
      "tourismJobShare": 0.1647,
      "amenityScore": 78,
      "dining": 192,
      "attractions": 137,
      "outdoors": 122,
      "lodgingCompetition": 157,
      "pop150": 15172063,
      "pop300": 59613473,
      "nearestMetros": [
        {
          "name": "Fairfax County, VA",
          "pop": 1145354
        },
        {
          "name": "Wake County, NC",
          "pop": 1132103
        },
        {
          "name": "Montgomery County, MD",
          "pop": 1056910
        }
      ],
      "seasonType": "four-season",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          49.9,
          53.9,
          60.9,
          69.5,
          76.4,
          84.1,
          90.2,
          87,
          81.4,
          71.9,
          60.1,
          54
        ],
        "lowF": [
          34.7,
          36.9,
          42.7,
          50.1,
          58.5,
          66.7,
          73,
          71.6,
          65.5,
          55.7,
          43.3,
          37.9
        ],
        "precipIn": [
          4.1,
          4.1,
          3.3,
          4.3,
          3.1,
          4.5,
          3.7,
          4.9,
          3.7,
          3.2,
          3.4,
          3.7
        ],
        "snowIn": [
          2.5,
          1.3,
          0.1,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0.2,
          0.2
        ],
        "sunHours": [
          6.9,
          6.4,
          8.3,
          9.9,
          10.7,
          11.5,
          12.3,
          10.8,
          9.9,
          8.3,
          8,
          6.8
        ]
      },
      "effectiveTaxRate": 0.00611,
      "taxTopCoded": false,
      "annualTax4br": 3897,
      "annualTaxTypical": 2548,
      "lossPer100k": 65,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 35,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": 0.033,
        "listPriceYoY": null,
        "inventoryYoY": null,
        "domYoY": null,
        "priceCutShare": null,
        "priceCutShareYoY": null,
        "popChange1yr": -0.0052,
        "domesticMigPer1000": -9.16
      },
      "activeListings": null,
      "medianDom": null,
      "medianListPrice": null,
      "permitsPer1000Units": 3.84,
      "permitsYoY": 1.2,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 80.2,
        "listPriceYoY": null,
        "inventoryYoY": null,
        "domYoY": null,
        "priceCutShareYoY": null,
        "popChange1yr": 10.3,
        "domesticMigPer1000": 13.7
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 4,
      "emergingDriverCount": 1,
      "eventMonths": [],
      "riskScore": 2.4,
      "riskRating": "Very Low",
      "topHazards": [
        "hurricane",
        "earthquake"
      ],
      "hazards": {
        "hurricane": {
          "score": 67,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": 37.4,
          "rating": "Very Low"
        },
        "riverFlood": {
          "score": 6.6,
          "rating": "Very Low"
        },
        "wildfire": {
          "score": 8.2,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 19,
          "rating": "Very Low"
        },
        "earthquake": {
          "score": 40.5,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 16.9,
          "rating": "Very Low"
        },
        "hail": {
          "score": 7.9,
          "rating": "Very Low"
        }
      },
      "homeValue": 417025,
      "homeValue4br": 637726,
      "homeValueYoY": 0.033,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 46,
      "opportunityBasis": "partial",
      "buyerScore": null,
      "buyerLabel": null,
      "buyerWhy": null,
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "wimberley",
      "city": "Wimberley",
      "state": "Texas",
      "stateCode": "TX",
      "lat": 29.9977,
      "lng": -98.0988,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 4,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/wimberley-tx-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "short-term renting is not allowed by right in any residential zoning district",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/wimberley-tx-airbnb-regulations",
      "countyName": "Hays County",
      "countyFips": "48209",
      "seasonalShare": 0.0112,
      "bigHomeShare": 0.2732,
      "tourismJobShare": 0.1058,
      "amenityScore": 44,
      "dining": 32,
      "attractions": 6,
      "outdoors": 25,
      "lodgingCompetition": 5,
      "pop150": 7781849,
      "pop300": 27719010,
      "nearestMetros": [
        {
          "name": "Bexar County, TX",
          "pop": 2014059
        },
        {
          "name": "Travis County, TX",
          "pop": 1289054
        },
        {
          "name": "Fort Bend County, TX",
          "pop": 832607
        }
      ],
      "seasonType": "winter sun",
      "comfortMonths": 8,
      "snowMonths": 0,
      "climate": {
        "highF": [
          61.6,
          61.9,
          72.7,
          78.2,
          84.1,
          91.4,
          93.7,
          95.1,
          89.9,
          80.2,
          68,
          65.2
        ],
        "lowF": [
          44,
          42.7,
          53.2,
          58.6,
          66.2,
          72.1,
          74.7,
          75.5,
          71.2,
          61,
          51,
          47.1
        ],
        "precipIn": [
          3.2,
          2.3,
          2.8,
          6.2,
          7.4,
          4.7,
          2.8,
          3.4,
          2.6,
          4.3,
          3.5,
          2.4
        ],
        "snowIn": [
          0.4,
          0.8,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "sunHours": [
          7.2,
          6.9,
          7.8,
          8.7,
          9.6,
          11.3,
          11.8,
          11.6,
          10.5,
          9.1,
          7,
          7.1
        ]
      },
      "effectiveTaxRate": 0.01846,
      "taxTopCoded": false,
      "annualTax4br": 7635,
      "annualTaxTypical": 6787,
      "lossPer100k": 118,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 43,
      "momentumLabel": "Cooling",
      "momentum": {
        "priceYoY": -0.039,
        "listPriceYoY": -0.1111,
        "inventoryYoY": 0.0936,
        "domYoY": 0.047,
        "priceCutShare": 0.2519,
        "priceCutShareYoY": 0.0037,
        "popChange1yr": 0.0341,
        "domesticMigPer1000": 25.63
      },
      "activeListings": 1670,
      "medianDom": 78,
      "medianListPrice": 400000,
      "permitsPer1000Units": 48.37,
      "permitsYoY": -0.1499,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 2.3,
        "listPriceYoY": 2.9,
        "inventoryYoY": 32.4,
        "domYoY": 26.6,
        "priceCutShareYoY": 38.2,
        "popChange1yr": 98.3,
        "domesticMigPer1000": 97.1
      },
      "supplyCaution": true,
      "momentumCaution": true,
      "momentumAsOf": "2026-08",
      "regDirection": "tightening",
      "regChangeType": "moratorium",
      "regChangeYear": 2026,
      "regChangePending": false,
      "regDirectionEvidence": "Wimberley adopted a 120-day moratorium in November 2025 pausing new STR permit applications that require a CUP, then extended it on March 5, 2026 to remain in effect through July 4, 2026, while the council studies whether the existing supply already meets demand.",
      "regDirectionReviewed": false,
      "lodgingReceipts": {
        "ttm": 841186,
        "priorTtm": 776669,
        "yoy": 0.0831,
        "period": "FY2025",
        "unit": "tax collected USD",
        "geography": "Wimberley",
        "locations": 123,
        "smallPropertyShare": null,
        "sourceUrl": "https://data.texas.gov/d/er34-v24h"
      },
      "driverCount": 12,
      "emergingDriverCount": 0,
      "eventMonths": [
        2,
        3,
        4,
        10
      ],
      "riskScore": 90.6,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hail",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 63.9,
          "rating": "Relatively Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 93.2,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 87.9,
          "rating": "Relatively Low"
        },
        "tornado": {
          "score": 96.1,
          "rating": "Relatively High"
        },
        "earthquake": {
          "score": 25.8,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 93.8,
          "rating": "Relatively High"
        },
        "hail": {
          "score": 96.8,
          "rating": "Relatively High"
        }
      },
      "homeValue": 367644,
      "homeValue4br": 413589,
      "homeValueYoY": -0.039,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 36,
      "opportunityBasis": "partial",
      "buyerScore": 71,
      "buyerLabel": "Buyer's market",
      "buyerWhy": {
        "inventoryYoY": 68,
        "domYoY": 73,
        "priceCutShareYoY": 62,
        "priceCutShare": 80
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    },
    {
      "slug": "wisconsin-dells",
      "city": "Wisconsin Dells",
      "state": "Wisconsin",
      "stateCode": "WI",
      "lat": 43.6256,
      "lng": -89.7716,
      "adr": null,
      "occupancy": null,
      "annualRevenue": null,
      "medianPrice": null,
      "regStrictness": 3,
      "regNotes": null,
      "growthTrend": null,
      "permit": null,
      "tax": null,
      "zoning": null,
      "minStay": null,
      "occupancyRule": null,
      "penalties": null,
      "restrictions": null,
      "marketUrl": null,
      "regUrl": "/regulations/wisconsin-dells-wi-airbnb-regulations",
      "sources": [
        "regulation-page",
        "derived-rating",
        "geocoded",
        "regulations-table"
      ],
      "regStrictnessSource": "derived",
      "regEvidence": "Residential, owner-occupied short-term rentals in Wisconsin Dells must be the owner's primary residence and are limited to a maximum of 180 rental days per calendar year.",
      "regEvidenceConfidence": "high",
      "regRatingReviewed": false,
      "geoSource": "openstreetmap",
      "regSourceUrl": "https://stragenthub.com/regulations/wisconsin-dells-wi-airbnb-regulations",
      "countyName": "Columbia County",
      "countyFips": "55021",
      "seasonalShare": 0.0542,
      "bigHomeShare": 0.2485,
      "tourismJobShare": 0.0666,
      "amenityScore": 73,
      "dining": 144,
      "attractions": 64,
      "outdoors": 193,
      "lodgingCompetition": 122,
      "pop150": 9673818,
      "pop300": 32292985,
      "nearestMetros": [
        {
          "name": "Milwaukee County, WI",
          "pop": 933063
        },
        {
          "name": "DuPage County, IL",
          "pop": 930559
        },
        {
          "name": "Lake County, IL",
          "pop": 713159
        }
      ],
      "seasonType": "ski + summer",
      "comfortMonths": 5,
      "snowMonths": 3,
      "climate": {
        "highF": [
          27.6,
          28.9,
          44,
          54.9,
          67.7,
          79.4,
          82.8,
          80.4,
          73,
          57.8,
          44.5,
          35.8
        ],
        "lowF": [
          11.9,
          9.9,
          25.4,
          35.7,
          47.9,
          59.5,
          64.1,
          61.9,
          56.1,
          42.2,
          29.4,
          21.7
        ],
        "precipIn": [
          1.6,
          1.8,
          2.8,
          3.4,
          3.9,
          3.1,
          3.4,
          3.5,
          4,
          3.1,
          2.2,
          1.9
        ],
        "snowIn": [
          8.8,
          9.3,
          5.7,
          3.6,
          0,
          0,
          0,
          0,
          0,
          0.9,
          3,
          7.5
        ],
        "sunHours": [
          5,
          6.8,
          7.7,
          8.1,
          9.6,
          11.8,
          12.5,
          11.4,
          9,
          7.3,
          6.3,
          5
        ]
      },
      "effectiveTaxRate": 0.01534,
      "taxTopCoded": false,
      "annualTax4br": 6256,
      "annualTaxTypical": 5542,
      "lossPer100k": 231,
      "lodgingTaxPct": null,
      "lodgingTaxBasis": null,
      "momentumScore": 57,
      "momentumLabel": "Steady",
      "momentum": {
        "priceYoY": 0.047,
        "listPriceYoY": 0.1022,
        "inventoryYoY": 0.0213,
        "domYoY": 0.234,
        "priceCutShare": 0.1682,
        "priceCutShareYoY": -0.0039,
        "popChange1yr": 0.0022,
        "domesticMigPer1000": 2.72
      },
      "activeListings": 144,
      "medianDom": 58,
      "medianListPrice": 440783,
      "permitsPer1000Units": 6.26,
      "permitsYoY": -0.0773,
      "momentumLowVolume": false,
      "momentumWhy": {
        "priceYoY": 89.7,
        "listPriceYoY": 96.5,
        "inventoryYoY": 56.6,
        "domYoY": 1.7,
        "priceCutShareYoY": 48.6,
        "popChange1yr": 44.6,
        "domesticMigPer1000": 60.6
      },
      "supplyCaution": false,
      "momentumCaution": false,
      "momentumAsOf": "2026-08",
      "regDirection": "stable",
      "regChangeType": null,
      "regChangeYear": null,
      "regChangePending": false,
      "regDirectionEvidence": null,
      "regDirectionReviewed": false,
      "driverCount": 3,
      "emergingDriverCount": 0,
      "eventMonths": [],
      "riskScore": 81.4,
      "riskRating": "Relatively Moderate",
      "topHazards": [
        "hail",
        "tornado"
      ],
      "hazards": {
        "hurricane": {
          "score": 10.6,
          "rating": "Very Low"
        },
        "coastalFlood": {
          "score": null,
          "rating": "Not Applicable"
        },
        "riverFlood": {
          "score": 75.6,
          "rating": "Relatively Moderate"
        },
        "wildfire": {
          "score": 42.3,
          "rating": "Very Low"
        },
        "tornado": {
          "score": 75.7,
          "rating": "Relatively Moderate"
        },
        "earthquake": {
          "score": 28.7,
          "rating": "Very Low"
        },
        "winterWeather": {
          "score": 51.7,
          "rating": "Relatively Low"
        },
        "hail": {
          "score": 99.3,
          "rating": "Very High"
        }
      },
      "homeValue": 361262,
      "homeValue4br": 407791,
      "homeValueYoY": 0.047,
      "dataStatus": "partial",
      "nationalRank": null,
      "opportunityScore": 41,
      "opportunityBasis": "partial",
      "buyerScore": 55,
      "buyerLabel": "Tilting to buyers",
      "buyerWhy": {
        "inventoryYoY": 44,
        "domYoY": 98,
        "priceCutShareYoY": 51,
        "priceCutShare": 27
      },
      "grossYield": null,
      "yieldBasis": null,
      "yieldAfterTax": null
    }
  ]
}
