@urbankitstudio/atlas 0.5.1 → 0.5.3
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/LICENSE +21 -21
- package/README.md +146 -110
- package/data/alabama.json +103 -103
- package/data/alaska.json +51 -51
- package/data/arizona.json +149 -148
- package/data/arkansas.json +143 -143
- package/data/california.json +435 -435
- package/data/colorado.json +150 -150
- package/data/connecticut.json +164 -164
- package/data/delaware.json +46 -46
- package/data/florida.json +455 -455
- package/data/georgia.json +176 -175
- package/data/hawaii.json +82 -82
- package/data/idaho.json +54 -54
- package/data/illinois.json +337 -337
- package/data/index.json +411 -411
- package/data/indiana.json +132 -132
- package/data/iowa.json +51 -51
- package/data/kansas.json +49 -49
- package/data/kentucky.json +52 -52
- package/data/louisiana.json +102 -102
- package/data/maine.json +138 -138
- package/data/maryland.json +94 -94
- package/data/massachusetts.json +78 -78
- package/data/michigan.json +92 -92
- package/data/minnesota.json +94 -94
- package/data/mississippi.json +98 -98
- package/data/missouri.json +99 -99
- package/data/montana.json +196 -196
- package/data/nebraska.json +137 -137
- package/data/nevada.json +98 -98
- package/data/new-hampshire.json +42 -42
- package/data/new-jersey.json +493 -493
- package/data/new-mexico.json +49 -49
- package/data/new-york.json +318 -318
- package/data/north-carolina.json +303 -303
- package/data/north-dakota.json +57 -57
- package/data/ohio.json +304 -304
- package/data/oklahoma.json +49 -49
- package/data/oregon.json +144 -144
- package/data/pennsylvania.json +86 -86
- package/data/rhode-island.json +25 -25
- package/data/south-carolina.json +101 -101
- package/data/south-dakota.json +58 -58
- package/data/tennessee.json +154 -154
- package/data/texas.json +430 -430
- package/data/utah.json +193 -193
- package/data/vermont.json +59 -59
- package/data/virginia.json +88 -88
- package/data/washington.json +183 -183
- package/data/west-virginia.json +172 -176
- package/data/wisconsin.json +374 -374
- package/data/wyoming.json +58 -58
- package/dist/index.cjs +44 -42
- package/dist/index.d.cts +26 -1
- package/dist/index.d.ts +26 -1
- package/dist/index.js +44 -43
- package/package.json +68 -68
package/data/wyoming.json
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
{
|
|
2
|
-
"stateSlug": "wyoming",
|
|
3
|
-
"stateName": "Wyoming",
|
|
4
|
-
"stateAbbrev": "WY",
|
|
5
|
-
"lastUpdated": "2026-06-20",
|
|
6
|
-
"counties": [
|
|
7
|
-
{
|
|
8
|
-
"id": "wy-laramie",
|
|
9
|
-
"state": "WY",
|
|
10
|
-
"stateName": "Wyoming",
|
|
11
|
-
"stateSlug": "wyoming",
|
|
12
|
-
"county": "Laramie",
|
|
13
|
-
"countySlug": "laramie-county",
|
|
14
|
-
"countyFips": "56021",
|
|
15
|
-
"hasPublicRest": true,
|
|
16
|
-
"endpoints": [
|
|
17
|
-
{
|
|
18
|
-
"url": "https://maps.laramiecounty.com/arcgis/rest/services/Planning/SmartGovParcels/MapServer/1",
|
|
19
|
-
"serviceType": "MapServer",
|
|
20
|
-
"layerIndex": 1,
|
|
21
|
-
"layerName": "SmartGovParcels",
|
|
22
|
-
"supportsQuery": true,
|
|
23
|
-
"corsEnabled": null,
|
|
24
|
-
"searchFields": [
|
|
25
|
-
{ "name": "statepidn", "label": "State Parcel ID Number", "searchable": true },
|
|
26
|
-
{ "name": "accountno", "label": "Account Number", "searchable": true },
|
|
27
|
-
{ "name": "owner_name1", "label": "Owner Name 1", "searchable": true },
|
|
28
|
-
{ "name": "owner_name2", "label": "Owner Name 2", "searchable": false },
|
|
29
|
-
{ "name": "owner_address", "label": "Owner Address", "searchable": false },
|
|
30
|
-
{ "name": "owner_town", "label": "Owner Town", "searchable": false },
|
|
31
|
-
{ "name": "owner_state", "label": "Owner State", "searchable": false },
|
|
32
|
-
{ "name": "owner_zip", "label": "Owner ZIP", "searchable": false },
|
|
33
|
-
{ "name": "site_address1", "label": "Site Address", "searchable": true },
|
|
34
|
-
{ "name": "site_address2", "label": "Site Address 2", "searchable": false },
|
|
35
|
-
{ "name": "site_town", "label": "Site Town", "searchable": false },
|
|
36
|
-
{ "name": "site_state", "label": "Site State", "searchable": false },
|
|
37
|
-
{ "name": "site_zip", "label": "Site ZIP", "searchable": false },
|
|
38
|
-
{ "name": "trsec", "label": "Township/Range/Section", "searchable": false },
|
|
39
|
-
{ "name": "fema_zone", "label": "FEMA Flood Zone", "searchable": false },
|
|
40
|
-
{ "name": "latitude", "label": "Latitude", "searchable": false }
|
|
41
|
-
],
|
|
42
|
-
"sampleQuery": "https://maps.laramiecounty.com/arcgis/rest/services/Planning/SmartGovParcels/MapServer/1/query?where=UPPER(owner_name1)+LIKE+UPPER('%25SMITH%25')&outFields=statepidn,owner_name1,owner_name2,owner_address,owner_town,site_address1,site_town&returnGeometry=false&f=json&resultRecordCount=10",
|
|
43
|
-
"license": "public",
|
|
44
|
-
"licenseUrl": "https://maps.laramiecounty.com/",
|
|
45
|
-
"status": "live",
|
|
46
|
-
"lastVerified": "2026-06-20",
|
|
47
|
-
"verifiedBy": "automated"
|
|
48
|
-
}
|
|
49
|
-
],
|
|
50
|
-
"contact": {
|
|
51
|
-
"department": "Laramie County GIS / Laramie County Planning and Development",
|
|
52
|
-
"url": "https://www.laramiecounty.com/171/GIS",
|
|
53
|
-
"email": null
|
|
54
|
-
},
|
|
55
|
-
"notes": "Laramie County WY (Cheyenne; county seat Cheyenne; state capital; FIPS 56021; most populous county in WY, pop. 100,000) provides parcel data via maps.laramiecounty.com. The Planning/SmartGovParcels/MapServer layer at layerIndex=1 (NOT layer 0) exposes 20 fields: objectid, statepidn (14-digit state parcel ID, e.g., '12600210000200'), accountno, fema_zone, trsec, site_address1/2, site_town, site_state, site_zip, owner_name1, owner_name2, owner_address, owner_town, owner_state, owner_zip, latitude, and shape fields. CRITICAL: use layerIndex=1 (the /1 suffix). Layer 0 is a different geometry layer. Owner search via UPPER(owner_name1) LIKE works well. Verified 2026-06-20: SMITH query returns Cheyenne-area addresses (e.g., owner_name1 'BAKER, KATHARINE M LIVING TR' at '261 ROAD 164' Pine Bluffs). Laramie County WY (FIPS 56021) must not be confused with the City of Laramie (Albany County WY). The county seat is Cheyenne, not Laramie city."
|
|
56
|
-
}
|
|
57
|
-
]
|
|
58
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"stateSlug": "wyoming",
|
|
3
|
+
"stateName": "Wyoming",
|
|
4
|
+
"stateAbbrev": "WY",
|
|
5
|
+
"lastUpdated": "2026-06-20",
|
|
6
|
+
"counties": [
|
|
7
|
+
{
|
|
8
|
+
"id": "wy-laramie",
|
|
9
|
+
"state": "WY",
|
|
10
|
+
"stateName": "Wyoming",
|
|
11
|
+
"stateSlug": "wyoming",
|
|
12
|
+
"county": "Laramie",
|
|
13
|
+
"countySlug": "laramie-county",
|
|
14
|
+
"countyFips": "56021",
|
|
15
|
+
"hasPublicRest": true,
|
|
16
|
+
"endpoints": [
|
|
17
|
+
{
|
|
18
|
+
"url": "https://maps.laramiecounty.com/arcgis/rest/services/Planning/SmartGovParcels/MapServer/1",
|
|
19
|
+
"serviceType": "MapServer",
|
|
20
|
+
"layerIndex": 1,
|
|
21
|
+
"layerName": "SmartGovParcels",
|
|
22
|
+
"supportsQuery": true,
|
|
23
|
+
"corsEnabled": null,
|
|
24
|
+
"searchFields": [
|
|
25
|
+
{ "name": "statepidn", "label": "State Parcel ID Number", "searchable": true },
|
|
26
|
+
{ "name": "accountno", "label": "Account Number", "searchable": true },
|
|
27
|
+
{ "name": "owner_name1", "label": "Owner Name 1", "searchable": true },
|
|
28
|
+
{ "name": "owner_name2", "label": "Owner Name 2", "searchable": false },
|
|
29
|
+
{ "name": "owner_address", "label": "Owner Address", "searchable": false },
|
|
30
|
+
{ "name": "owner_town", "label": "Owner Town", "searchable": false },
|
|
31
|
+
{ "name": "owner_state", "label": "Owner State", "searchable": false },
|
|
32
|
+
{ "name": "owner_zip", "label": "Owner ZIP", "searchable": false },
|
|
33
|
+
{ "name": "site_address1", "label": "Site Address", "searchable": true },
|
|
34
|
+
{ "name": "site_address2", "label": "Site Address 2", "searchable": false },
|
|
35
|
+
{ "name": "site_town", "label": "Site Town", "searchable": false },
|
|
36
|
+
{ "name": "site_state", "label": "Site State", "searchable": false },
|
|
37
|
+
{ "name": "site_zip", "label": "Site ZIP", "searchable": false },
|
|
38
|
+
{ "name": "trsec", "label": "Township/Range/Section", "searchable": false },
|
|
39
|
+
{ "name": "fema_zone", "label": "FEMA Flood Zone", "searchable": false },
|
|
40
|
+
{ "name": "latitude", "label": "Latitude", "searchable": false }
|
|
41
|
+
],
|
|
42
|
+
"sampleQuery": "https://maps.laramiecounty.com/arcgis/rest/services/Planning/SmartGovParcels/MapServer/1/query?where=UPPER(owner_name1)+LIKE+UPPER('%25SMITH%25')&outFields=statepidn,owner_name1,owner_name2,owner_address,owner_town,site_address1,site_town&returnGeometry=false&f=json&resultRecordCount=10",
|
|
43
|
+
"license": "public",
|
|
44
|
+
"licenseUrl": "https://maps.laramiecounty.com/",
|
|
45
|
+
"status": "live",
|
|
46
|
+
"lastVerified": "2026-06-20",
|
|
47
|
+
"verifiedBy": "automated"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"contact": {
|
|
51
|
+
"department": "Laramie County GIS / Laramie County Planning and Development",
|
|
52
|
+
"url": "https://www.laramiecounty.com/171/GIS",
|
|
53
|
+
"email": null
|
|
54
|
+
},
|
|
55
|
+
"notes": "Laramie County WY (Cheyenne; county seat Cheyenne; state capital; FIPS 56021; most populous county in WY, pop. 100,000) provides parcel data via maps.laramiecounty.com. The Planning/SmartGovParcels/MapServer layer at layerIndex=1 (NOT layer 0) exposes 20 fields: objectid, statepidn (14-digit state parcel ID, e.g., '12600210000200'), accountno, fema_zone, trsec, site_address1/2, site_town, site_state, site_zip, owner_name1, owner_name2, owner_address, owner_town, owner_state, owner_zip, latitude, and shape fields. CRITICAL: use layerIndex=1 (the /1 suffix). Layer 0 is a different geometry layer. Owner search via UPPER(owner_name1) LIKE works well. Verified 2026-06-20: SMITH query returns Cheyenne-area addresses (e.g., owner_name1 'BAKER, KATHARINE M LIVING TR' at '261 ROAD 164' Pine Bluffs). Laramie County WY (FIPS 56021) must not be confused with the City of Laramie (Albany County WY). The county seat is Cheyenne, not Laramie city."
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
package/dist/index.cjs
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
// src/types.ts
|
|
4
|
+
var LIVE_STATUS_URL = "https://urbankitstudio.com/api/atlas/status";
|
|
5
|
+
|
|
3
6
|
// data/index.json
|
|
4
7
|
var data_default = {
|
|
5
|
-
version: "0.
|
|
6
|
-
lastUpdated: "2026-
|
|
8
|
+
version: "0.3.0",
|
|
9
|
+
lastUpdated: "2026-08-04",
|
|
7
10
|
totals: {
|
|
8
11
|
states: 50,
|
|
9
12
|
counties: 155,
|
|
@@ -585,6 +588,7 @@ var arizona_default = {
|
|
|
585
588
|
stateSlug: "arizona",
|
|
586
589
|
county: "Maricopa",
|
|
587
590
|
countySlug: "maricopa-county",
|
|
591
|
+
relatedPropertyCitySlug: "phoenix",
|
|
588
592
|
countyFips: "04013",
|
|
589
593
|
hasPublicRest: true,
|
|
590
594
|
endpoints: [
|
|
@@ -2139,6 +2143,7 @@ var georgia_default = {
|
|
|
2139
2143
|
stateSlug: "georgia",
|
|
2140
2144
|
county: "Fulton",
|
|
2141
2145
|
countySlug: "fulton-county",
|
|
2146
|
+
relatedPropertyCitySlug: "atlanta",
|
|
2142
2147
|
countyFips: "13121",
|
|
2143
2148
|
hasPublicRest: true,
|
|
2144
2149
|
endpoints: [
|
|
@@ -3078,7 +3083,7 @@ var louisiana_default = {
|
|
|
3078
3083
|
stateSlug: "louisiana",
|
|
3079
3084
|
stateName: "Louisiana",
|
|
3080
3085
|
stateAbbrev: "LA",
|
|
3081
|
-
lastUpdated: "2026-
|
|
3086
|
+
lastUpdated: "2026-08-04",
|
|
3082
3087
|
counties: [
|
|
3083
3088
|
{
|
|
3084
3089
|
id: "la-east-baton-rouge-parish",
|
|
@@ -3172,7 +3177,7 @@ var louisiana_default = {
|
|
|
3172
3177
|
url: "https://gis.nola.gov/",
|
|
3173
3178
|
email: null
|
|
3174
3179
|
},
|
|
3175
|
-
notes: "Orleans Parish
|
|
3180
|
+
notes: "Orleans Parish's public parcel layer still serves metadata, but its attribute-query operation is currently failing on the county's ArcGIS server. Owner and address searches are unavailable while the county repairs the service; automatic probes continue to check for recovery. New Orleans uses Square/Lot identifiers for legal parcels. The city also publishes a weekly situs-and-geometry dataset on data.nola.gov, but it does not include owner names. An older 2018 parcel snapshot was not substituted because its ownership data is dated and the service was unstable during verification. LIVENESS 2026-08-04: the layer's metadata still loads, but EVERY query against it times out, including a bare returnCountOnly count. 161 consecutive failed checks and last_ok_at has never been set. This is a county-side outage, not a schema drift; there is nothing to fix on our side and the endpoint stays honestly degraded until New Orleans repairs it."
|
|
3176
3181
|
}
|
|
3177
3182
|
]
|
|
3178
3183
|
};
|
|
@@ -3889,7 +3894,7 @@ var montana_default = {
|
|
|
3889
3894
|
stateSlug: "montana",
|
|
3890
3895
|
stateName: "Montana",
|
|
3891
3896
|
stateAbbrev: "MT",
|
|
3892
|
-
lastUpdated: "2026-
|
|
3897
|
+
lastUpdated: "2026-08-04",
|
|
3893
3898
|
counties: [
|
|
3894
3899
|
{
|
|
3895
3900
|
id: "mt-yellowstone",
|
|
@@ -3902,10 +3907,10 @@ var montana_default = {
|
|
|
3902
3907
|
hasPublicRest: true,
|
|
3903
3908
|
endpoints: [
|
|
3904
3909
|
{
|
|
3905
|
-
url: "https://
|
|
3910
|
+
url: "https://gisservice.mt.gov/arcgis/rest/services/msdi_cadastral_map_v1/MapServer/1",
|
|
3906
3911
|
serviceType: "MapServer",
|
|
3907
|
-
layerIndex:
|
|
3908
|
-
layerName: "Parcels",
|
|
3912
|
+
layerIndex: 1,
|
|
3913
|
+
layerName: "Montana Parcels",
|
|
3909
3914
|
supportsQuery: true,
|
|
3910
3915
|
corsEnabled: null,
|
|
3911
3916
|
searchFields: [
|
|
@@ -3923,9 +3928,9 @@ var montana_default = {
|
|
|
3923
3928
|
{ name: "TotalValue", label: "Total Assessed Value", searchable: false },
|
|
3924
3929
|
{ name: "TaxYear", label: "Tax Year", searchable: false }
|
|
3925
3930
|
],
|
|
3926
|
-
sampleQuery: "https://
|
|
3931
|
+
sampleQuery: "https://gisservice.mt.gov/arcgis/rest/services/msdi_cadastral_map_v1/MapServer/1/query?where=CountyName%3D'Yellowstone'+AND+UPPER(OwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=PARCELID,OwnerName,AddressLine1,CityStateZip,CountyName&returnGeometry=false&f=json&resultRecordCount=10",
|
|
3927
3932
|
license: "public",
|
|
3928
|
-
licenseUrl: "https://
|
|
3933
|
+
licenseUrl: "https://gisservice.mt.gov/",
|
|
3929
3934
|
status: "live",
|
|
3930
3935
|
lastVerified: "2026-06-20",
|
|
3931
3936
|
verifiedBy: "automated"
|
|
@@ -3949,10 +3954,10 @@ var montana_default = {
|
|
|
3949
3954
|
hasPublicRest: true,
|
|
3950
3955
|
endpoints: [
|
|
3951
3956
|
{
|
|
3952
|
-
url: "https://
|
|
3957
|
+
url: "https://gisservice.mt.gov/arcgis/rest/services/msdi_cadastral_map_v1/MapServer/1",
|
|
3953
3958
|
serviceType: "MapServer",
|
|
3954
|
-
layerIndex:
|
|
3955
|
-
layerName: "Parcels",
|
|
3959
|
+
layerIndex: 1,
|
|
3960
|
+
layerName: "Montana Parcels",
|
|
3956
3961
|
supportsQuery: true,
|
|
3957
3962
|
corsEnabled: null,
|
|
3958
3963
|
searchFields: [
|
|
@@ -3970,9 +3975,9 @@ var montana_default = {
|
|
|
3970
3975
|
{ name: "TotalValue", label: "Total Assessed Value", searchable: false },
|
|
3971
3976
|
{ name: "TaxYear", label: "Tax Year", searchable: false }
|
|
3972
3977
|
],
|
|
3973
|
-
sampleQuery: "https://
|
|
3978
|
+
sampleQuery: "https://gisservice.mt.gov/arcgis/rest/services/msdi_cadastral_map_v1/MapServer/1/query?where=CountyName%3D'Missoula'+AND+UPPER(OwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=PARCELID,OwnerName,AddressLine1,CityStateZip,CountyName&returnGeometry=false&f=json&resultRecordCount=10",
|
|
3974
3979
|
license: "public",
|
|
3975
|
-
licenseUrl: "https://
|
|
3980
|
+
licenseUrl: "https://gisservice.mt.gov/",
|
|
3976
3981
|
status: "live",
|
|
3977
3982
|
lastVerified: "2026-06-20",
|
|
3978
3983
|
verifiedBy: "automated"
|
|
@@ -3996,10 +4001,10 @@ var montana_default = {
|
|
|
3996
4001
|
hasPublicRest: true,
|
|
3997
4002
|
endpoints: [
|
|
3998
4003
|
{
|
|
3999
|
-
url: "https://
|
|
4004
|
+
url: "https://gisservice.mt.gov/arcgis/rest/services/msdi_cadastral_map_v1/MapServer/1",
|
|
4000
4005
|
serviceType: "MapServer",
|
|
4001
|
-
layerIndex:
|
|
4002
|
-
layerName: "Parcels",
|
|
4006
|
+
layerIndex: 1,
|
|
4007
|
+
layerName: "Montana Parcels",
|
|
4003
4008
|
supportsQuery: true,
|
|
4004
4009
|
corsEnabled: null,
|
|
4005
4010
|
searchFields: [
|
|
@@ -4017,9 +4022,9 @@ var montana_default = {
|
|
|
4017
4022
|
{ name: "TotalValue", label: "Total Assessed Value", searchable: false },
|
|
4018
4023
|
{ name: "TaxYear", label: "Tax Year", searchable: false }
|
|
4019
4024
|
],
|
|
4020
|
-
sampleQuery: "https://
|
|
4025
|
+
sampleQuery: "https://gisservice.mt.gov/arcgis/rest/services/msdi_cadastral_map_v1/MapServer/1/query?where=CountyName%3D'Cascade'+AND+UPPER(OwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=PARCELID,OwnerName,AddressLine1,CityStateZip,CountyName&returnGeometry=false&f=json&resultRecordCount=10",
|
|
4021
4026
|
license: "public",
|
|
4022
|
-
licenseUrl: "https://
|
|
4027
|
+
licenseUrl: "https://gisservice.mt.gov/",
|
|
4023
4028
|
status: "live",
|
|
4024
4029
|
lastVerified: "2026-06-20",
|
|
4025
4030
|
verifiedBy: "automated"
|
|
@@ -4043,10 +4048,10 @@ var montana_default = {
|
|
|
4043
4048
|
hasPublicRest: true,
|
|
4044
4049
|
endpoints: [
|
|
4045
4050
|
{
|
|
4046
|
-
url: "https://
|
|
4051
|
+
url: "https://gisservice.mt.gov/arcgis/rest/services/msdi_cadastral_map_v1/MapServer/1",
|
|
4047
4052
|
serviceType: "MapServer",
|
|
4048
|
-
layerIndex:
|
|
4049
|
-
layerName: "Parcels",
|
|
4053
|
+
layerIndex: 1,
|
|
4054
|
+
layerName: "Montana Parcels",
|
|
4050
4055
|
supportsQuery: true,
|
|
4051
4056
|
corsEnabled: null,
|
|
4052
4057
|
searchFields: [
|
|
@@ -4064,9 +4069,9 @@ var montana_default = {
|
|
|
4064
4069
|
{ name: "TotalValue", label: "Total Assessed Value", searchable: false },
|
|
4065
4070
|
{ name: "TaxYear", label: "Tax Year", searchable: false }
|
|
4066
4071
|
],
|
|
4067
|
-
sampleQuery: "https://
|
|
4072
|
+
sampleQuery: "https://gisservice.mt.gov/arcgis/rest/services/msdi_cadastral_map_v1/MapServer/1/query?where=CountyName%3D'Flathead'+AND+UPPER(OwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=PARCELID,OwnerName,AddressLine1,CityStateZip,CountyName&returnGeometry=false&f=json&resultRecordCount=10",
|
|
4068
4073
|
license: "public",
|
|
4069
|
-
licenseUrl: "https://
|
|
4074
|
+
licenseUrl: "https://gisservice.mt.gov/",
|
|
4070
4075
|
status: "live",
|
|
4071
4076
|
lastVerified: "2026-06-20",
|
|
4072
4077
|
verifiedBy: "automated"
|
|
@@ -6320,7 +6325,7 @@ var south_dakota_default = {
|
|
|
6320
6325
|
stateSlug: "south-dakota",
|
|
6321
6326
|
stateName: "South Dakota",
|
|
6322
6327
|
stateAbbrev: "SD",
|
|
6323
|
-
lastUpdated: "2026-
|
|
6328
|
+
lastUpdated: "2026-08-04",
|
|
6324
6329
|
counties: [
|
|
6325
6330
|
{
|
|
6326
6331
|
id: "sd-minnehaha",
|
|
@@ -6333,7 +6338,7 @@ var south_dakota_default = {
|
|
|
6333
6338
|
hasPublicRest: true,
|
|
6334
6339
|
endpoints: [
|
|
6335
6340
|
{
|
|
6336
|
-
url: "https://gis.minnehahacounty.
|
|
6341
|
+
url: "https://gis.minnehahacounty.gov/minnemap/rest/services/Parcels/MapServer/0",
|
|
6337
6342
|
serviceType: "MapServer",
|
|
6338
6343
|
layerIndex: 0,
|
|
6339
6344
|
layerName: "Parcels",
|
|
@@ -6357,9 +6362,9 @@ var south_dakota_default = {
|
|
|
6357
6362
|
{ name: "TRACT", label: "Tract", searchable: false },
|
|
6358
6363
|
{ name: "SUBDIVISION", label: "Subdivision", searchable: false }
|
|
6359
6364
|
],
|
|
6360
|
-
sampleQuery: "https://gis.minnehahacounty.
|
|
6365
|
+
sampleQuery: "https://gis.minnehahacounty.gov/minnemap/rest/services/Parcels/MapServer/0/query?where=UPPER(MRTNM1)+LIKE+UPPER('%25SMITH%25')&outFields=TAG,MRTNM1,MRTNM2,MRTCTY,FULL_ADDRESS&returnGeometry=false&f=json&resultRecordCount=10",
|
|
6361
6366
|
license: "public",
|
|
6362
|
-
licenseUrl: "https://gis.minnehahacounty.
|
|
6367
|
+
licenseUrl: "https://gis.minnehahacounty.gov/",
|
|
6363
6368
|
status: "live",
|
|
6364
6369
|
lastVerified: "2026-06-20",
|
|
6365
6370
|
verifiedBy: "automated"
|
|
@@ -6370,7 +6375,7 @@ var south_dakota_default = {
|
|
|
6370
6375
|
url: "https://www.minnehahacounty.org/dept/eq/eq.php",
|
|
6371
6376
|
email: null
|
|
6372
6377
|
},
|
|
6373
|
-
notes: "Minnehaha County SD (Sioux Falls metro; county seat Sioux Falls; FIPS 46099; most populous county in SD, pop. 210,000) provides parcel data via gis.minnehahacounty.
|
|
6378
|
+
notes: "Minnehaha County SD (Sioux Falls metro; county seat Sioux Falls; FIPS 46099; most populous county in SD, pop. 210,000) provides parcel data via gis.minnehahacounty.gov. The Parcels/MapServer/0 layer exposes 20 fields: OBJECTID, FULL_ADDRESS, TAG (parcel ID), MAP_ID, MRRDID, MRTNM1 (owner name 1), MRTNM2 (owner name 2), MRTCTY (owner city), MRTSTATE, MRTZPC (ZIP), MRTZPC2, NWLOCN, NWPRED, NWLOCS (street name), NWSTYP, NWPOSD, LOT, BLOCK, TRACT, SUBDIVISION. Owner search via UPPER(MRTNM1) LIKE on MRTNM1. To get both owners, also query MRTNM2. Verified 2026-06-20: SMITH query returns Sioux Falls addresses. Minnehaha County SD (FIPS 46099) must not be confused with Minnehaha County in any other state."
|
|
6374
6379
|
}
|
|
6375
6380
|
]
|
|
6376
6381
|
};
|
|
@@ -6483,7 +6488,7 @@ var tennessee_default = {
|
|
|
6483
6488
|
url: "https://www.shelbycountytn.gov/467/REGIS-Regional-GIS",
|
|
6484
6489
|
email: null
|
|
6485
6490
|
},
|
|
6486
|
-
notes: "Shelby County (Memphis and suburbs, pop. 934,000) hosts parcel data through ReGIS (Regional Geographic Information Systems), a multi-jurisdictional GIS consortium established by the Shelby County Commission in 2004. The CurrentParcels MapServer at scgis.shelbycountytn.gov exposes 47 confirmed fields. Parcel identifiers: PARCELID (primary display key) and PARID (the CAMA account ID used by the Shelby County Assessor of Property). Owner field is OWNER; OWNER_EXT holds overflow text. Mailing address is split across OWN_ADRNO, ADRPREDIR, ADRSTR, ADRSUF, ADRPOSTDIR for the street component, plus OWN_CITY, OWN_STATE, OWN_ZIP/ZIP4; also available concatenated as OWN_ADDR1/2/3. The MUNI field identifies the municipality -- Memphis, Bartlett, Collierville, Germantown, Lakeland, Millington, or blank for unincorporated Shelby County. That distinction carries real workflow consequences: Memphis's Division of Planning handles incorporated parcels, while the Shelby County Land Use Control Board handles unincorporated ones. Verified 2026-05-15: SMITH returns results from Germantown, Arlington, and unincorporated areas. Last countywide reappraisal was 2025; next scheduled 2029. LEGACY TLS (first documented 2026-06-06, confirmed 2026-06-27): scgis.shelbycountytn.gov requires legacy TLS renegotiation (UNSAFE_LEGACY_RENEGOTIATION). Modern runtimes (Node.js 18+, undici fetch, Python 3.10+ ssl, standard curl) reject the handshake; curl --legacy-server-connect or OpenSSL OP_LEGACY_SERVER_CONNECT succeeds. The endpoint itself is live (353,448 parcels).
|
|
6491
|
+
notes: "Shelby County (Memphis and suburbs, pop. 934,000) hosts parcel data through ReGIS (Regional Geographic Information Systems), a multi-jurisdictional GIS consortium established by the Shelby County Commission in 2004. The CurrentParcels MapServer at scgis.shelbycountytn.gov exposes 47 confirmed fields. Parcel identifiers: PARCELID (primary display key) and PARID (the CAMA account ID used by the Shelby County Assessor of Property). Owner field is OWNER; OWNER_EXT holds overflow text. Mailing address is split across OWN_ADRNO, ADRPREDIR, ADRSTR, ADRSUF, ADRPOSTDIR for the street component, plus OWN_CITY, OWN_STATE, OWN_ZIP/ZIP4; also available concatenated as OWN_ADDR1/2/3. The MUNI field identifies the municipality -- Memphis, Bartlett, Collierville, Germantown, Lakeland, Millington, or blank for unincorporated Shelby County. That distinction carries real workflow consequences: Memphis's Division of Planning handles incorporated parcels, while the Shelby County Land Use Control Board handles unincorporated ones. Verified 2026-05-15: SMITH returns results from Germantown, Arlington, and unincorporated areas. Last countywide reappraisal was 2025; next scheduled 2029. LEGACY TLS (first documented 2026-06-06, confirmed 2026-06-27): scgis.shelbycountytn.gov requires legacy TLS renegotiation (UNSAFE_LEGACY_RENEGOTIATION). Modern runtimes (Node.js 18+, undici fetch, Python 3.10+ ssl, standard curl) reject the handshake; curl --legacy-server-connect or OpenSSL OP_LEGACY_SERVER_CONNECT succeeds. The endpoint itself is live (353,448 parcels). RESOLVED (2026-07-21): the canonical liveness prober (api/cron/liveness.ts) and the server-side parcel fetch (api/_lib/atlas-resilient-fetch.ts) both use a narrow legacy-TLS path scoped to this hostname alone, so the endpoint probes and fetches correctly; global TLS behavior is unchanged."
|
|
6487
6492
|
},
|
|
6488
6493
|
{
|
|
6489
6494
|
id: "tn-hamilton",
|
|
@@ -7222,7 +7227,7 @@ var virginia_default = {
|
|
|
7222
7227
|
stateSlug: "virginia",
|
|
7223
7228
|
stateName: "Virginia",
|
|
7224
7229
|
stateAbbrev: "VA",
|
|
7225
|
-
lastUpdated: "2026-
|
|
7230
|
+
lastUpdated: "2026-08-04",
|
|
7226
7231
|
counties: [
|
|
7227
7232
|
{
|
|
7228
7233
|
id: "va-fairfax",
|
|
@@ -7302,7 +7307,7 @@ var virginia_default = {
|
|
|
7302
7307
|
url: "https://www.pwcva.gov/department/geographic-information-systems-gis",
|
|
7303
7308
|
email: null
|
|
7304
7309
|
},
|
|
7305
|
-
notes: "Prince William County (Northern Virginia, pop. ~490,000; county seat unincorporated, courts in Manassas) publishes an Open Data parcel MapServer at gisweb.pwcva.gov (note the host is gisweb.pwcva.gov, NOT pwcgov.org). Layer 0 exposes 49 fields and -- unlike neighboring Fairfax County -- includes owner name directly: CAMA_OWNER_CUR (current owner from the CAMA system) and CAMA_DEEDOWNER (deed owner). Parcel identifier is GPIN, a hyphenated geographic id (e.g. '7201-09-8851'). Site address is split across ST_NO / ST_NAME / ST_TYPE / CITY / ZIP. Verified 2026-06-20: 159,174 parcels; UPPER(CAMA_OWNER_CUR) LIKE '%SMITH%' returns real owners with Haymarket/Manassas-area addresses and ZIPs. IMPORTANT: this entry covers Prince William COUNTY only. The independent cities of Manassas (FIPS 51683) and Manassas Park (FIPS 51685) sit within the county's geographic bounds but are separate Census FIPS jurisdictions, governed and assessed independently. For authoritative assessment records use the PWC Real Estate Assessments office."
|
|
7310
|
+
notes: "Prince William County (Northern Virginia, pop. ~490,000; county seat unincorporated, courts in Manassas) publishes an Open Data parcel MapServer at gisweb.pwcva.gov (note the host is gisweb.pwcva.gov, NOT pwcgov.org). Layer 0 exposes 49 fields and -- unlike neighboring Fairfax County -- includes owner name directly: CAMA_OWNER_CUR (current owner from the CAMA system) and CAMA_DEEDOWNER (deed owner). Parcel identifier is GPIN, a hyphenated geographic id (e.g. '7201-09-8851'). Site address is split across ST_NO / ST_NAME / ST_TYPE / CITY / ZIP. Verified 2026-06-20: 159,174 parcels; UPPER(CAMA_OWNER_CUR) LIKE '%SMITH%' returns real owners with Haymarket/Manassas-area addresses and ZIPs. IMPORTANT: this entry covers Prince William COUNTY only. The independent cities of Manassas (FIPS 51683) and Manassas Park (FIPS 51685) sit within the county's geographic bounds but are separate Census FIPS jurisdictions, governed and assessed independently. For authoritative assessment records use the PWC Real Estate Assessments office. LIVENESS 2026-08-04: answers a home-network probe in ~2.6s with 10 correct parcel rows, but exceeds even the raised 15s host budget from the Vercel probe region on 112 consecutive checks. That pattern reads as datacenter-IP throttling rather than a slow server, so raising the budget further would risk the 60s shard ceiling for no gain. Stays honestly degraded."
|
|
7306
7311
|
}
|
|
7307
7312
|
]
|
|
7308
7313
|
};
|
|
@@ -7497,7 +7502,7 @@ var west_virginia_default = {
|
|
|
7497
7502
|
stateSlug: "west-virginia",
|
|
7498
7503
|
stateName: "West Virginia",
|
|
7499
7504
|
stateAbbrev: "WV",
|
|
7500
|
-
lastUpdated: "2026-
|
|
7505
|
+
lastUpdated: "2026-08-04",
|
|
7501
7506
|
counties: [
|
|
7502
7507
|
{
|
|
7503
7508
|
id: "wv-kanawha",
|
|
@@ -7523,8 +7528,7 @@ var west_virginia_default = {
|
|
|
7523
7528
|
{ name: "FullOwnerAddress", label: "Owner Mailing Address", searchable: false },
|
|
7524
7529
|
{ name: "FullLegalDescription", label: "Legal Description", searchable: false },
|
|
7525
7530
|
{ name: "CountyID", label: "County ID string ('20' = Kanawha)", searchable: false },
|
|
7526
|
-
{ name: "GISPID", label: "GIS Parcel ID", searchable: false }
|
|
7527
|
-
{ name: "Acres_C", label: "Calculated Acres", searchable: false }
|
|
7531
|
+
{ name: "GISPID", label: "GIS Parcel ID", searchable: false }
|
|
7528
7532
|
],
|
|
7529
7533
|
sampleQuery: "https://services.wvgis.wvu.edu/arcgis/rest/services/Planning_Cadastre/WV_Parcels/MapServer/0/query?where=CountyID%3D'20'+AND+UPPER(FullOwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=CleanParcelID,FullOwnerName,FullPhysicalAddress,FullOwnerAddress,CountyID&returnGeometry=false&f=json&resultRecordCount=10",
|
|
7530
7534
|
license: "public",
|
|
@@ -7565,8 +7569,7 @@ var west_virginia_default = {
|
|
|
7565
7569
|
{ name: "FullOwnerAddress", label: "Owner Mailing Address", searchable: false },
|
|
7566
7570
|
{ name: "FullLegalDescription", label: "Legal Description", searchable: false },
|
|
7567
7571
|
{ name: "CountyID", label: "County ID string ('31' = Monongalia)", searchable: false },
|
|
7568
|
-
{ name: "GISPID", label: "GIS Parcel ID", searchable: false }
|
|
7569
|
-
{ name: "Acres_C", label: "Calculated Acres", searchable: false }
|
|
7572
|
+
{ name: "GISPID", label: "GIS Parcel ID", searchable: false }
|
|
7570
7573
|
],
|
|
7571
7574
|
sampleQuery: "https://services.wvgis.wvu.edu/arcgis/rest/services/Planning_Cadastre/WV_Parcels/MapServer/0/query?where=CountyID%3D'31'+AND+UPPER(FullOwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=CleanParcelID,FullOwnerName,FullPhysicalAddress,FullOwnerAddress,CountyID&returnGeometry=false&f=json&resultRecordCount=10",
|
|
7572
7575
|
license: "public",
|
|
@@ -7607,8 +7610,7 @@ var west_virginia_default = {
|
|
|
7607
7610
|
{ name: "FullOwnerAddress", label: "Owner Mailing Address", searchable: false },
|
|
7608
7611
|
{ name: "FullLegalDescription", label: "Legal Description", searchable: false },
|
|
7609
7612
|
{ name: "CountyID", label: "County ID string ('40' = Raleigh)", searchable: false },
|
|
7610
|
-
{ name: "GISPID", label: "GIS Parcel ID", searchable: false }
|
|
7611
|
-
{ name: "Acres_C", label: "Calculated Acres", searchable: false }
|
|
7613
|
+
{ name: "GISPID", label: "GIS Parcel ID", searchable: false }
|
|
7612
7614
|
],
|
|
7613
7615
|
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",
|
|
7614
7616
|
license: "public",
|
|
@@ -7649,8 +7651,7 @@ var west_virginia_default = {
|
|
|
7649
7651
|
{ name: "FullOwnerAddress", label: "Owner Mailing Address", searchable: false },
|
|
7650
7652
|
{ name: "FullLegalDescription", label: "Legal Description", searchable: false },
|
|
7651
7653
|
{ name: "CountyID", label: "County ID string ('06' = Cabell)", searchable: false },
|
|
7652
|
-
{ name: "GISPID", label: "GIS Parcel ID", searchable: false }
|
|
7653
|
-
{ name: "Acres_C", label: "Calculated Acres", searchable: false }
|
|
7654
|
+
{ name: "GISPID", label: "GIS Parcel ID", searchable: false }
|
|
7654
7655
|
],
|
|
7655
7656
|
sampleQuery: "https://services.wvgis.wvu.edu/arcgis/rest/services/Planning_Cadastre/WV_Parcels/MapServer/0/query?where=CountyID%3D'06'+AND+UPPER(FullOwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=CleanParcelID,FullOwnerName,FullPhysicalAddress,FullOwnerAddress,CountyID&returnGeometry=false&f=json&resultRecordCount=10",
|
|
7656
7657
|
license: "public",
|
|
@@ -8227,6 +8228,7 @@ function countyPath(stateSlug, countySlug) {
|
|
|
8227
8228
|
return `/parcel-atlas/${stateSlug}/${countySlug}`;
|
|
8228
8229
|
}
|
|
8229
8230
|
|
|
8231
|
+
exports.LIVE_STATUS_URL = LIVE_STATUS_URL;
|
|
8230
8232
|
exports.atlas = atlas;
|
|
8231
8233
|
exports.atlasIndex = atlasIndex;
|
|
8232
8234
|
exports.buildParcelLookupDeepLink = buildParcelLookupDeepLink;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,29 @@
|
|
|
1
1
|
type ServiceType = "FeatureServer" | "MapServer";
|
|
2
2
|
type LicenseType = "public" | "open-data" | "restricted" | "unknown";
|
|
3
|
+
/**
|
|
4
|
+
* The registry's curation stamp for an endpoint, AS OF THE MOMENT THIS PACKAGE
|
|
5
|
+
* WAS PUBLISHED. It is not a live signal and cannot be — this package ships
|
|
6
|
+
* static JSON and makes no network calls.
|
|
7
|
+
*
|
|
8
|
+
* So `"live"` here means "a check passed before publish", not "this endpoint is
|
|
9
|
+
* up right now". A county can go down the day after a release and every
|
|
10
|
+
* installed copy will keep reporting `"live"` until the next one.
|
|
11
|
+
*
|
|
12
|
+
* For the current answer, query the public health endpoint, which reports what
|
|
13
|
+
* the liveness probe last observed (every two hours) and requires no API key:
|
|
14
|
+
*
|
|
15
|
+
* GET https://urbankitstudio.com/api/atlas/status?fips=17089
|
|
16
|
+
*
|
|
17
|
+
* A `found: false` there means no observation exists — which is not the same as
|
|
18
|
+
* healthy. See LIVE_STATUS_URL below.
|
|
19
|
+
*/
|
|
3
20
|
type EndpointStatus = "live" | "stale" | "unreachable" | "unverified";
|
|
4
21
|
type VerifiedBy = "manual" | "arcgis-hub-seed" | "automated";
|
|
22
|
+
/**
|
|
23
|
+
* Where to ask whether an endpoint is actually up right now. Keyless.
|
|
24
|
+
* Omit the query string for every tracked county.
|
|
25
|
+
*/
|
|
26
|
+
declare const LIVE_STATUS_URL = "https://urbankitstudio.com/api/atlas/status";
|
|
5
27
|
interface SearchField {
|
|
6
28
|
name: string;
|
|
7
29
|
label: string;
|
|
@@ -18,7 +40,10 @@ interface EndpointRecord {
|
|
|
18
40
|
sampleQuery: string | null;
|
|
19
41
|
license: LicenseType;
|
|
20
42
|
licenseUrl: string | null;
|
|
43
|
+
/** Publish-time claim, NOT live. See {@link EndpointStatus}. */
|
|
21
44
|
status: EndpointStatus;
|
|
45
|
+
/** ISO date this entry was last verified before publish — a human curation
|
|
46
|
+
* date, not a probe result, and always at least as old as this release. */
|
|
22
47
|
lastVerified: string;
|
|
23
48
|
verifiedBy: VerifiedBy;
|
|
24
49
|
}
|
|
@@ -121,4 +146,4 @@ interface Atlas {
|
|
|
121
146
|
}
|
|
122
147
|
declare const atlas: Atlas;
|
|
123
148
|
|
|
124
|
-
export { type Atlas, type AtlasIndex, type ContactInfo, type CountyRecord, type EndpointRecord, type EndpointStatus, type LicenseType, type SearchField, type ServiceType, type StateFile, type StateIndexEntry, type VerifiedBy, atlas, atlasIndex, buildParcelLookupDeepLink, countyPath, countySlugFromName, findCounty, findCountyByFips, findState, listCountiesByState, listStates, slugify, statePath };
|
|
149
|
+
export { type Atlas, type AtlasIndex, type ContactInfo, type CountyRecord, type EndpointRecord, type EndpointStatus, LIVE_STATUS_URL, type LicenseType, type SearchField, type ServiceType, type StateFile, type StateIndexEntry, type VerifiedBy, atlas, atlasIndex, buildParcelLookupDeepLink, countyPath, countySlugFromName, findCounty, findCountyByFips, findState, listCountiesByState, listStates, slugify, statePath };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,29 @@
|
|
|
1
1
|
type ServiceType = "FeatureServer" | "MapServer";
|
|
2
2
|
type LicenseType = "public" | "open-data" | "restricted" | "unknown";
|
|
3
|
+
/**
|
|
4
|
+
* The registry's curation stamp for an endpoint, AS OF THE MOMENT THIS PACKAGE
|
|
5
|
+
* WAS PUBLISHED. It is not a live signal and cannot be — this package ships
|
|
6
|
+
* static JSON and makes no network calls.
|
|
7
|
+
*
|
|
8
|
+
* So `"live"` here means "a check passed before publish", not "this endpoint is
|
|
9
|
+
* up right now". A county can go down the day after a release and every
|
|
10
|
+
* installed copy will keep reporting `"live"` until the next one.
|
|
11
|
+
*
|
|
12
|
+
* For the current answer, query the public health endpoint, which reports what
|
|
13
|
+
* the liveness probe last observed (every two hours) and requires no API key:
|
|
14
|
+
*
|
|
15
|
+
* GET https://urbankitstudio.com/api/atlas/status?fips=17089
|
|
16
|
+
*
|
|
17
|
+
* A `found: false` there means no observation exists — which is not the same as
|
|
18
|
+
* healthy. See LIVE_STATUS_URL below.
|
|
19
|
+
*/
|
|
3
20
|
type EndpointStatus = "live" | "stale" | "unreachable" | "unverified";
|
|
4
21
|
type VerifiedBy = "manual" | "arcgis-hub-seed" | "automated";
|
|
22
|
+
/**
|
|
23
|
+
* Where to ask whether an endpoint is actually up right now. Keyless.
|
|
24
|
+
* Omit the query string for every tracked county.
|
|
25
|
+
*/
|
|
26
|
+
declare const LIVE_STATUS_URL = "https://urbankitstudio.com/api/atlas/status";
|
|
5
27
|
interface SearchField {
|
|
6
28
|
name: string;
|
|
7
29
|
label: string;
|
|
@@ -18,7 +40,10 @@ interface EndpointRecord {
|
|
|
18
40
|
sampleQuery: string | null;
|
|
19
41
|
license: LicenseType;
|
|
20
42
|
licenseUrl: string | null;
|
|
43
|
+
/** Publish-time claim, NOT live. See {@link EndpointStatus}. */
|
|
21
44
|
status: EndpointStatus;
|
|
45
|
+
/** ISO date this entry was last verified before publish — a human curation
|
|
46
|
+
* date, not a probe result, and always at least as old as this release. */
|
|
22
47
|
lastVerified: string;
|
|
23
48
|
verifiedBy: VerifiedBy;
|
|
24
49
|
}
|
|
@@ -121,4 +146,4 @@ interface Atlas {
|
|
|
121
146
|
}
|
|
122
147
|
declare const atlas: Atlas;
|
|
123
148
|
|
|
124
|
-
export { type Atlas, type AtlasIndex, type ContactInfo, type CountyRecord, type EndpointRecord, type EndpointStatus, type LicenseType, type SearchField, type ServiceType, type StateFile, type StateIndexEntry, type VerifiedBy, atlas, atlasIndex, buildParcelLookupDeepLink, countyPath, countySlugFromName, findCounty, findCountyByFips, findState, listCountiesByState, listStates, slugify, statePath };
|
|
149
|
+
export { type Atlas, type AtlasIndex, type ContactInfo, type CountyRecord, type EndpointRecord, type EndpointStatus, LIVE_STATUS_URL, type LicenseType, type SearchField, type ServiceType, type StateFile, type StateIndexEntry, type VerifiedBy, atlas, atlasIndex, buildParcelLookupDeepLink, countyPath, countySlugFromName, findCounty, findCountyByFips, findState, listCountiesByState, listStates, slugify, statePath };
|