@urbankitstudio/atlas 0.6.6 → 0.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -15,12 +15,12 @@ var LIVE_STATUS_URL = "https://urbankitstudio.com/api/atlas/status";
15
15
  // data/index.json
16
16
  var data_default = {
17
17
  version: "0.3.0",
18
- lastUpdated: "2026-09-20",
18
+ lastUpdated: "2026-09-26",
19
19
  totals: {
20
20
  states: 50,
21
- counties: 227,
22
- endpoints: 241,
23
- countiesWithEndpoint: 223,
21
+ counties: 234,
22
+ endpoints: 246,
23
+ countiesWithEndpoint: 228,
24
24
  countiesUnprobeable: 1
25
25
  },
26
26
  states: [
@@ -60,8 +60,8 @@ var data_default = {
60
60
  slug: "california",
61
61
  name: "California",
62
62
  abbrev: "CA",
63
- countyCount: 10,
64
- endpointCount: 10,
63
+ countyCount: 11,
64
+ endpointCount: 11,
65
65
  populated: true
66
66
  },
67
67
  {
@@ -180,8 +180,8 @@ var data_default = {
180
180
  slug: "maryland",
181
181
  name: "Maryland",
182
182
  abbrev: "MD",
183
- countyCount: 2,
184
- endpointCount: 2,
183
+ countyCount: 3,
184
+ endpointCount: 3,
185
185
  populated: true
186
186
  },
187
187
  {
@@ -196,8 +196,8 @@ var data_default = {
196
196
  slug: "michigan",
197
197
  name: "Michigan",
198
198
  abbrev: "MI",
199
- countyCount: 4,
200
- endpointCount: 4,
199
+ countyCount: 6,
200
+ endpointCount: 5,
201
201
  populated: true
202
202
  },
203
203
  {
@@ -300,8 +300,8 @@ var data_default = {
300
300
  slug: "ohio",
301
301
  name: "Ohio",
302
302
  abbrev: "OH",
303
- countyCount: 7,
304
- endpointCount: 7,
303
+ countyCount: 8,
304
+ endpointCount: 8,
305
305
  populated: true
306
306
  },
307
307
  {
@@ -316,8 +316,8 @@ var data_default = {
316
316
  slug: "oregon",
317
317
  name: "Oregon",
318
318
  abbrev: "OR",
319
- countyCount: 4,
320
- endpointCount: 4,
319
+ countyCount: 6,
320
+ endpointCount: 5,
321
321
  populated: true
322
322
  },
323
323
  {
@@ -544,7 +544,7 @@ var alaska_default = {
544
544
  state: "AK",
545
545
  stateName: "Alaska",
546
546
  stateSlug: "alaska",
547
- county: "Anchorage",
547
+ county: "Anchorage Municipality",
548
548
  countySlug: "anchorage-municipality",
549
549
  countyFips: "02020",
550
550
  hasPublicRest: true,
@@ -1020,7 +1020,7 @@ var california_default = {
1020
1020
  stateSlug: "california",
1021
1021
  stateName: "California",
1022
1022
  stateAbbrev: "CA",
1023
- lastUpdated: "2026-05-15",
1023
+ lastUpdated: "2026-09-26",
1024
1024
  counties: [
1025
1025
  {
1026
1026
  id: "ca-los-angeles",
@@ -1480,6 +1480,61 @@ var california_default = {
1480
1480
  email: null
1481
1481
  },
1482
1482
  notes: "40 fields confirmed: APN_SUFFIX, APN_STATUS, DOC_NR, DOC_DT, DOC_TYPE, SITUS_NR, SITUS_DIR, SITUS_STRE, SITUS_TYP, TRACT, MAP_NR, ZONE, ACREAGE, L_V, I_V, APN10, SITUS, BOOK, PAGE, BLOCK, PARCEL, NON_TX_CD, SHAPE.AREA, SHAPE.LEN, OBJECTID, APN, TRA, APL_CD, CL, DIST, DT_V_TRF_Y, NGH, NUIS, QC, SQ_FT_I, STRUC_FAIL, TRAFFIC, VIEW_, SP, SHAPE. Live query confirmed: SITUS LIKE '%1000 E MAIN%' returns real Ventura County parcel data. NOTE: Owner name is NOT exposed on this public layer; for ownership, use the county Assessor. (Why California counties differ on this is explained on the California state page.) APN is the base parcel number; APN10 is the 10-digit version. Land Value (L_V) and Improvement Value (I_V) are available. SITUS is the combined site address. Hosted on Ventura County's GIS server (maps.ventura.org). Capabilities: Map, Query, Data. maxRecordCount=1000."
1483
+ },
1484
+ {
1485
+ id: "ca-riverside",
1486
+ state: "CA",
1487
+ stateName: "California",
1488
+ stateSlug: "california",
1489
+ county: "Riverside",
1490
+ countySlug: "riverside-county",
1491
+ countyFips: "06065",
1492
+ hasPublicRest: true,
1493
+ endpoints: [
1494
+ {
1495
+ url: "https://gis.countyofriverside.us/arcgis_mapping/rest/services/OpenData/Assessor/MapServer/50",
1496
+ serviceType: "MapServer",
1497
+ layerIndex: 50,
1498
+ layerName: "PARCELS_CREST",
1499
+ supportsQuery: true,
1500
+ corsEnabled: true,
1501
+ searchFields: [
1502
+ { name: "APN", label: "Assessor's Parcel Number", searchable: true },
1503
+ { name: "SITUS_STREET", label: "Site Street Address", searchable: true },
1504
+ { name: "SITUS_CITY", label: "Site City", searchable: true },
1505
+ { name: "ZIP_CODE", label: "Site ZIP", searchable: false },
1506
+ { name: "MAIL_STREET", label: "Mailing Street Address", searchable: true },
1507
+ { name: "MAIL_CITY", label: "Mailing City", searchable: false },
1508
+ { name: "SUBDIVISION_NAME", label: "Subdivision Name", searchable: false },
1509
+ { name: "ACREAGE", label: "Assessed Acreage", searchable: false },
1510
+ { name: "LAND", label: "Assessed Land Value", searchable: false },
1511
+ { name: "STRUCTURES", label: "Assessed Structure Value", searchable: false },
1512
+ { name: "CLASS_CODE", label: "Land Use Class", searchable: false }
1513
+ ],
1514
+ sampleQuery: "https://gis.countyofriverside.us/arcgis_mapping/rest/services/OpenData/Assessor/MapServer/50/query?where=UPPER(SITUS_CITY)+LIKE+UPPER('%25RIVERSIDE%25')&outFields=APN,SITUS_STREET,SITUS_CITY,MAIL_STREET,MAIL_CITY&returnGeometry=false&f=json&resultRecordCount=10",
1515
+ license: "unknown",
1516
+ licenseUrl: "https://gis.rivco.org/pages/data-distribution",
1517
+ status: "live",
1518
+ lastVerified: "2026-09-26",
1519
+ verifiedBy: "manual"
1520
+ }
1521
+ ],
1522
+ contact: {
1523
+ department: "Riverside County Assessor-County Clerk-Recorder / Riverside County Information Technology (RCIT) GIS",
1524
+ url: "https://gis.rivco.org/pages/data-distribution",
1525
+ email: null
1526
+ },
1527
+ notes: "Riverside County publishes assessor parcels on its arcgis_mapping host as layer 50 PARCELS_CREST of the OpenData/Assessor MapServer. The layer carries the APN, the situs address (SITUS_STREET, SITUS_CITY and the street components), the owner's mailing address without a name (MAIL_STREET, MAIL_CITY), and the subdivision, acreage, land-use class and assessed land and structure values. The service description names PRIMARY_OWNER and ALL_OWNER_LIST fields, but the public schema carries neither, and naming PRIMARY_OWNER in outFields fails with 'Failed to execute query.' Owner name is therefore recorded as not published (see capabilityOverrides). The county's other public host, arcgis_public, exposes only APN and FLAG on its parcel layer. CORS reflects the request's Origin. Re-verified 2026-09-26: the layer holds 846,251 parcels and a situs-city query returned live rows.",
1528
+ capabilityOverrides: {
1529
+ owner_name: {
1530
+ status: "not_published",
1531
+ basis: {
1532
+ type: "endpoint_schema",
1533
+ note: "PARCELS_CREST's own service description names PRIMARY_OWNER and ALL_OWNER_LIST as fields, but the live fields array returned by the public endpoint (?f=json) has no such column, and naming PRIMARY_OWNER in outFields fails with 'Failed to execute query.' The joined CREST tables on the same service carry no owner-name column either, and Riverside's other public host (arcgis_public) exposes only APN and FLAG on its Assessor Parcel layer, so no owner name is published on any Riverside County public REST endpoint found.",
1534
+ sourceUrl: "https://gis.countyofriverside.us/arcgis_mapping/rest/services/OpenData/Assessor/MapServer/50"
1535
+ }
1536
+ }
1537
+ }
1483
1538
  }
1484
1539
  ]
1485
1540
  };
@@ -2052,7 +2107,7 @@ var connecticut_default = {
2052
2107
  searchable: false
2053
2108
  }
2054
2109
  ],
2055
- sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=Town_Name%3D'Hartford'+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2110
+ sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=(Town_Name+IN+('Bridgeport'%2C+'Easton'%2C+'Fairfield'%2C+'Monroe'%2C+'Stratford'%2C+'Trumbull'))+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2056
2111
  license: "public",
2057
2112
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2058
2113
  status: "live",
@@ -2187,7 +2242,7 @@ var connecticut_default = {
2187
2242
  searchable: false
2188
2243
  }
2189
2244
  ],
2190
- sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=Town_Name%3D'Hartford'+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2245
+ sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=(Town_Name+IN+('Chester'%2C+'Clinton'%2C+'Cromwell'%2C+'Deep+River'%2C+'Durham'%2C+'East+Haddam'%2C+'East+Hampton'%2C+'Essex'%2C+'Haddam'%2C+'Killingworth'%2C+'Lyme'%2C+'Middlefield'%2C+'Middletown'%2C+'Old+Lyme'%2C+'Old+Saybrook'%2C+'Portland'%2C+'Westbrook'))+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2191
2246
  license: "public",
2192
2247
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2193
2248
  status: "live",
@@ -2322,7 +2377,7 @@ var connecticut_default = {
2322
2377
  searchable: false
2323
2378
  }
2324
2379
  ],
2325
- sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=Town_Name%3D'Hartford'+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2380
+ sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=(Town_Name+IN+('Ansonia'%2C+'Beacon+Falls'%2C+'Bethlehem'%2C+'Bristol'%2C+'Cheshire'%2C+'Derby'%2C+'Middlebury'%2C+'Naugatuck'%2C+'Oxford'%2C+'Plymouth'%2C+'Prospect'%2C+'Seymour'%2C+'Shelton'%2C+'Southbury'%2C+'Thomaston'%2C+'Waterbury'%2C+'Watertown'%2C+'Wolcott'%2C+'Woodbury'))+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2326
2381
  license: "public",
2327
2382
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2328
2383
  status: "live",
@@ -2457,7 +2512,7 @@ var connecticut_default = {
2457
2512
  searchable: false
2458
2513
  }
2459
2514
  ],
2460
- sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=Town_Name%3D'Hartford'+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2515
+ sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=(Town_Name+IN+('Ashford'%2C+'Brooklyn'%2C+'Canterbury'%2C+'Chaplin'%2C+'Eastford'%2C+'Hampton'%2C+'Killingly'%2C+'Plainfield'%2C+'Pomfret'%2C+'Putnam'%2C+'Scotland'%2C+'Sterling'%2C+'Thompson'%2C+'Union'%2C+'Voluntown'%2C+'Woodstock'))+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2461
2516
  license: "public",
2462
2517
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2463
2518
  status: "live",
@@ -2592,7 +2647,7 @@ var connecticut_default = {
2592
2647
  searchable: false
2593
2648
  }
2594
2649
  ],
2595
- sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=Town_Name%3D'Hartford'+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2650
+ sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=(Town_Name+IN+('Barkhamsted'%2C+'Burlington'%2C+'Canaan'%2C+'Colebrook'%2C+'Cornwall'%2C+'Goshen'%2C+'Hartland'%2C+'Harwinton'%2C+'Kent'%2C+'Litchfield'%2C+'Morris'%2C+'New+Hartford'%2C+'Norfolk'%2C+'North+Canaan'%2C+'Roxbury'%2C+'Salisbury'%2C+'Sharon'%2C+'Torrington'%2C+'Warren'%2C+'Washington'%2C+'Winchester'))+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2596
2651
  license: "public",
2597
2652
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2598
2653
  status: "live",
@@ -2727,7 +2782,7 @@ var connecticut_default = {
2727
2782
  searchable: false
2728
2783
  }
2729
2784
  ],
2730
- sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=Town_Name%3D'Hartford'+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2785
+ sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=(Town_Name+IN+('Bethany'%2C+'Branford'%2C+'East+Haven'%2C+'Guilford'%2C+'Hamden'%2C+'Madison'%2C+'Meriden'%2C+'Milford'%2C+'New+Haven'%2C+'North+Branford'%2C+'North+Haven'%2C+'Orange'%2C+'Wallingford'%2C+'West+Haven'%2C+'Woodbridge'))+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2731
2786
  license: "public",
2732
2787
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2733
2788
  status: "live",
@@ -2862,7 +2917,7 @@ var connecticut_default = {
2862
2917
  searchable: false
2863
2918
  }
2864
2919
  ],
2865
- sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=Town_Name%3D'Hartford'+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2920
+ sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=(Town_Name+IN+('Bozrah'%2C+'Colchester'%2C+'East+Lyme'%2C+'Franklin'%2C+'Griswold'%2C+'Groton'%2C+'Lebanon'%2C+'Ledyard'%2C+'Lisbon'%2C+'Montville'%2C+'New+London'%2C+'North+Stonington'%2C+'Norwich'%2C+'Preston'%2C+'Salem'%2C+'Sprague'%2C+'Stonington'%2C+'Waterford'%2C+'Windham'))+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
2866
2921
  license: "public",
2867
2922
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2868
2923
  status: "live",
@@ -2997,7 +3052,7 @@ var connecticut_default = {
2997
3052
  searchable: false
2998
3053
  }
2999
3054
  ],
3000
- sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=Town_Name%3D'Hartford'+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
3055
+ sampleQuery: "https://services3.arcgis.com/3FL1kr7L4LvwA2Kb/arcgis/rest/services/Connecticut_CAMA_and_Parcel_Layer_2024/FeatureServer/0/query?where=(Town_Name+IN+('Bethel'%2C+'Bridgewater'%2C+'Brookfield'%2C+'Danbury'%2C+'Darien'%2C+'Greenwich'%2C+'New+Canaan'%2C+'New+Fairfield'%2C+'New+Milford'%2C+'Newtown'%2C+'Norwalk'%2C+'Redding'%2C+'Ridgefield'%2C+'Sherman'%2C+'Stamford'%2C+'Weston'%2C+'Westport'%2C+'Wilton'))+AND+UPPER(Owner)+LIKE+UPPER('%25SMITH%25')&outFields=Parcel_ID,Town_Name,Owner,Location_1,Assessed_Total&returnGeometry=false&f=json&resultRecordCount=10",
3001
3056
  license: "public",
3002
3057
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
3003
3058
  status: "live",
@@ -14253,7 +14308,7 @@ var maine_default = {
14253
14308
  searchable: false
14254
14309
  }
14255
14310
  ],
14256
- sampleQuery: "https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_Parcels_Organized_Towns/FeatureServer/9/query?where=UPPER(OWNER1)+LIKE+UPPER('%25SMITH%25')&outFields=OWNER1,OWN_ADDR1,OWN_CITY,OWN_STATE,MAP_BK_LOT,LAND_VAL,BLDG_VAL&returnGeometry=false&f=json&resultRecordCount=10",
14311
+ sampleQuery: "https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_Parcels_Organized_Towns/FeatureServer/9/query?where=(GEOCODE+IN+('05010'%2C'05020'%2C'05030'%2C'05040'%2C'05050'%2C'05060'%2C'05070'%2C'05080'%2C'05090'%2C'05100'%2C'05110'%2C'05120'%2C'05125'%2C'05130'%2C'05140'%2C'05150'%2C'05170'%2C'05180'%2C'05190'%2C'05200'%2C'05210'%2C'05220'%2C'05230'%2C'05240'%2C'05250'%2C'05260'))+AND+UPPER(OWNER1)+LIKE+UPPER('%25SMITH%25')&outFields=OWNER1,OWN_ADDR1,OWN_CITY,OWN_STATE,MAP_BK_LOT,LAND_VAL,BLDG_VAL&returnGeometry=false&f=json&resultRecordCount=10",
14257
14312
  license: "public",
14258
14313
  licenseUrl: "https://www.maine.gov/geolib/data/index.html",
14259
14314
  status: "live",
@@ -14360,7 +14415,7 @@ var maine_default = {
14360
14415
  searchable: false
14361
14416
  }
14362
14417
  ],
14363
- sampleQuery: "https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_Parcels_Organized_Towns/FeatureServer/9/query?where=UPPER(OWNER1)+LIKE+UPPER('%25SMITH%25')&outFields=OWNER1,OWN_ADDR1,OWN_CITY,OWN_STATE,MAP_BK_LOT,LAND_VAL&returnGeometry=false&f=json&resultRecordCount=10",
14418
+ sampleQuery: "https://services1.arcgis.com/RbMX0mRVOFNTdLzd/arcgis/rest/services/Maine_Parcels_Organized_Towns/FeatureServer/9/query?where=(GEOCODE+IN+('31010'%2C'31030'%2C'31040'%2C'31050'%2C'31060'%2C'31080'%2C'31090'%2C'31100'%2C'31110'%2C'31120'%2C'31130'%2C'31140'%2C'31150'%2C'31160'%2C'31170'%2C'31190'%2C'31197'%2C'31200'%2C'31220'%2C'31230'%2C'31240'%2C'31250'%2C'31270'%2C'31280'))+AND+UPPER(OWNER1)+LIKE+UPPER('%25SMITH%25')&outFields=OWNER1,OWN_ADDR1,OWN_CITY,OWN_STATE,MAP_BK_LOT,LAND_VAL&returnGeometry=false&f=json&resultRecordCount=10",
14364
14419
  license: "public",
14365
14420
  licenseUrl: "https://www.maine.gov/geolib/data/index.html",
14366
14421
  status: "live",
@@ -14384,7 +14439,7 @@ var maryland_default = {
14384
14439
  stateSlug: "maryland",
14385
14440
  stateName: "Maryland",
14386
14441
  stateAbbrev: "MD",
14387
- lastUpdated: "2026-06-05",
14442
+ lastUpdated: "2026-09-26",
14388
14443
  counties: [
14389
14444
  {
14390
14445
  id: "md-montgomery",
@@ -14560,6 +14615,115 @@ var maryland_default = {
14560
14615
  email: null
14561
14616
  },
14562
14617
  notes: "Prince George's County is Maryland's second-most populous county (pop. 910,000; county seat Upper Marlboro). The Property_Flattened MapServer on gis.princegeorgescountymd.gov (ArcGIS Server 11.5) is the county's canonical public property layer with 112 fields and 352,791 parcels. Live query confirmed OWNER_NAME exposure. Key fields: ACCOUNT (county account number, 7 digits), PROPERTY_ID (prefixed as '12' + ACCOUNT for the full 9-digit SDAT account number), OWNER_NAME, ICO_NAME (in-care-of), HOUSE_NUMBER (zero-padded 6-digit, e.g. '002909'), STREET_NAME, STREET_TYPE, STREET_DIRECTION, MAIL_STREET/CITY/STATE/ZIP5 (owner mailing address), ASSESS_DIST (assessment district), LAND_AREA_ACRE, LAND_AREA_SQFT, LIBER, FOLIO, SUB_NAME, CONDO_UNIT_NUMBER, TAXMAPGRID. The situs address is split across HOUSE_NUMBER + STREET_NAME + STREET_TYPE. There is no single combined site address field on this layer. The county belongs to the M-NCPPC (Maryland-National Capital Park and Planning Commission) planning region and uses Maryland SDAT for the authoritative ownership record. Prince George's County borders DC and contains the University of Maryland (College Park) and Joint Base Andrews."
14618
+ },
14619
+ {
14620
+ id: "md-baltimore",
14621
+ state: "MD",
14622
+ stateName: "Maryland",
14623
+ stateSlug: "maryland",
14624
+ county: "Baltimore",
14625
+ countySlug: "baltimore-county",
14626
+ countyFips: "24005",
14627
+ hasPublicRest: true,
14628
+ endpoints: [
14629
+ {
14630
+ url: "https://bcgis.baltimorecountymd.gov/arcgis/rest/services/Property/Property/MapServer/1",
14631
+ serviceType: "MapServer",
14632
+ layerIndex: 1,
14633
+ layerName: "Tax parcel",
14634
+ supportsQuery: true,
14635
+ corsEnabled: true,
14636
+ searchFields: [
14637
+ {
14638
+ name: "TAXPIN",
14639
+ label: "Tax PIN",
14640
+ searchable: true
14641
+ },
14642
+ {
14643
+ name: "OWNER_NA1",
14644
+ label: "Owner Name 1",
14645
+ searchable: true
14646
+ },
14647
+ {
14648
+ name: "OWNER_NA2",
14649
+ label: "Owner Name 2",
14650
+ searchable: false
14651
+ },
14652
+ {
14653
+ name: "PREMISE_ADDRESS",
14654
+ label: "Site Address",
14655
+ searchable: true
14656
+ },
14657
+ {
14658
+ name: "ADDRESS_1",
14659
+ label: "Owner Mailing Address 1",
14660
+ searchable: true
14661
+ },
14662
+ {
14663
+ name: "ADDRESS_2",
14664
+ label: "Owner Mailing Address 2",
14665
+ searchable: false
14666
+ },
14667
+ {
14668
+ name: "OWNER_CITY",
14669
+ label: "Owner Mailing City",
14670
+ searchable: false
14671
+ },
14672
+ {
14673
+ name: "OWNERSTATE",
14674
+ label: "Owner Mailing State",
14675
+ searchable: false
14676
+ },
14677
+ {
14678
+ name: "OWNER_ZIP",
14679
+ label: "Owner Mailing ZIP",
14680
+ searchable: false
14681
+ },
14682
+ {
14683
+ name: "ST_NUM",
14684
+ label: "Site Street Number",
14685
+ searchable: false
14686
+ },
14687
+ {
14688
+ name: "STREETNAME",
14689
+ label: "Site Street Name",
14690
+ searchable: true
14691
+ },
14692
+ {
14693
+ name: "CITY",
14694
+ label: "Site City",
14695
+ searchable: false
14696
+ },
14697
+ {
14698
+ name: "ZIP_CODE",
14699
+ label: "Site ZIP",
14700
+ searchable: false
14701
+ },
14702
+ {
14703
+ name: "DISTRICT",
14704
+ label: "Assessment District",
14705
+ searchable: false
14706
+ },
14707
+ {
14708
+ name: "YEAR_BUILT",
14709
+ label: "Year Built",
14710
+ searchable: false
14711
+ }
14712
+ ],
14713
+ sampleQuery: "https://bcgis.baltimorecountymd.gov/arcgis/rest/services/Property/Property/MapServer/1/query?where=UPPER(OWNER_NA1)+LIKE+UPPER('%25SMITH%25')&outFields=TAXPIN,OWNER_NA1,ADDRESS_1,ST_NUM,STREETNAME,CITY&returnGeometry=false&f=json&resultRecordCount=10",
14714
+ license: "open-data",
14715
+ licenseUrl: "https://opendata.baltimorecountymd.gov/pages/data-license",
14716
+ status: "live",
14717
+ lastVerified: "2026-09-26",
14718
+ verifiedBy: "manual"
14719
+ }
14720
+ ],
14721
+ contact: {
14722
+ department: "Baltimore County Government, Office of Information Technology, GIS",
14723
+ url: "https://www.baltimorecountymd.gov/departments/information-technology/gis",
14724
+ email: null
14725
+ },
14726
+ notes: "Baltimore County (county seat Towson; a separate jurisdiction from Baltimore City) publishes tax parcels as sub-layer 1 'Tax parcel' of the Property/Property MapServer on bcgis.baltimorecountymd.gov, and bcgisdata.baltimorecountymd.gov serves the identical service as a fallback. The layer carries the tax account number (TAXPIN), owner names (OWNER_NA1, OWNER_NA2 and the combined FULL_OWNER_NAME), the owner mailing address (ADDRESS_1, ADDRESS_2, OWNER_CITY, OWNERSTATE, OWNER_ZIP), the premise address (PREMISE_ADDRESS plus ST_NUM, STREETNAME, CITY and ZIP_CODE), land use, year built, total value and a link to the state SDAT record. CORS: the server reflects the request's Origin in Access-Control-Allow-Origin, and it also sends a misspelled Allow-Control-Allow-Origin: * header that browsers ignore. Re-verified 2026-09-26: the layer holds 374,909 parcels and an owner-name query returned live rows. Maryland's statewide MD_PropertyData layer carries owner mailing addresses but no owner names, so this county layer is the better source."
14563
14727
  }
14564
14728
  ]
14565
14729
  };
@@ -14731,7 +14895,7 @@ var michigan_default = {
14731
14895
  stateSlug: "michigan",
14732
14896
  stateName: "Michigan",
14733
14897
  stateAbbrev: "MI",
14734
- lastUpdated: "2026-08-25",
14898
+ lastUpdated: "2026-09-26",
14735
14899
  counties: [
14736
14900
  {
14737
14901
  id: "mi-kent",
@@ -15026,6 +15190,102 @@ var michigan_default = {
15026
15190
  email: null
15027
15191
  },
15028
15192
  notes: "Tax parcel layer at layer index 10 of the Macomb County Parcel Data service, not layer 0. 332,971 parcels with owner names on 331,114 rows (99.4 percent), real individuals. Columns: TAX_ID, ownername1, propstreetcombined, propertyCityStateZip, CVT_NAME, zoning. No mailing address. The service metadata reports wkid null, which normally signals a projection problem, but the buffered spatial query answers correctly and was verified against a live address; the null is a metadata quirk rather than a broken layer."
15193
+ },
15194
+ {
15195
+ id: "mi-lenawee",
15196
+ state: "MI",
15197
+ stateName: "Michigan",
15198
+ stateSlug: "michigan",
15199
+ county: "Lenawee",
15200
+ countySlug: "lenawee-county",
15201
+ countyFips: "26091",
15202
+ hasPublicRest: true,
15203
+ endpoints: [
15204
+ {
15205
+ url: "https://services6.arcgis.com/mjEvhc9AE3ceAXtG/arcgis/rest/services/Lenawee_Parcels_Public/FeatureServer/2",
15206
+ serviceType: "FeatureServer",
15207
+ layerIndex: 2,
15208
+ layerName: "Lenawee Parcels",
15209
+ supportsQuery: true,
15210
+ corsEnabled: true,
15211
+ searchFields: [
15212
+ {
15213
+ name: "TAXID",
15214
+ label: "Parcel ID (Tax ID)",
15215
+ searchable: true
15216
+ },
15217
+ {
15218
+ name: "PACKPARNUM",
15219
+ label: "Packed Parcel Number",
15220
+ searchable: true
15221
+ },
15222
+ {
15223
+ name: "OWNNM1",
15224
+ label: "Owner Name 1",
15225
+ searchable: true
15226
+ },
15227
+ {
15228
+ name: "OWNNM2",
15229
+ label: "Owner Name 2",
15230
+ searchable: true
15231
+ },
15232
+ {
15233
+ name: "PRADDCOMB",
15234
+ label: "Property Address (Combined)",
15235
+ searchable: true
15236
+ },
15237
+ {
15238
+ name: "PRADDRCITY",
15239
+ label: "Property Address City",
15240
+ searchable: true
15241
+ },
15242
+ {
15243
+ name: "LIBERPAGE",
15244
+ label: "Liber/Page (Deed Reference)",
15245
+ searchable: false
15246
+ },
15247
+ {
15248
+ name: "ACRECALC",
15249
+ label: "Calculated Acreage",
15250
+ searchable: false
15251
+ },
15252
+ {
15253
+ name: "BSALink",
15254
+ label: "BS&A Online Record Link",
15255
+ searchable: false
15256
+ }
15257
+ ],
15258
+ sampleQuery: "https://services6.arcgis.com/mjEvhc9AE3ceAXtG/arcgis/rest/services/Lenawee_Parcels_Public/FeatureServer/2/query?where=UPPER(OWNNM1)%20LIKE%20UPPER('%25SMITH%25')&outFields=TAXID,PACKPARNUM,OWNNM1,OWNNM2,PRADDCOMB,PRADDRCITY&returnGeometry=false&f=json&resultRecordCount=10",
15259
+ license: "public",
15260
+ licenseUrl: "https://www.lenawee.mi.us/214/Mapping-GIS",
15261
+ status: "live",
15262
+ lastVerified: "2026-09-26",
15263
+ verifiedBy: "manual"
15264
+ }
15265
+ ],
15266
+ contact: {
15267
+ department: "Lenawee County Equalization Department, GIS Division",
15268
+ url: "https://www.lenawee.mi.us/214/Mapping-GIS",
15269
+ email: null
15270
+ },
15271
+ notes: "Lenawee County (county seat Adrian) publishes its countywide parcels as layer 2 'Lenawee Parcels' of the hosted feature service Lenawee_Parcels_Public. The layer carries TAXID, the dashed Michigan parcel number (for example RG0-109-4150-00), and its packed form PACKPARNUM; owner names OWNNM1 and OWNNM2; and the property (situs) address in PRADDCOMB with its components PRADDRNUM, PRADDRSTR, PRADDRCITY and PRADDRZIP. There is no owner mailing-address field. LIBERPAGE is the deed liber and page, and BSALink is a per-parcel link into the county's BS&A Online record for deed and tax detail. Re-verified 2026-09-26: the layer holds 55,211 parcels and an UPPER(OWNNM1) LIKE '%SMITH%' query returned live owner rows. CORS is open (Access-Control-Allow-Origin: *). The layer's item page carries the county's standard disclaimer that the map is for reference only and is not a legal description."
15272
+ },
15273
+ {
15274
+ id: "mi-iron",
15275
+ state: "MI",
15276
+ stateName: "Michigan",
15277
+ stateSlug: "michigan",
15278
+ county: "Iron",
15279
+ countySlug: "iron-county",
15280
+ countyFips: "26071",
15281
+ hasPublicRest: false,
15282
+ endpoints: [],
15283
+ contact: {
15284
+ department: "Iron County Equalization Department",
15285
+ url: "https://ironmi.com/equalization",
15286
+ email: null
15287
+ },
15288
+ notes: "No public ArcGIS REST parcel layer was found for Iron County, Michigan (county seat Crystal Falls) as of 2026-09-25. The county's GIS map viewer, linked from its equalization page, runs on Colligo GIS, a proprietary web platform with no documented public query API. Michigan has no statewide public parcel REST layer to fall back on. Parcel and tax records can be searched by name, address or parcel number through the county's BS&A Online portal, which returns no geometry and offers no field-level API. Two same-name ArcGIS parcel applications belong to other states and do not cover this county: Iron County, Utah's 'County Parcel Locator' and Iron County, Missouri's assessment map hosted by the Southeast Missouri Regional Planning Commission."
15029
15289
  }
15030
15290
  ]
15031
15291
  };
@@ -15232,21 +15492,17 @@ var mississippi_default = {
15232
15492
  { name: "ALTPARNO", label: "Alternate Parcel Number", searchable: true },
15233
15493
  { name: "PPIN", label: "PPIN", searchable: true },
15234
15494
  { name: "OWNNAME", label: "Owner Name", searchable: true },
15235
- { name: "MAILADD1", label: "Mailing Address 1", searchable: false },
15236
- { name: "MCITY1", label: "Mailing City 1", searchable: false },
15237
- { name: "MSTATE1", label: "Mailing State 1", searchable: false },
15238
- { name: "MZIP1", label: "Mailing ZIP 1", searchable: false },
15239
15495
  { name: "SITEADD", label: "Site Address", searchable: true },
15240
15496
  { name: "SCITY", label: "Site City", searchable: false },
15241
15497
  { name: "SSTATE", label: "Site State", searchable: false },
15242
15498
  { name: "SZIP", label: "Site ZIP", searchable: false },
15243
15499
  { name: "SUBNAME", label: "Subdivision Name", searchable: false }
15244
15500
  ],
15245
- sampleQuery: "https://opcgis.deq.state.ms.us/opcgis/rest/services/Government/HINDS_PARCELS/MapServer/0/query?where=UPPER(OWNNAME)+LIKE+UPPER('%25SMITH%25')&outFields=PARNO,OWNNAME,MAILADD1,SITEADD,SCITY&returnGeometry=false&f=json&resultRecordCount=10",
15501
+ sampleQuery: "https://opcgis.deq.state.ms.us/opcgis/rest/services/Government/HINDS_PARCELS/MapServer/0/query?where=UPPER(OWNNAME)+LIKE+UPPER('%25SMITH%25')&outFields=*&returnGeometry=false&f=json&resultRecordCount=10",
15246
15502
  license: "public",
15247
15503
  licenseUrl: "https://www.gis.ms.gov/",
15248
15504
  status: "live",
15249
- lastVerified: "2026-05-15",
15505
+ lastVerified: "2026-09-26",
15250
15506
  verifiedBy: "manual"
15251
15507
  }
15252
15508
  ],
@@ -15255,7 +15511,7 @@ var mississippi_default = {
15255
15511
  url: "https://www.gis.ms.gov/",
15256
15512
  email: null
15257
15513
  },
15258
- notes: "Hinds County (Jackson, pop. 231,000; state capital) parcel layer hosted on MDEQ OPCGIS server. Mississippi DEQ hosts parcel layers for many MS counties under the 'Government' folder on opcgis.deq.state.ms.us. 20 fields confirmed: OBJECTID, CAMA, PARNO, ALTPARNO, PPIN, OWNNAME, MAILADD1/2, MCITY1/2, MSTATE1/2, MZIP1/2, SITEADD, SCITY, SSTATE, SZIP, SUBNAME. OWNNAME field returns owner name in mixed format. Verified 2026-05-15: SMITH returns Jackson MS addresses. The same server also has DeSoto County parcels and other MS county datasets."
15514
+ notes: `Hinds County (Jackson, pop. 231,000; state capital) parcel layer hosted on MDEQ OPCGIS server. Mississippi DEQ hosts parcel layers for many MS counties under the 'Government' folder on opcgis.deq.state.ms.us. The layer publishes 54 fields: OBJECTID, CAMA, PARNO, ALTPARNO, PPIN, OWNNAME, MAILADD1/2, MCITY1/2, MSTATE1/2, MZIP1/2, SITEADD, SCITY, SSTATE, SZIP, SUBNAME, deed and plat references, assessed values, acreage, ZONING, LEGLDESC and geometry measures. OWNNAME field returns owner name in mixed format. Verified 2026-05-15: SMITH returns Jackson MS site addresses. The same server also has DeSoto County parcels and other MS county datasets. 2026-09-26: the layer now refuses any query that names its outFields (HTTP 200 carrying error 400 "Failed to execute query.", measured twice each on the enrichment, radius and liveness query shapes) and answers outFields=* with 54 fields, so every UrbanKit query to this service sends outFields=* and the sample query above does the same. Measured the same day with returnCountOnly: MAILADD1, MAILADD2, MCITY1, MSTATE1 and MZIP1 are blank on every one of the layer's 114,814 parcels (0 rows each where the column IS NOT NULL AND <> '', against 114,547 for OWNNAME and 114,514 for SITEADD), so the record lists no mailing field and this county serves owner names and site addresses, not mailing addresses.`
15259
15515
  },
15260
15516
  {
15261
15517
  id: "ms-desoto",
@@ -16874,7 +17130,7 @@ var new_york_default = {
16874
17130
  searchable: false
16875
17131
  }
16876
17132
  ],
16877
- sampleQuery: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer/1/query?where=COUNTY_NAME%3D'Kings'+AND+UPPER(PRIMARY_OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=COUNTY_NAME,PRIMARY_OWNER,PARCEL_ADDR,SWIS_SBL_ID&returnGeometry=false&f=json&resultRecordCount=10",
17133
+ sampleQuery: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer/1/query?where=(COUNTY_NAME%3D'Bronx')+AND+UPPER(PRIMARY_OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=COUNTY_NAME,PRIMARY_OWNER,PARCEL_ADDR,SWIS_SBL_ID&returnGeometry=false&f=json&resultRecordCount=10",
16878
17134
  license: "public",
16879
17135
  licenseUrl: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
16880
17136
  status: "live",
@@ -17334,7 +17590,7 @@ var new_york_default = {
17334
17590
  searchable: false
17335
17591
  }
17336
17592
  ],
17337
- sampleQuery: "https://services5.arcgis.com/GfwWNkhOj9bNBqoJ/arcgis/rest/services/MAPPLUTO/FeatureServer/0/query?where=UPPER(OwnerName)%20LIKE%20UPPER('%25SMITH%25')&outFields=BBL,OwnerName,Address,Borough,ZipCode&returnGeometry=false&f=json&resultRecordCount=10",
17593
+ sampleQuery: "https://services5.arcgis.com/GfwWNkhOj9bNBqoJ/arcgis/rest/services/MAPPLUTO/FeatureServer/0/query?where=(Borough%3D'MN')+AND+UPPER(OwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=BBL,OwnerName,Address,Borough,ZipCode&returnGeometry=false&f=json&resultRecordCount=10",
17338
17594
  license: "public",
17339
17595
  licenseUrl: "https://nycplanning.github.io/db-pluto/",
17340
17596
  status: "live",
@@ -17401,7 +17657,7 @@ var new_york_default = {
17401
17657
  searchable: false
17402
17658
  }
17403
17659
  ],
17404
- sampleQuery: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer/1/query?where=COUNTY_NAME%3D'Kings'+AND+UPPER(PRIMARY_OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=COUNTY_NAME,PRIMARY_OWNER,PARCEL_ADDR,SWIS_SBL_ID&returnGeometry=false&f=json&resultRecordCount=10",
17660
+ sampleQuery: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer/1/query?where=(COUNTY_NAME%3D'NewYork')+AND+UPPER(PRIMARY_OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=COUNTY_NAME,PRIMARY_OWNER,PARCEL_ADDR,SWIS_SBL_ID&returnGeometry=false&f=json&resultRecordCount=10",
17405
17661
  license: "public",
17406
17662
  licenseUrl: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
17407
17663
  status: "live",
@@ -17645,7 +17901,7 @@ var new_york_default = {
17645
17901
  searchable: false
17646
17902
  }
17647
17903
  ],
17648
- sampleQuery: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer/1/query?where=COUNTY_NAME%3D'Kings'+AND+UPPER(PRIMARY_OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=COUNTY_NAME,PRIMARY_OWNER,PARCEL_ADDR,SWIS_SBL_ID&returnGeometry=false&f=json&resultRecordCount=10",
17904
+ sampleQuery: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer/1/query?where=(COUNTY_NAME%3D'Queens')+AND+UPPER(PRIMARY_OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=COUNTY_NAME,PRIMARY_OWNER,PARCEL_ADDR,SWIS_SBL_ID&returnGeometry=false&f=json&resultRecordCount=10",
17649
17905
  license: "public",
17650
17906
  licenseUrl: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
17651
17907
  status: "live",
@@ -17802,7 +18058,7 @@ var new_york_default = {
17802
18058
  searchable: false
17803
18059
  }
17804
18060
  ],
17805
- sampleQuery: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer/1/query?where=COUNTY_NAME%3D'Kings'+AND+UPPER(PRIMARY_OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=COUNTY_NAME,PRIMARY_OWNER,PARCEL_ADDR,SWIS_SBL_ID&returnGeometry=false&f=json&resultRecordCount=10",
18061
+ sampleQuery: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer/1/query?where=(COUNTY_NAME%3D'Richmond')+AND+UPPER(PRIMARY_OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=COUNTY_NAME,PRIMARY_OWNER,PARCEL_ADDR,SWIS_SBL_ID&returnGeometry=false&f=json&resultRecordCount=10",
17806
18062
  license: "public",
17807
18063
  licenseUrl: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
17808
18064
  status: "live",
@@ -18642,7 +18898,7 @@ var ohio_default = {
18642
18898
  stateSlug: "ohio",
18643
18899
  stateName: "Ohio",
18644
18900
  stateAbbrev: "OH",
18645
- lastUpdated: "2026-05-15",
18901
+ lastUpdated: "2026-09-26",
18646
18902
  counties: [
18647
18903
  {
18648
18904
  id: "oh-montgomery",
@@ -18944,6 +19200,53 @@ var ohio_default = {
18944
19200
  email: null
18945
19201
  },
18946
19202
  notes: "Lucas County, Ohio (Toledo metro, county seat Toledo, pop. ~430K) serves parcels from the Lucas County Auditor's AREIS (Assessment Real Estate Information System) via a hosted FeatureServer. Owner name is owner; the site address is property_address (full street/city/state/zip in one field); mailing is mailing_address; identifiers are assessor_num (8-digit) and parid (7-digit). The county's canonical Cadastre_Dataset FeatureServer (layer 8) carries only lot/block geometry with no owner field -- use OSE_ParcelsAddresses_AREIS for owner-name queries. Owner search uses UPPER(owner) LIKE. Verified live 2026-05-30 (owner = MARTRE TAMERA L & BILL)."
19203
+ },
19204
+ {
19205
+ id: "oh-mahoning",
19206
+ state: "OH",
19207
+ stateName: "Ohio",
19208
+ stateSlug: "ohio",
19209
+ county: "Mahoning",
19210
+ countySlug: "mahoning-county",
19211
+ countyFips: "39099",
19212
+ hasPublicRest: true,
19213
+ endpoints: [
19214
+ {
19215
+ url: "https://gisapp.mahoningcountyoh.gov/arcgis/rest/services/PUBLIC_WEBSITE_CADASTRAL/MapServer/2",
19216
+ serviceType: "MapServer",
19217
+ layerIndex: 2,
19218
+ layerName: "PROPERTY BOUNDARIES",
19219
+ supportsQuery: true,
19220
+ corsEnabled: true,
19221
+ searchFields: [
19222
+ { name: "PARCEL_ID", label: "Parcel ID", searchable: true },
19223
+ { name: "OWNNAME1", label: "Owner Name 1", searchable: true },
19224
+ { name: "OWNNAME2", label: "Owner Name 2", searchable: true },
19225
+ { name: "MVP_ADDRESS", label: "Site Address", searchable: true },
19226
+ { name: "LOCSTREET", label: "Site Street Name", searchable: true },
19227
+ { name: "LOCCITY", label: "Site City", searchable: true },
19228
+ { name: "LOCZIP", label: "Site ZIP", searchable: true },
19229
+ { name: "MAIL_ADDRESS", label: "Owner Mailing Address", searchable: true },
19230
+ { name: "MAILCITY", label: "Owner Mailing City", searchable: true },
19231
+ { name: "MAILSTATE", label: "Owner Mailing State", searchable: false },
19232
+ { name: "MAILZIP", label: "Owner Mailing ZIP", searchable: false },
19233
+ { name: "LANDUSE", label: "Land Use Code", searchable: false },
19234
+ { name: "ACRES", label: "Acres", searchable: false }
19235
+ ],
19236
+ sampleQuery: "https://gisapp.mahoningcountyoh.gov/arcgis/rest/services/PUBLIC_WEBSITE_CADASTRAL/MapServer/2/query?where=UPPER(OWNNAME1)%20LIKE%20UPPER('%25SMITH%25')&outFields=*&returnGeometry=false&f=json&resultRecordCount=10",
19237
+ license: "unknown",
19238
+ licenseUrl: "https://www.mahoningcountyoh.gov/161/GIS",
19239
+ status: "live",
19240
+ lastVerified: "2026-09-26",
19241
+ verifiedBy: "manual"
19242
+ }
19243
+ ],
19244
+ contact: {
19245
+ department: "Mahoning County GIS",
19246
+ url: "https://www.mahoningcountyoh.gov/161/GIS",
19247
+ email: null
19248
+ },
19249
+ notes: "Mahoning County (county seat Youngstown) publishes its parcels as layer 2 'PROPERTY BOUNDARIES' of the PUBLIC_WEBSITE_CADASTRAL MapServer on its own ArcGIS Server. The layer carries PARCEL_ID, owner names OWNNAME1 to OWNNAME3, the site address (MVP_ADDRESS combined, LOC* components), the owner mailing address (MAIL_ADDRESS combined, MAIL* components), a separate tax-bill mailing block (TAX*), land use, market values and the last sale. SERVER QUIRK: any query that names specific outFields fails with HTTP 400 'Failed to execute query.', and only outFields=* succeeds, so a client must request every field and pick columns out of the response. Measured across seven request variants on 2026-09-25 and confirmed again on 2026-09-26. CORS reflects the request's Origin. Re-verified 2026-09-26: the layer holds 160,722 parcels and an owner-name query returned live rows. The county's GIS page describes its maps as informational only and not suitable for legal, engineering or surveying use; no open-data license is stated."
18947
19250
  }
18948
19251
  ]
18949
19252
  };
@@ -19004,7 +19307,7 @@ var oregon_default = {
19004
19307
  stateSlug: "oregon",
19005
19308
  stateName: "Oregon",
19006
19309
  stateAbbrev: "OR",
19007
- lastUpdated: "2026-09-02",
19310
+ lastUpdated: "2026-09-26",
19008
19311
  counties: [
19009
19312
  {
19010
19313
  id: "or-multnomah",
@@ -19187,6 +19490,71 @@ var oregon_default = {
19187
19490
  email: null
19188
19491
  },
19189
19492
  notes: "46 fields confirmed including TLID, GlobalID, StatedArea, ID, account_id, tax_status, map_tax, MAP, Taxlot, S_I_TYPE, SI_NUMBER, MAILING_NA, IN_CARE_OF, AGENT, M_ADDRESS, M_CITY, M_STATE, zip, YEAR, ma, sa, nh, RMV_PROPER, PROPERTY_C, CODE_AREA, SUM_OF_ACR, SUM_OF_SQF, SITUS_HOUS (house number), SITUS_STRE, SITUS_ST_1, SITUS_DIRE, SITUS_UNIT, SITUS_CITY, SITUS_STAT, SITUS_ZIP, SITUS_PRE_. Owner name search via UPPER() LIKE on MAILING_NA returns real results (e.g., 'SMITH TIMOTHY BLAIR & KAREN KAY'). Hosted on ArcGIS Online (services3.arcgis.com/tNPgIZWOB0Efvm0g). Parcel boundaries are approximated, not for determining legal property boundaries. This data is from Umatilla County GIS (Assessment and Taxation) and covers all of Umatilla County. Capabilities: Query, Sync. Filed under Multnomah until 2026-09-02: the layer's own description reads 'a Umatilla County GIS layer depicting land partition and ownership within Umatilla County' (copyright Umatilla County GIS, service TaxLot_situs_08_06_2025, 44,849 tax lots)."
19493
+ },
19494
+ {
19495
+ id: "or-coos",
19496
+ state: "OR",
19497
+ stateName: "Oregon",
19498
+ stateSlug: "oregon",
19499
+ county: "Coos",
19500
+ countySlug: "coos-county",
19501
+ countyFips: "41011",
19502
+ hasPublicRest: true,
19503
+ endpoints: [
19504
+ {
19505
+ url: "https://services8.arcgis.com/Mg5lKoVeyQMwwiX3/ArcGIS/rest/services/Coos_County_Parcels/FeatureServer/1",
19506
+ serviceType: "FeatureServer",
19507
+ layerIndex: 1,
19508
+ layerName: "Coos County Parcels",
19509
+ supportsQuery: true,
19510
+ corsEnabled: true,
19511
+ searchFields: [
19512
+ { name: "TLID", label: "Tax Lot ID", searchable: true },
19513
+ { name: "Map_No", label: "Map Number", searchable: false },
19514
+ { name: "Parcel_No", label: "Tax Lot Number (within map)", searchable: false },
19515
+ { name: "OWNER1", label: "Owner Name 1", searchable: true },
19516
+ { name: "OWNER2", label: "Owner Name 2", searchable: false },
19517
+ { name: "OWNER3", label: "Owner Name 3", searchable: false },
19518
+ { name: "SITUSSTR", label: "Situs Street Address", searchable: true },
19519
+ { name: "SITUSCITY", label: "Situs City", searchable: true },
19520
+ { name: "SITUSZIP", label: "Situs ZIP", searchable: false },
19521
+ { name: "ACRES", label: "Acres", searchable: false },
19522
+ { name: "PLAN_ZONE", label: "Plan/Zoning Code", searchable: false },
19523
+ { name: "AV", label: "Assessed Value", searchable: false },
19524
+ { name: "RMVLAND", label: "Real Market Value (Land)", searchable: false },
19525
+ { name: "RMVIMPR", label: "Real Market Value (Improvements)", searchable: false }
19526
+ ],
19527
+ sampleQuery: "https://services8.arcgis.com/Mg5lKoVeyQMwwiX3/ArcGIS/rest/services/Coos_County_Parcels/FeatureServer/1/query?where=UPPER(OWNER1)+LIKE+UPPER('%25SMITH%25')&outFields=TLID,OWNER1,SITUSSTR,SITUSCITY&returnGeometry=false&f=json&resultRecordCount=10",
19528
+ license: "unknown",
19529
+ licenseUrl: null,
19530
+ status: "live",
19531
+ lastVerified: "2026-09-26",
19532
+ verifiedBy: "manual"
19533
+ }
19534
+ ],
19535
+ contact: {
19536
+ department: "Coos County Assessor's Office (GIS hosted via City of Coquille ArcGIS Online organization)",
19537
+ url: "https://co.coos.or.us",
19538
+ email: null
19539
+ },
19540
+ notes: "Coos County's public parcel layer is hosted on ArcGIS Online by the City of Coquille's organization, as layer 1 'Coos County Parcels' of the Coos_County_Parcels feature service, whose own description reads 'Parcels via Coos County'. The layer carries the unique tax lot ID (TLID, for example 23S12W07BCTL0012300), the assessor map number (Map_No) and the tax lot number within that map (Parcel_No, which repeats across maps and is not unique on its own), owner names OWNER1 to OWNER3, the situs address (SITUSSTR, SITUSCITY, SITUSZIP), acreage, plan zone, assessed value and real market land and improvement values. There is no owner mailing-address field. CORS is open (Access-Control-Allow-Origin: *). Re-verified 2026-09-26: the layer holds 42,056 parcels and an owner-name query returned live rows. The ArcGIS item is public but states no license, and no county GIS terms page was found, so the license is recorded as unknown."
19541
+ },
19542
+ {
19543
+ id: "or-clackamas",
19544
+ state: "OR",
19545
+ stateName: "Oregon",
19546
+ stateSlug: "oregon",
19547
+ county: "Clackamas",
19548
+ countySlug: "clackamas-county",
19549
+ countyFips: "41005",
19550
+ hasPublicRest: false,
19551
+ endpoints: [],
19552
+ contact: {
19553
+ department: "Clackamas County Department of Assessment and Taxation / Technology Services GIS",
19554
+ url: "https://www.clackamas.us/gis",
19555
+ email: "gisquestions@clackamas.us"
19556
+ },
19557
+ notes: "No public REST parcel layer with owner names was found for Clackamas County (county seat Oregon City) as of 2026-09-26. The county states that it does not publish property owner names online and directs owner-information requests to Assessment and Taxation, and its GIS shapefile downloads require accepting a data licensing agreement. No county-hosted ArcGIS REST catalog was found; the public tools, CMap and AscendWeb, are interactive viewers. Two statewide layers cover the county but neither can serve an owner search: the Oregon Department of Forestry's taxlot layer named 'Clackamas County' declares owner fields but has query disabled, and the Oregon Department of Transportation's taxlot layer is queryable but carries only map and taxlot numbers. Metro's regional RLIS 'Taxlots (Public)' dataset, per its listing, excludes ownership."
19190
19558
  }
19191
19559
  ]
19192
19560
  };
@@ -20966,7 +21334,7 @@ var west_virginia_default = {
20966
21334
  searchable: false
20967
21335
  }
20968
21336
  ],
20969
- sampleQuery: "https://services.wvgis.wvu.edu/arcgis/rest/services/Planning_Cadastre/WV_Parcels/MapServer/0/query?where=CountyID%3D'40'+AND+UPPER(FullOwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=CleanParcelID,FullOwnerName,FullPhysicalAddress,FullOwnerAddress,CountyID&returnGeometry=false&f=json&resultRecordCount=10",
21337
+ sampleQuery: "https://services.wvgis.wvu.edu/arcgis/rest/services/Planning_Cadastre/WV_Parcels/MapServer/0/query?where=(COUNTY+%3D+'41')+AND+UPPER(FullOwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=CleanParcelID,FullOwnerName,FullPhysicalAddress,FullOwnerAddress,CountyID&returnGeometry=false&f=json&resultRecordCount=10",
20970
21338
  license: "public",
20971
21339
  licenseUrl: "https://www.mapwv.gov/parcel/",
20972
21340
  status: "live",