@urbankitstudio/atlas 0.6.5 → 0.6.7

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/README.md CHANGED
@@ -134,9 +134,9 @@ Omit `?fips=` to get every tracked county in one call.
134
134
 
135
135
  ## Coverage today
136
136
 
137
- The atlas bundles **227 counties across all 50 US states** (241 verified endpoints), covering the largest counties in each. Call `listStates()` to enumerate the full set.
137
+ The atlas bundles **233 counties across all 50 US states** (245 verified endpoints), covering the largest counties in each. Call `listStates()` to enumerate the full set.
138
138
 
139
- Every state has at least one county on record, and 223 of the 227 carry a verified endpoint. The other 4 have `hasPublicRest: false` and an empty `endpoints` array, with `notes` recording the reason and who to contact. Those reasons vary: a subscription-only regional GIS partner, a statewide server that requires an auth token, a state with no county-level parcel authority. They ship rather than being omitted, so `findCounty()` still resolves them. **Check `hasPublicRest`** rather than assuming every county has an endpoint; `totals.countiesWithEndpoint` gives the queryable count directly.
139
+ Every state has at least one county on record, and 227 of the 233 carry a verified endpoint. The other 6 have `hasPublicRest: false` and an empty `endpoints` array, with `notes` recording the reason and who to contact. Those reasons vary: a subscription-only regional GIS partner, a statewide server that requires an auth token, a state with no county-level parcel authority, a county viewer with no public query API, a county that does not publish owner names online. They ship rather than being omitted, so `findCounty()` still resolves them. **Check `hasPublicRest`** rather than assuming every county has an endpoint; `totals.countiesWithEndpoint` gives the queryable count directly.
140
140
 
141
141
  Counties are added as their public REST endpoints are verified. Package versions bump when data refreshes — pin to a minor range (`^0.x`) to receive new counties without breaking changes.
142
142
 
package/data/alaska.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "state": "AK",
10
10
  "stateName": "Alaska",
11
11
  "stateSlug": "alaska",
12
- "county": "Anchorage",
12
+ "county": "Anchorage Municipality",
13
13
  "countySlug": "anchorage-municipality",
14
14
  "countyFips": "02020",
15
15
  "hasPublicRest": true,
@@ -2,7 +2,7 @@
2
2
  "stateSlug": "california",
3
3
  "stateName": "California",
4
4
  "stateAbbrev": "CA",
5
- "lastUpdated": "2026-05-15",
5
+ "lastUpdated": "2026-09-26",
6
6
  "counties": [
7
7
  {
8
8
  "id": "ca-los-angeles",
@@ -462,6 +462,61 @@
462
462
  "email": null
463
463
  },
464
464
  "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."
465
+ },
466
+ {
467
+ "id": "ca-riverside",
468
+ "state": "CA",
469
+ "stateName": "California",
470
+ "stateSlug": "california",
471
+ "county": "Riverside",
472
+ "countySlug": "riverside-county",
473
+ "countyFips": "06065",
474
+ "hasPublicRest": true,
475
+ "endpoints": [
476
+ {
477
+ "url": "https://gis.countyofriverside.us/arcgis_mapping/rest/services/OpenData/Assessor/MapServer/50",
478
+ "serviceType": "MapServer",
479
+ "layerIndex": 50,
480
+ "layerName": "PARCELS_CREST",
481
+ "supportsQuery": true,
482
+ "corsEnabled": true,
483
+ "searchFields": [
484
+ { "name": "APN", "label": "Assessor's Parcel Number", "searchable": true },
485
+ { "name": "SITUS_STREET", "label": "Site Street Address", "searchable": true },
486
+ { "name": "SITUS_CITY", "label": "Site City", "searchable": true },
487
+ { "name": "ZIP_CODE", "label": "Site ZIP", "searchable": false },
488
+ { "name": "MAIL_STREET", "label": "Mailing Street Address", "searchable": true },
489
+ { "name": "MAIL_CITY", "label": "Mailing City", "searchable": false },
490
+ { "name": "SUBDIVISION_NAME", "label": "Subdivision Name", "searchable": false },
491
+ { "name": "ACREAGE", "label": "Assessed Acreage", "searchable": false },
492
+ { "name": "LAND", "label": "Assessed Land Value", "searchable": false },
493
+ { "name": "STRUCTURES", "label": "Assessed Structure Value", "searchable": false },
494
+ { "name": "CLASS_CODE", "label": "Land Use Class", "searchable": false }
495
+ ],
496
+ "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",
497
+ "license": "unknown",
498
+ "licenseUrl": "https://gis.rivco.org/pages/data-distribution",
499
+ "status": "live",
500
+ "lastVerified": "2026-09-26",
501
+ "verifiedBy": "manual"
502
+ }
503
+ ],
504
+ "contact": {
505
+ "department": "Riverside County Assessor-County Clerk-Recorder / Riverside County Information Technology (RCIT) GIS",
506
+ "url": "https://gis.rivco.org/pages/data-distribution",
507
+ "email": null
508
+ },
509
+ "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.",
510
+ "capabilityOverrides": {
511
+ "owner_name": {
512
+ "status": "not_published",
513
+ "basis": {
514
+ "type": "endpoint_schema",
515
+ "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.",
516
+ "sourceUrl": "https://gis.countyofriverside.us/arcgis_mapping/rest/services/OpenData/Assessor/MapServer/50"
517
+ }
518
+ }
519
+ }
465
520
  }
466
521
  ]
467
522
  }
@@ -258,7 +258,7 @@
258
258
  "searchable": false
259
259
  }
260
260
  ],
261
- "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",
261
+ "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",
262
262
  "license": "public",
263
263
  "licenseUrl": "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
264
264
  "status": "live",
@@ -393,7 +393,7 @@
393
393
  "searchable": false
394
394
  }
395
395
  ],
396
- "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",
396
+ "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",
397
397
  "license": "public",
398
398
  "licenseUrl": "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
399
399
  "status": "live",
@@ -528,7 +528,7 @@
528
528
  "searchable": false
529
529
  }
530
530
  ],
531
- "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",
531
+ "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",
532
532
  "license": "public",
533
533
  "licenseUrl": "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
534
534
  "status": "live",
@@ -663,7 +663,7 @@
663
663
  "searchable": false
664
664
  }
665
665
  ],
666
- "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",
666
+ "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",
667
667
  "license": "public",
668
668
  "licenseUrl": "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
669
669
  "status": "live",
@@ -798,7 +798,7 @@
798
798
  "searchable": false
799
799
  }
800
800
  ],
801
- "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",
801
+ "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",
802
802
  "license": "public",
803
803
  "licenseUrl": "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
804
804
  "status": "live",
@@ -933,7 +933,7 @@
933
933
  "searchable": false
934
934
  }
935
935
  ],
936
- "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",
936
+ "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",
937
937
  "license": "public",
938
938
  "licenseUrl": "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
939
939
  "status": "live",
@@ -1068,7 +1068,7 @@
1068
1068
  "searchable": false
1069
1069
  }
1070
1070
  ],
1071
- "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",
1071
+ "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",
1072
1072
  "license": "public",
1073
1073
  "licenseUrl": "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
1074
1074
  "status": "live",
@@ -1203,7 +1203,7 @@
1203
1203
  "searchable": false
1204
1204
  }
1205
1205
  ],
1206
- "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",
1206
+ "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",
1207
1207
  "license": "public",
1208
1208
  "licenseUrl": "https://portal.ct.gov/OPM/IGPP/Publications/GIS-Data",
1209
1209
  "status": "live",
package/data/index.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "version": "0.3.0",
3
- "lastUpdated": "2026-09-20",
3
+ "lastUpdated": "2026-09-26",
4
4
  "totals": {
5
5
  "states": 50,
6
- "counties": 227,
7
- "endpoints": 241,
8
- "countiesWithEndpoint": 223,
6
+ "counties": 233,
7
+ "endpoints": 245,
8
+ "countiesWithEndpoint": 227,
9
9
  "countiesUnprobeable": 1
10
10
  },
11
11
  "states": [
@@ -45,8 +45,8 @@
45
45
  "slug": "california",
46
46
  "name": "California",
47
47
  "abbrev": "CA",
48
- "countyCount": 10,
49
- "endpointCount": 10,
48
+ "countyCount": 11,
49
+ "endpointCount": 11,
50
50
  "populated": true
51
51
  },
52
52
  {
@@ -165,8 +165,8 @@
165
165
  "slug": "maryland",
166
166
  "name": "Maryland",
167
167
  "abbrev": "MD",
168
- "countyCount": 2,
169
- "endpointCount": 2,
168
+ "countyCount": 3,
169
+ "endpointCount": 3,
170
170
  "populated": true
171
171
  },
172
172
  {
@@ -181,8 +181,8 @@
181
181
  "slug": "michigan",
182
182
  "name": "Michigan",
183
183
  "abbrev": "MI",
184
- "countyCount": 4,
185
- "endpointCount": 4,
184
+ "countyCount": 6,
185
+ "endpointCount": 5,
186
186
  "populated": true
187
187
  },
188
188
  {
@@ -301,8 +301,8 @@
301
301
  "slug": "oregon",
302
302
  "name": "Oregon",
303
303
  "abbrev": "OR",
304
- "countyCount": 4,
305
- "endpointCount": 4,
304
+ "countyCount": 6,
305
+ "endpointCount": 5,
306
306
  "populated": true
307
307
  },
308
308
  {
package/data/maine.json CHANGED
@@ -135,7 +135,7 @@
135
135
  "searchable": false
136
136
  }
137
137
  ],
138
- "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",
138
+ "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",
139
139
  "license": "public",
140
140
  "licenseUrl": "https://www.maine.gov/geolib/data/index.html",
141
141
  "status": "live",
@@ -242,7 +242,7 @@
242
242
  "searchable": false
243
243
  }
244
244
  ],
245
- "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",
245
+ "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",
246
246
  "license": "public",
247
247
  "licenseUrl": "https://www.maine.gov/geolib/data/index.html",
248
248
  "status": "live",
@@ -2,7 +2,7 @@
2
2
  "stateSlug": "maryland",
3
3
  "stateName": "Maryland",
4
4
  "stateAbbrev": "MD",
5
- "lastUpdated": "2026-06-05",
5
+ "lastUpdated": "2026-09-26",
6
6
  "counties": [
7
7
  {
8
8
  "id": "md-montgomery",
@@ -178,6 +178,115 @@
178
178
  "email": null
179
179
  },
180
180
  "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."
181
+ },
182
+ {
183
+ "id": "md-baltimore",
184
+ "state": "MD",
185
+ "stateName": "Maryland",
186
+ "stateSlug": "maryland",
187
+ "county": "Baltimore",
188
+ "countySlug": "baltimore-county",
189
+ "countyFips": "24005",
190
+ "hasPublicRest": true,
191
+ "endpoints": [
192
+ {
193
+ "url": "https://bcgis.baltimorecountymd.gov/arcgis/rest/services/Property/Property/MapServer/1",
194
+ "serviceType": "MapServer",
195
+ "layerIndex": 1,
196
+ "layerName": "Tax parcel",
197
+ "supportsQuery": true,
198
+ "corsEnabled": true,
199
+ "searchFields": [
200
+ {
201
+ "name": "TAXPIN",
202
+ "label": "Tax PIN",
203
+ "searchable": true
204
+ },
205
+ {
206
+ "name": "OWNER_NA1",
207
+ "label": "Owner Name 1",
208
+ "searchable": true
209
+ },
210
+ {
211
+ "name": "OWNER_NA2",
212
+ "label": "Owner Name 2",
213
+ "searchable": false
214
+ },
215
+ {
216
+ "name": "PREMISE_ADDRESS",
217
+ "label": "Site Address",
218
+ "searchable": true
219
+ },
220
+ {
221
+ "name": "ADDRESS_1",
222
+ "label": "Owner Mailing Address 1",
223
+ "searchable": true
224
+ },
225
+ {
226
+ "name": "ADDRESS_2",
227
+ "label": "Owner Mailing Address 2",
228
+ "searchable": false
229
+ },
230
+ {
231
+ "name": "OWNER_CITY",
232
+ "label": "Owner Mailing City",
233
+ "searchable": false
234
+ },
235
+ {
236
+ "name": "OWNERSTATE",
237
+ "label": "Owner Mailing State",
238
+ "searchable": false
239
+ },
240
+ {
241
+ "name": "OWNER_ZIP",
242
+ "label": "Owner Mailing ZIP",
243
+ "searchable": false
244
+ },
245
+ {
246
+ "name": "ST_NUM",
247
+ "label": "Site Street Number",
248
+ "searchable": false
249
+ },
250
+ {
251
+ "name": "STREETNAME",
252
+ "label": "Site Street Name",
253
+ "searchable": true
254
+ },
255
+ {
256
+ "name": "CITY",
257
+ "label": "Site City",
258
+ "searchable": false
259
+ },
260
+ {
261
+ "name": "ZIP_CODE",
262
+ "label": "Site ZIP",
263
+ "searchable": false
264
+ },
265
+ {
266
+ "name": "DISTRICT",
267
+ "label": "Assessment District",
268
+ "searchable": false
269
+ },
270
+ {
271
+ "name": "YEAR_BUILT",
272
+ "label": "Year Built",
273
+ "searchable": false
274
+ }
275
+ ],
276
+ "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",
277
+ "license": "open-data",
278
+ "licenseUrl": "https://opendata.baltimorecountymd.gov/pages/data-license",
279
+ "status": "live",
280
+ "lastVerified": "2026-09-26",
281
+ "verifiedBy": "manual"
282
+ }
283
+ ],
284
+ "contact": {
285
+ "department": "Baltimore County Government, Office of Information Technology, GIS",
286
+ "url": "https://www.baltimorecountymd.gov/departments/information-technology/gis",
287
+ "email": null
288
+ },
289
+ "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."
181
290
  }
182
291
  ]
183
292
  }
@@ -2,7 +2,7 @@
2
2
  "stateSlug": "michigan",
3
3
  "stateName": "Michigan",
4
4
  "stateAbbrev": "MI",
5
- "lastUpdated": "2026-08-25",
5
+ "lastUpdated": "2026-09-26",
6
6
  "counties": [
7
7
  {
8
8
  "id": "mi-kent",
@@ -297,6 +297,102 @@
297
297
  "email": null
298
298
  },
299
299
  "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."
300
+ },
301
+ {
302
+ "id": "mi-lenawee",
303
+ "state": "MI",
304
+ "stateName": "Michigan",
305
+ "stateSlug": "michigan",
306
+ "county": "Lenawee",
307
+ "countySlug": "lenawee-county",
308
+ "countyFips": "26091",
309
+ "hasPublicRest": true,
310
+ "endpoints": [
311
+ {
312
+ "url": "https://services6.arcgis.com/mjEvhc9AE3ceAXtG/arcgis/rest/services/Lenawee_Parcels_Public/FeatureServer/2",
313
+ "serviceType": "FeatureServer",
314
+ "layerIndex": 2,
315
+ "layerName": "Lenawee Parcels",
316
+ "supportsQuery": true,
317
+ "corsEnabled": true,
318
+ "searchFields": [
319
+ {
320
+ "name": "TAXID",
321
+ "label": "Parcel ID (Tax ID)",
322
+ "searchable": true
323
+ },
324
+ {
325
+ "name": "PACKPARNUM",
326
+ "label": "Packed Parcel Number",
327
+ "searchable": true
328
+ },
329
+ {
330
+ "name": "OWNNM1",
331
+ "label": "Owner Name 1",
332
+ "searchable": true
333
+ },
334
+ {
335
+ "name": "OWNNM2",
336
+ "label": "Owner Name 2",
337
+ "searchable": true
338
+ },
339
+ {
340
+ "name": "PRADDCOMB",
341
+ "label": "Property Address (Combined)",
342
+ "searchable": true
343
+ },
344
+ {
345
+ "name": "PRADDRCITY",
346
+ "label": "Property Address City",
347
+ "searchable": true
348
+ },
349
+ {
350
+ "name": "LIBERPAGE",
351
+ "label": "Liber/Page (Deed Reference)",
352
+ "searchable": false
353
+ },
354
+ {
355
+ "name": "ACRECALC",
356
+ "label": "Calculated Acreage",
357
+ "searchable": false
358
+ },
359
+ {
360
+ "name": "BSALink",
361
+ "label": "BS&A Online Record Link",
362
+ "searchable": false
363
+ }
364
+ ],
365
+ "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",
366
+ "license": "public",
367
+ "licenseUrl": "https://www.lenawee.mi.us/214/Mapping-GIS",
368
+ "status": "live",
369
+ "lastVerified": "2026-09-26",
370
+ "verifiedBy": "manual"
371
+ }
372
+ ],
373
+ "contact": {
374
+ "department": "Lenawee County Equalization Department, GIS Division",
375
+ "url": "https://www.lenawee.mi.us/214/Mapping-GIS",
376
+ "email": null
377
+ },
378
+ "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."
379
+ },
380
+ {
381
+ "id": "mi-iron",
382
+ "state": "MI",
383
+ "stateName": "Michigan",
384
+ "stateSlug": "michigan",
385
+ "county": "Iron",
386
+ "countySlug": "iron-county",
387
+ "countyFips": "26071",
388
+ "hasPublicRest": false,
389
+ "endpoints": [],
390
+ "contact": {
391
+ "department": "Iron County Equalization Department",
392
+ "url": "https://ironmi.com/equalization",
393
+ "email": null
394
+ },
395
+ "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."
300
396
  }
301
397
  ]
302
398
  }
@@ -145,7 +145,7 @@
145
145
  "searchable": false
146
146
  }
147
147
  ],
148
- "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",
148
+ "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",
149
149
  "license": "public",
150
150
  "licenseUrl": "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
151
151
  "status": "live",
@@ -605,7 +605,7 @@
605
605
  "searchable": false
606
606
  }
607
607
  ],
608
- "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",
608
+ "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",
609
609
  "license": "public",
610
610
  "licenseUrl": "https://nycplanning.github.io/db-pluto/",
611
611
  "status": "live",
@@ -672,7 +672,7 @@
672
672
  "searchable": false
673
673
  }
674
674
  ],
675
- "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",
675
+ "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",
676
676
  "license": "public",
677
677
  "licenseUrl": "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
678
678
  "status": "live",
@@ -916,7 +916,7 @@
916
916
  "searchable": false
917
917
  }
918
918
  ],
919
- "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",
919
+ "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",
920
920
  "license": "public",
921
921
  "licenseUrl": "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
922
922
  "status": "live",
@@ -1073,7 +1073,7 @@
1073
1073
  "searchable": false
1074
1074
  }
1075
1075
  ],
1076
- "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",
1076
+ "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",
1077
1077
  "license": "public",
1078
1078
  "licenseUrl": "https://gisservices.its.ny.gov/arcgis/rest/services/NYS_Tax_Parcels_Public/MapServer",
1079
1079
  "status": "live",
package/data/oregon.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "stateSlug": "oregon",
3
3
  "stateName": "Oregon",
4
4
  "stateAbbrev": "OR",
5
- "lastUpdated": "2026-09-02",
5
+ "lastUpdated": "2026-09-26",
6
6
  "counties": [
7
7
  {
8
8
  "id": "or-multnomah",
@@ -185,6 +185,71 @@
185
185
  "email": null
186
186
  },
187
187
  "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)."
188
+ },
189
+ {
190
+ "id": "or-coos",
191
+ "state": "OR",
192
+ "stateName": "Oregon",
193
+ "stateSlug": "oregon",
194
+ "county": "Coos",
195
+ "countySlug": "coos-county",
196
+ "countyFips": "41011",
197
+ "hasPublicRest": true,
198
+ "endpoints": [
199
+ {
200
+ "url": "https://services8.arcgis.com/Mg5lKoVeyQMwwiX3/ArcGIS/rest/services/Coos_County_Parcels/FeatureServer/1",
201
+ "serviceType": "FeatureServer",
202
+ "layerIndex": 1,
203
+ "layerName": "Coos County Parcels",
204
+ "supportsQuery": true,
205
+ "corsEnabled": true,
206
+ "searchFields": [
207
+ { "name": "TLID", "label": "Tax Lot ID", "searchable": true },
208
+ { "name": "Map_No", "label": "Map Number", "searchable": false },
209
+ { "name": "Parcel_No", "label": "Tax Lot Number (within map)", "searchable": false },
210
+ { "name": "OWNER1", "label": "Owner Name 1", "searchable": true },
211
+ { "name": "OWNER2", "label": "Owner Name 2", "searchable": false },
212
+ { "name": "OWNER3", "label": "Owner Name 3", "searchable": false },
213
+ { "name": "SITUSSTR", "label": "Situs Street Address", "searchable": true },
214
+ { "name": "SITUSCITY", "label": "Situs City", "searchable": true },
215
+ { "name": "SITUSZIP", "label": "Situs ZIP", "searchable": false },
216
+ { "name": "ACRES", "label": "Acres", "searchable": false },
217
+ { "name": "PLAN_ZONE", "label": "Plan/Zoning Code", "searchable": false },
218
+ { "name": "AV", "label": "Assessed Value", "searchable": false },
219
+ { "name": "RMVLAND", "label": "Real Market Value (Land)", "searchable": false },
220
+ { "name": "RMVIMPR", "label": "Real Market Value (Improvements)", "searchable": false }
221
+ ],
222
+ "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",
223
+ "license": "unknown",
224
+ "licenseUrl": null,
225
+ "status": "live",
226
+ "lastVerified": "2026-09-26",
227
+ "verifiedBy": "manual"
228
+ }
229
+ ],
230
+ "contact": {
231
+ "department": "Coos County Assessor's Office (GIS hosted via City of Coquille ArcGIS Online organization)",
232
+ "url": "https://co.coos.or.us",
233
+ "email": null
234
+ },
235
+ "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."
236
+ },
237
+ {
238
+ "id": "or-clackamas",
239
+ "state": "OR",
240
+ "stateName": "Oregon",
241
+ "stateSlug": "oregon",
242
+ "county": "Clackamas",
243
+ "countySlug": "clackamas-county",
244
+ "countyFips": "41005",
245
+ "hasPublicRest": false,
246
+ "endpoints": [],
247
+ "contact": {
248
+ "department": "Clackamas County Department of Assessment and Taxation / Technology Services GIS",
249
+ "url": "https://www.clackamas.us/gis",
250
+ "email": "gisquestions@clackamas.us"
251
+ },
252
+ "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."
188
253
  }
189
254
  ]
190
255
  }