@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/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 **234 counties across all 50 US states** (246 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 228 of the 234 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": 234,
7
+ "endpoints": 246,
8
+ "countiesWithEndpoint": 228,
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
  {
@@ -285,8 +285,8 @@
285
285
  "slug": "ohio",
286
286
  "name": "Ohio",
287
287
  "abbrev": "OH",
288
- "countyCount": 7,
289
- "endpointCount": 7,
288
+ "countyCount": 8,
289
+ "endpointCount": 8,
290
290
  "populated": true
291
291
  },
292
292
  {
@@ -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
  }
@@ -26,21 +26,17 @@
26
26
  { "name": "ALTPARNO", "label": "Alternate Parcel Number", "searchable": true },
27
27
  { "name": "PPIN", "label": "PPIN", "searchable": true },
28
28
  { "name": "OWNNAME", "label": "Owner Name", "searchable": true },
29
- { "name": "MAILADD1", "label": "Mailing Address 1", "searchable": false },
30
- { "name": "MCITY1", "label": "Mailing City 1", "searchable": false },
31
- { "name": "MSTATE1", "label": "Mailing State 1", "searchable": false },
32
- { "name": "MZIP1", "label": "Mailing ZIP 1", "searchable": false },
33
29
  { "name": "SITEADD", "label": "Site Address", "searchable": true },
34
30
  { "name": "SCITY", "label": "Site City", "searchable": false },
35
31
  { "name": "SSTATE", "label": "Site State", "searchable": false },
36
32
  { "name": "SZIP", "label": "Site ZIP", "searchable": false },
37
33
  { "name": "SUBNAME", "label": "Subdivision Name", "searchable": false }
38
34
  ],
39
- "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",
35
+ "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",
40
36
  "license": "public",
41
37
  "licenseUrl": "https://www.gis.ms.gov/",
42
38
  "status": "live",
43
- "lastVerified": "2026-05-15",
39
+ "lastVerified": "2026-09-26",
44
40
  "verifiedBy": "manual"
45
41
  }
46
42
  ],
@@ -49,7 +45,7 @@
49
45
  "url": "https://www.gis.ms.gov/",
50
46
  "email": null
51
47
  },
52
- "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."
48
+ "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."
53
49
  },
54
50
  {
55
51
  "id": "ms-desoto",
@@ -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",