@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.js CHANGED
@@ -13,12 +13,12 @@ var LIVE_STATUS_URL = "https://urbankitstudio.com/api/atlas/status";
13
13
  // data/index.json
14
14
  var data_default = {
15
15
  version: "0.3.0",
16
- lastUpdated: "2026-09-20",
16
+ lastUpdated: "2026-09-26",
17
17
  totals: {
18
18
  states: 50,
19
- counties: 227,
20
- endpoints: 241,
21
- countiesWithEndpoint: 223,
19
+ counties: 234,
20
+ endpoints: 246,
21
+ countiesWithEndpoint: 228,
22
22
  countiesUnprobeable: 1
23
23
  },
24
24
  states: [
@@ -58,8 +58,8 @@ var data_default = {
58
58
  slug: "california",
59
59
  name: "California",
60
60
  abbrev: "CA",
61
- countyCount: 10,
62
- endpointCount: 10,
61
+ countyCount: 11,
62
+ endpointCount: 11,
63
63
  populated: true
64
64
  },
65
65
  {
@@ -178,8 +178,8 @@ var data_default = {
178
178
  slug: "maryland",
179
179
  name: "Maryland",
180
180
  abbrev: "MD",
181
- countyCount: 2,
182
- endpointCount: 2,
181
+ countyCount: 3,
182
+ endpointCount: 3,
183
183
  populated: true
184
184
  },
185
185
  {
@@ -194,8 +194,8 @@ var data_default = {
194
194
  slug: "michigan",
195
195
  name: "Michigan",
196
196
  abbrev: "MI",
197
- countyCount: 4,
198
- endpointCount: 4,
197
+ countyCount: 6,
198
+ endpointCount: 5,
199
199
  populated: true
200
200
  },
201
201
  {
@@ -298,8 +298,8 @@ var data_default = {
298
298
  slug: "ohio",
299
299
  name: "Ohio",
300
300
  abbrev: "OH",
301
- countyCount: 7,
302
- endpointCount: 7,
301
+ countyCount: 8,
302
+ endpointCount: 8,
303
303
  populated: true
304
304
  },
305
305
  {
@@ -314,8 +314,8 @@ var data_default = {
314
314
  slug: "oregon",
315
315
  name: "Oregon",
316
316
  abbrev: "OR",
317
- countyCount: 4,
318
- endpointCount: 4,
317
+ countyCount: 6,
318
+ endpointCount: 5,
319
319
  populated: true
320
320
  },
321
321
  {
@@ -542,7 +542,7 @@ var alaska_default = {
542
542
  state: "AK",
543
543
  stateName: "Alaska",
544
544
  stateSlug: "alaska",
545
- county: "Anchorage",
545
+ county: "Anchorage Municipality",
546
546
  countySlug: "anchorage-municipality",
547
547
  countyFips: "02020",
548
548
  hasPublicRest: true,
@@ -1018,7 +1018,7 @@ var california_default = {
1018
1018
  stateSlug: "california",
1019
1019
  stateName: "California",
1020
1020
  stateAbbrev: "CA",
1021
- lastUpdated: "2026-05-15",
1021
+ lastUpdated: "2026-09-26",
1022
1022
  counties: [
1023
1023
  {
1024
1024
  id: "ca-los-angeles",
@@ -1478,6 +1478,61 @@ var california_default = {
1478
1478
  email: null
1479
1479
  },
1480
1480
  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."
1481
+ },
1482
+ {
1483
+ id: "ca-riverside",
1484
+ state: "CA",
1485
+ stateName: "California",
1486
+ stateSlug: "california",
1487
+ county: "Riverside",
1488
+ countySlug: "riverside-county",
1489
+ countyFips: "06065",
1490
+ hasPublicRest: true,
1491
+ endpoints: [
1492
+ {
1493
+ url: "https://gis.countyofriverside.us/arcgis_mapping/rest/services/OpenData/Assessor/MapServer/50",
1494
+ serviceType: "MapServer",
1495
+ layerIndex: 50,
1496
+ layerName: "PARCELS_CREST",
1497
+ supportsQuery: true,
1498
+ corsEnabled: true,
1499
+ searchFields: [
1500
+ { name: "APN", label: "Assessor's Parcel Number", searchable: true },
1501
+ { name: "SITUS_STREET", label: "Site Street Address", searchable: true },
1502
+ { name: "SITUS_CITY", label: "Site City", searchable: true },
1503
+ { name: "ZIP_CODE", label: "Site ZIP", searchable: false },
1504
+ { name: "MAIL_STREET", label: "Mailing Street Address", searchable: true },
1505
+ { name: "MAIL_CITY", label: "Mailing City", searchable: false },
1506
+ { name: "SUBDIVISION_NAME", label: "Subdivision Name", searchable: false },
1507
+ { name: "ACREAGE", label: "Assessed Acreage", searchable: false },
1508
+ { name: "LAND", label: "Assessed Land Value", searchable: false },
1509
+ { name: "STRUCTURES", label: "Assessed Structure Value", searchable: false },
1510
+ { name: "CLASS_CODE", label: "Land Use Class", searchable: false }
1511
+ ],
1512
+ 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",
1513
+ license: "unknown",
1514
+ licenseUrl: "https://gis.rivco.org/pages/data-distribution",
1515
+ status: "live",
1516
+ lastVerified: "2026-09-26",
1517
+ verifiedBy: "manual"
1518
+ }
1519
+ ],
1520
+ contact: {
1521
+ department: "Riverside County Assessor-County Clerk-Recorder / Riverside County Information Technology (RCIT) GIS",
1522
+ url: "https://gis.rivco.org/pages/data-distribution",
1523
+ email: null
1524
+ },
1525
+ 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.",
1526
+ capabilityOverrides: {
1527
+ owner_name: {
1528
+ status: "not_published",
1529
+ basis: {
1530
+ type: "endpoint_schema",
1531
+ 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.",
1532
+ sourceUrl: "https://gis.countyofriverside.us/arcgis_mapping/rest/services/OpenData/Assessor/MapServer/50"
1533
+ }
1534
+ }
1535
+ }
1481
1536
  }
1482
1537
  ]
1483
1538
  };
@@ -2050,7 +2105,7 @@ var connecticut_default = {
2050
2105
  searchable: false
2051
2106
  }
2052
2107
  ],
2053
- 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",
2108
+ 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",
2054
2109
  license: "public",
2055
2110
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2056
2111
  status: "live",
@@ -2185,7 +2240,7 @@ var connecticut_default = {
2185
2240
  searchable: false
2186
2241
  }
2187
2242
  ],
2188
- 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",
2243
+ 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",
2189
2244
  license: "public",
2190
2245
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2191
2246
  status: "live",
@@ -2320,7 +2375,7 @@ var connecticut_default = {
2320
2375
  searchable: false
2321
2376
  }
2322
2377
  ],
2323
- 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",
2378
+ 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",
2324
2379
  license: "public",
2325
2380
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2326
2381
  status: "live",
@@ -2455,7 +2510,7 @@ var connecticut_default = {
2455
2510
  searchable: false
2456
2511
  }
2457
2512
  ],
2458
- 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",
2513
+ 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",
2459
2514
  license: "public",
2460
2515
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2461
2516
  status: "live",
@@ -2590,7 +2645,7 @@ var connecticut_default = {
2590
2645
  searchable: false
2591
2646
  }
2592
2647
  ],
2593
- 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",
2648
+ 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",
2594
2649
  license: "public",
2595
2650
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2596
2651
  status: "live",
@@ -2725,7 +2780,7 @@ var connecticut_default = {
2725
2780
  searchable: false
2726
2781
  }
2727
2782
  ],
2728
- 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",
2783
+ 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",
2729
2784
  license: "public",
2730
2785
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2731
2786
  status: "live",
@@ -2860,7 +2915,7 @@ var connecticut_default = {
2860
2915
  searchable: false
2861
2916
  }
2862
2917
  ],
2863
- 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",
2918
+ 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",
2864
2919
  license: "public",
2865
2920
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
2866
2921
  status: "live",
@@ -2995,7 +3050,7 @@ var connecticut_default = {
2995
3050
  searchable: false
2996
3051
  }
2997
3052
  ],
2998
- 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",
3053
+ 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",
2999
3054
  license: "public",
3000
3055
  licenseUrl: "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
3001
3056
  status: "live",
@@ -14251,7 +14306,7 @@ var maine_default = {
14251
14306
  searchable: false
14252
14307
  }
14253
14308
  ],
14254
- 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",
14309
+ 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",
14255
14310
  license: "public",
14256
14311
  licenseUrl: "https://www.maine.gov/geolib/data/index.html",
14257
14312
  status: "live",
@@ -14358,7 +14413,7 @@ var maine_default = {
14358
14413
  searchable: false
14359
14414
  }
14360
14415
  ],
14361
- 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",
14416
+ 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",
14362
14417
  license: "public",
14363
14418
  licenseUrl: "https://www.maine.gov/geolib/data/index.html",
14364
14419
  status: "live",
@@ -14382,7 +14437,7 @@ var maryland_default = {
14382
14437
  stateSlug: "maryland",
14383
14438
  stateName: "Maryland",
14384
14439
  stateAbbrev: "MD",
14385
- lastUpdated: "2026-06-05",
14440
+ lastUpdated: "2026-09-26",
14386
14441
  counties: [
14387
14442
  {
14388
14443
  id: "md-montgomery",
@@ -14558,6 +14613,115 @@ var maryland_default = {
14558
14613
  email: null
14559
14614
  },
14560
14615
  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."
14616
+ },
14617
+ {
14618
+ id: "md-baltimore",
14619
+ state: "MD",
14620
+ stateName: "Maryland",
14621
+ stateSlug: "maryland",
14622
+ county: "Baltimore",
14623
+ countySlug: "baltimore-county",
14624
+ countyFips: "24005",
14625
+ hasPublicRest: true,
14626
+ endpoints: [
14627
+ {
14628
+ url: "https://bcgis.baltimorecountymd.gov/arcgis/rest/services/Property/Property/MapServer/1",
14629
+ serviceType: "MapServer",
14630
+ layerIndex: 1,
14631
+ layerName: "Tax parcel",
14632
+ supportsQuery: true,
14633
+ corsEnabled: true,
14634
+ searchFields: [
14635
+ {
14636
+ name: "TAXPIN",
14637
+ label: "Tax PIN",
14638
+ searchable: true
14639
+ },
14640
+ {
14641
+ name: "OWNER_NA1",
14642
+ label: "Owner Name 1",
14643
+ searchable: true
14644
+ },
14645
+ {
14646
+ name: "OWNER_NA2",
14647
+ label: "Owner Name 2",
14648
+ searchable: false
14649
+ },
14650
+ {
14651
+ name: "PREMISE_ADDRESS",
14652
+ label: "Site Address",
14653
+ searchable: true
14654
+ },
14655
+ {
14656
+ name: "ADDRESS_1",
14657
+ label: "Owner Mailing Address 1",
14658
+ searchable: true
14659
+ },
14660
+ {
14661
+ name: "ADDRESS_2",
14662
+ label: "Owner Mailing Address 2",
14663
+ searchable: false
14664
+ },
14665
+ {
14666
+ name: "OWNER_CITY",
14667
+ label: "Owner Mailing City",
14668
+ searchable: false
14669
+ },
14670
+ {
14671
+ name: "OWNERSTATE",
14672
+ label: "Owner Mailing State",
14673
+ searchable: false
14674
+ },
14675
+ {
14676
+ name: "OWNER_ZIP",
14677
+ label: "Owner Mailing ZIP",
14678
+ searchable: false
14679
+ },
14680
+ {
14681
+ name: "ST_NUM",
14682
+ label: "Site Street Number",
14683
+ searchable: false
14684
+ },
14685
+ {
14686
+ name: "STREETNAME",
14687
+ label: "Site Street Name",
14688
+ searchable: true
14689
+ },
14690
+ {
14691
+ name: "CITY",
14692
+ label: "Site City",
14693
+ searchable: false
14694
+ },
14695
+ {
14696
+ name: "ZIP_CODE",
14697
+ label: "Site ZIP",
14698
+ searchable: false
14699
+ },
14700
+ {
14701
+ name: "DISTRICT",
14702
+ label: "Assessment District",
14703
+ searchable: false
14704
+ },
14705
+ {
14706
+ name: "YEAR_BUILT",
14707
+ label: "Year Built",
14708
+ searchable: false
14709
+ }
14710
+ ],
14711
+ 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",
14712
+ license: "open-data",
14713
+ licenseUrl: "https://opendata.baltimorecountymd.gov/pages/data-license",
14714
+ status: "live",
14715
+ lastVerified: "2026-09-26",
14716
+ verifiedBy: "manual"
14717
+ }
14718
+ ],
14719
+ contact: {
14720
+ department: "Baltimore County Government, Office of Information Technology, GIS",
14721
+ url: "https://www.baltimorecountymd.gov/departments/information-technology/gis",
14722
+ email: null
14723
+ },
14724
+ 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."
14561
14725
  }
14562
14726
  ]
14563
14727
  };
@@ -14729,7 +14893,7 @@ var michigan_default = {
14729
14893
  stateSlug: "michigan",
14730
14894
  stateName: "Michigan",
14731
14895
  stateAbbrev: "MI",
14732
- lastUpdated: "2026-08-25",
14896
+ lastUpdated: "2026-09-26",
14733
14897
  counties: [
14734
14898
  {
14735
14899
  id: "mi-kent",
@@ -15024,6 +15188,102 @@ var michigan_default = {
15024
15188
  email: null
15025
15189
  },
15026
15190
  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."
15191
+ },
15192
+ {
15193
+ id: "mi-lenawee",
15194
+ state: "MI",
15195
+ stateName: "Michigan",
15196
+ stateSlug: "michigan",
15197
+ county: "Lenawee",
15198
+ countySlug: "lenawee-county",
15199
+ countyFips: "26091",
15200
+ hasPublicRest: true,
15201
+ endpoints: [
15202
+ {
15203
+ url: "https://services6.arcgis.com/mjEvhc9AE3ceAXtG/arcgis/rest/services/Lenawee_Parcels_Public/FeatureServer/2",
15204
+ serviceType: "FeatureServer",
15205
+ layerIndex: 2,
15206
+ layerName: "Lenawee Parcels",
15207
+ supportsQuery: true,
15208
+ corsEnabled: true,
15209
+ searchFields: [
15210
+ {
15211
+ name: "TAXID",
15212
+ label: "Parcel ID (Tax ID)",
15213
+ searchable: true
15214
+ },
15215
+ {
15216
+ name: "PACKPARNUM",
15217
+ label: "Packed Parcel Number",
15218
+ searchable: true
15219
+ },
15220
+ {
15221
+ name: "OWNNM1",
15222
+ label: "Owner Name 1",
15223
+ searchable: true
15224
+ },
15225
+ {
15226
+ name: "OWNNM2",
15227
+ label: "Owner Name 2",
15228
+ searchable: true
15229
+ },
15230
+ {
15231
+ name: "PRADDCOMB",
15232
+ label: "Property Address (Combined)",
15233
+ searchable: true
15234
+ },
15235
+ {
15236
+ name: "PRADDRCITY",
15237
+ label: "Property Address City",
15238
+ searchable: true
15239
+ },
15240
+ {
15241
+ name: "LIBERPAGE",
15242
+ label: "Liber/Page (Deed Reference)",
15243
+ searchable: false
15244
+ },
15245
+ {
15246
+ name: "ACRECALC",
15247
+ label: "Calculated Acreage",
15248
+ searchable: false
15249
+ },
15250
+ {
15251
+ name: "BSALink",
15252
+ label: "BS&A Online Record Link",
15253
+ searchable: false
15254
+ }
15255
+ ],
15256
+ 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",
15257
+ license: "public",
15258
+ licenseUrl: "https://www.lenawee.mi.us/214/Mapping-GIS",
15259
+ status: "live",
15260
+ lastVerified: "2026-09-26",
15261
+ verifiedBy: "manual"
15262
+ }
15263
+ ],
15264
+ contact: {
15265
+ department: "Lenawee County Equalization Department, GIS Division",
15266
+ url: "https://www.lenawee.mi.us/214/Mapping-GIS",
15267
+ email: null
15268
+ },
15269
+ 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."
15270
+ },
15271
+ {
15272
+ id: "mi-iron",
15273
+ state: "MI",
15274
+ stateName: "Michigan",
15275
+ stateSlug: "michigan",
15276
+ county: "Iron",
15277
+ countySlug: "iron-county",
15278
+ countyFips: "26071",
15279
+ hasPublicRest: false,
15280
+ endpoints: [],
15281
+ contact: {
15282
+ department: "Iron County Equalization Department",
15283
+ url: "https://ironmi.com/equalization",
15284
+ email: null
15285
+ },
15286
+ 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."
15027
15287
  }
15028
15288
  ]
15029
15289
  };
@@ -15230,21 +15490,17 @@ var mississippi_default = {
15230
15490
  { name: "ALTPARNO", label: "Alternate Parcel Number", searchable: true },
15231
15491
  { name: "PPIN", label: "PPIN", searchable: true },
15232
15492
  { name: "OWNNAME", label: "Owner Name", searchable: true },
15233
- { name: "MAILADD1", label: "Mailing Address 1", searchable: false },
15234
- { name: "MCITY1", label: "Mailing City 1", searchable: false },
15235
- { name: "MSTATE1", label: "Mailing State 1", searchable: false },
15236
- { name: "MZIP1", label: "Mailing ZIP 1", searchable: false },
15237
15493
  { name: "SITEADD", label: "Site Address", searchable: true },
15238
15494
  { name: "SCITY", label: "Site City", searchable: false },
15239
15495
  { name: "SSTATE", label: "Site State", searchable: false },
15240
15496
  { name: "SZIP", label: "Site ZIP", searchable: false },
15241
15497
  { name: "SUBNAME", label: "Subdivision Name", searchable: false }
15242
15498
  ],
15243
- 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",
15499
+ 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",
15244
15500
  license: "public",
15245
15501
  licenseUrl: "https://www.gis.ms.gov/",
15246
15502
  status: "live",
15247
- lastVerified: "2026-05-15",
15503
+ lastVerified: "2026-09-26",
15248
15504
  verifiedBy: "manual"
15249
15505
  }
15250
15506
  ],
@@ -15253,7 +15509,7 @@ var mississippi_default = {
15253
15509
  url: "https://www.gis.ms.gov/",
15254
15510
  email: null
15255
15511
  },
15256
- 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."
15512
+ 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.`
15257
15513
  },
15258
15514
  {
15259
15515
  id: "ms-desoto",
@@ -16872,7 +17128,7 @@ var new_york_default = {
16872
17128
  searchable: false
16873
17129
  }
16874
17130
  ],
16875
- 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",
17131
+ 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",
16876
17132
  license: "public",
16877
17133
  licenseUrl: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
16878
17134
  status: "live",
@@ -17332,7 +17588,7 @@ var new_york_default = {
17332
17588
  searchable: false
17333
17589
  }
17334
17590
  ],
17335
- 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",
17591
+ 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",
17336
17592
  license: "public",
17337
17593
  licenseUrl: "https://nycplanning.github.io/db-pluto/",
17338
17594
  status: "live",
@@ -17399,7 +17655,7 @@ var new_york_default = {
17399
17655
  searchable: false
17400
17656
  }
17401
17657
  ],
17402
- 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",
17658
+ 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",
17403
17659
  license: "public",
17404
17660
  licenseUrl: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
17405
17661
  status: "live",
@@ -17643,7 +17899,7 @@ var new_york_default = {
17643
17899
  searchable: false
17644
17900
  }
17645
17901
  ],
17646
- 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",
17902
+ 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",
17647
17903
  license: "public",
17648
17904
  licenseUrl: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
17649
17905
  status: "live",
@@ -17800,7 +18056,7 @@ var new_york_default = {
17800
18056
  searchable: false
17801
18057
  }
17802
18058
  ],
17803
- 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",
18059
+ 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",
17804
18060
  license: "public",
17805
18061
  licenseUrl: "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
17806
18062
  status: "live",
@@ -18640,7 +18896,7 @@ var ohio_default = {
18640
18896
  stateSlug: "ohio",
18641
18897
  stateName: "Ohio",
18642
18898
  stateAbbrev: "OH",
18643
- lastUpdated: "2026-05-15",
18899
+ lastUpdated: "2026-09-26",
18644
18900
  counties: [
18645
18901
  {
18646
18902
  id: "oh-montgomery",
@@ -18942,6 +19198,53 @@ var ohio_default = {
18942
19198
  email: null
18943
19199
  },
18944
19200
  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)."
19201
+ },
19202
+ {
19203
+ id: "oh-mahoning",
19204
+ state: "OH",
19205
+ stateName: "Ohio",
19206
+ stateSlug: "ohio",
19207
+ county: "Mahoning",
19208
+ countySlug: "mahoning-county",
19209
+ countyFips: "39099",
19210
+ hasPublicRest: true,
19211
+ endpoints: [
19212
+ {
19213
+ url: "https://gisapp.mahoningcountyoh.gov/arcgis/rest/services/PUBLIC_WEBSITE_CADASTRAL/MapServer/2",
19214
+ serviceType: "MapServer",
19215
+ layerIndex: 2,
19216
+ layerName: "PROPERTY BOUNDARIES",
19217
+ supportsQuery: true,
19218
+ corsEnabled: true,
19219
+ searchFields: [
19220
+ { name: "PARCEL_ID", label: "Parcel ID", searchable: true },
19221
+ { name: "OWNNAME1", label: "Owner Name 1", searchable: true },
19222
+ { name: "OWNNAME2", label: "Owner Name 2", searchable: true },
19223
+ { name: "MVP_ADDRESS", label: "Site Address", searchable: true },
19224
+ { name: "LOCSTREET", label: "Site Street Name", searchable: true },
19225
+ { name: "LOCCITY", label: "Site City", searchable: true },
19226
+ { name: "LOCZIP", label: "Site ZIP", searchable: true },
19227
+ { name: "MAIL_ADDRESS", label: "Owner Mailing Address", searchable: true },
19228
+ { name: "MAILCITY", label: "Owner Mailing City", searchable: true },
19229
+ { name: "MAILSTATE", label: "Owner Mailing State", searchable: false },
19230
+ { name: "MAILZIP", label: "Owner Mailing ZIP", searchable: false },
19231
+ { name: "LANDUSE", label: "Land Use Code", searchable: false },
19232
+ { name: "ACRES", label: "Acres", searchable: false }
19233
+ ],
19234
+ 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",
19235
+ license: "unknown",
19236
+ licenseUrl: "https://www.mahoningcountyoh.gov/161/GIS",
19237
+ status: "live",
19238
+ lastVerified: "2026-09-26",
19239
+ verifiedBy: "manual"
19240
+ }
19241
+ ],
19242
+ contact: {
19243
+ department: "Mahoning County GIS",
19244
+ url: "https://www.mahoningcountyoh.gov/161/GIS",
19245
+ email: null
19246
+ },
19247
+ 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."
18945
19248
  }
18946
19249
  ]
18947
19250
  };
@@ -19002,7 +19305,7 @@ var oregon_default = {
19002
19305
  stateSlug: "oregon",
19003
19306
  stateName: "Oregon",
19004
19307
  stateAbbrev: "OR",
19005
- lastUpdated: "2026-09-02",
19308
+ lastUpdated: "2026-09-26",
19006
19309
  counties: [
19007
19310
  {
19008
19311
  id: "or-multnomah",
@@ -19185,6 +19488,71 @@ var oregon_default = {
19185
19488
  email: null
19186
19489
  },
19187
19490
  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)."
19491
+ },
19492
+ {
19493
+ id: "or-coos",
19494
+ state: "OR",
19495
+ stateName: "Oregon",
19496
+ stateSlug: "oregon",
19497
+ county: "Coos",
19498
+ countySlug: "coos-county",
19499
+ countyFips: "41011",
19500
+ hasPublicRest: true,
19501
+ endpoints: [
19502
+ {
19503
+ url: "https://services8.arcgis.com/Mg5lKoVeyQMwwiX3/ArcGIS/rest/services/Coos_County_Parcels/FeatureServer/1",
19504
+ serviceType: "FeatureServer",
19505
+ layerIndex: 1,
19506
+ layerName: "Coos County Parcels",
19507
+ supportsQuery: true,
19508
+ corsEnabled: true,
19509
+ searchFields: [
19510
+ { name: "TLID", label: "Tax Lot ID", searchable: true },
19511
+ { name: "Map_No", label: "Map Number", searchable: false },
19512
+ { name: "Parcel_No", label: "Tax Lot Number (within map)", searchable: false },
19513
+ { name: "OWNER1", label: "Owner Name 1", searchable: true },
19514
+ { name: "OWNER2", label: "Owner Name 2", searchable: false },
19515
+ { name: "OWNER3", label: "Owner Name 3", searchable: false },
19516
+ { name: "SITUSSTR", label: "Situs Street Address", searchable: true },
19517
+ { name: "SITUSCITY", label: "Situs City", searchable: true },
19518
+ { name: "SITUSZIP", label: "Situs ZIP", searchable: false },
19519
+ { name: "ACRES", label: "Acres", searchable: false },
19520
+ { name: "PLAN_ZONE", label: "Plan/Zoning Code", searchable: false },
19521
+ { name: "AV", label: "Assessed Value", searchable: false },
19522
+ { name: "RMVLAND", label: "Real Market Value (Land)", searchable: false },
19523
+ { name: "RMVIMPR", label: "Real Market Value (Improvements)", searchable: false }
19524
+ ],
19525
+ 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",
19526
+ license: "unknown",
19527
+ licenseUrl: null,
19528
+ status: "live",
19529
+ lastVerified: "2026-09-26",
19530
+ verifiedBy: "manual"
19531
+ }
19532
+ ],
19533
+ contact: {
19534
+ department: "Coos County Assessor's Office (GIS hosted via City of Coquille ArcGIS Online organization)",
19535
+ url: "https://co.coos.or.us",
19536
+ email: null
19537
+ },
19538
+ 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."
19539
+ },
19540
+ {
19541
+ id: "or-clackamas",
19542
+ state: "OR",
19543
+ stateName: "Oregon",
19544
+ stateSlug: "oregon",
19545
+ county: "Clackamas",
19546
+ countySlug: "clackamas-county",
19547
+ countyFips: "41005",
19548
+ hasPublicRest: false,
19549
+ endpoints: [],
19550
+ contact: {
19551
+ department: "Clackamas County Department of Assessment and Taxation / Technology Services GIS",
19552
+ url: "https://www.clackamas.us/gis",
19553
+ email: "gisquestions@clackamas.us"
19554
+ },
19555
+ 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."
19188
19556
  }
19189
19557
  ]
19190
19558
  };
@@ -20964,7 +21332,7 @@ var west_virginia_default = {
20964
21332
  searchable: false
20965
21333
  }
20966
21334
  ],
20967
- 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",
21335
+ 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",
20968
21336
  license: "public",
20969
21337
  licenseUrl: "https://www.mapwv.gov/parcel/",
20970
21338
  status: "live",