@urbankitstudio/atlas 0.6.10 → 0.6.12
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 +2 -2
- package/data/arizona.json +20 -15
- package/data/arkansas.json +18 -18
- package/data/index.json +7 -7
- package/data/maryland.json +8 -8
- package/data/minnesota.json +45 -1
- package/data/missouri.json +44 -1
- package/data/nevada.json +2 -2
- package/data/new-jersey.json +26 -26
- package/data/south-carolina.json +1 -1
- package/dist/index.cjs +171 -79
- package/dist/index.d.cts +48 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.js +171 -79
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -18,9 +18,9 @@ var data_default = {
|
|
|
18
18
|
lastUpdated: "2026-10-03",
|
|
19
19
|
totals: {
|
|
20
20
|
states: 51,
|
|
21
|
-
counties:
|
|
22
|
-
endpoints:
|
|
23
|
-
countiesWithEndpoint:
|
|
21
|
+
counties: 241,
|
|
22
|
+
endpoints: 253,
|
|
23
|
+
countiesWithEndpoint: 235,
|
|
24
24
|
countiesUnprobeable: 1
|
|
25
25
|
},
|
|
26
26
|
states: [
|
|
@@ -212,8 +212,8 @@ var data_default = {
|
|
|
212
212
|
slug: "minnesota",
|
|
213
213
|
name: "Minnesota",
|
|
214
214
|
abbrev: "MN",
|
|
215
|
-
countyCount:
|
|
216
|
-
endpointCount:
|
|
215
|
+
countyCount: 3,
|
|
216
|
+
endpointCount: 3,
|
|
217
217
|
populated: true
|
|
218
218
|
},
|
|
219
219
|
{
|
|
@@ -228,8 +228,8 @@ var data_default = {
|
|
|
228
228
|
slug: "missouri",
|
|
229
229
|
name: "Missouri",
|
|
230
230
|
abbrev: "MO",
|
|
231
|
-
countyCount:
|
|
232
|
-
endpointCount:
|
|
231
|
+
countyCount: 3,
|
|
232
|
+
endpointCount: 3,
|
|
233
233
|
populated: true
|
|
234
234
|
},
|
|
235
235
|
{
|
|
@@ -754,24 +754,29 @@ var arizona_default = {
|
|
|
754
754
|
supportsQuery: true,
|
|
755
755
|
corsEnabled: null,
|
|
756
756
|
searchFields: [
|
|
757
|
-
{ name: "
|
|
758
|
-
{ name: "
|
|
759
|
-
{ name: "
|
|
760
|
-
{ name: "
|
|
761
|
-
{ name: "
|
|
762
|
-
{ name: "
|
|
763
|
-
{ name: "
|
|
764
|
-
{ name: "
|
|
765
|
-
{ name: "
|
|
766
|
-
{ name: "
|
|
767
|
-
{ name: "
|
|
768
|
-
{ name: "
|
|
757
|
+
{ name: "Parcel_Identification_Number", label: "Parcel ID (APN)", searchable: true },
|
|
758
|
+
{ name: "Lowest_Parcel_Identification_Number", label: "Lower Parcel ID", searchable: true },
|
|
759
|
+
{ name: "First_Owner_Name", label: "Owner Name (Primary)", searchable: true },
|
|
760
|
+
{ name: "Second_Owner_Name", label: "Owner Name (Secondary)", searchable: true },
|
|
761
|
+
{ name: "Site_Address", label: "Site Address", searchable: true },
|
|
762
|
+
{ name: "Postal_Address", label: "Owner Mailing Address", searchable: true },
|
|
763
|
+
{ name: "Postal_City", label: "Owner Mailing City", searchable: true },
|
|
764
|
+
{ name: "Postal_State", label: "Owner Mailing State", searchable: false },
|
|
765
|
+
{ name: "Postal_Zip_Code_5", label: "Owner Mailing ZIP", searchable: false },
|
|
766
|
+
{ name: "Postal_Zip_Code_4", label: "Owner Mailing ZIP+4", searchable: false },
|
|
767
|
+
{ name: "Tax_District_Code", label: "Converted Tax Code", searchable: false },
|
|
768
|
+
{ name: "Tax_District_Description", label: "Tax Code Description", searchable: false },
|
|
769
|
+
{ name: "Assessing_Use_Code", label: "Use Code", searchable: false },
|
|
770
|
+
{ name: "Assessing_Use_Description", label: "Use Description", searchable: false },
|
|
771
|
+
{ name: "Property_Class_Code", label: "Class Code", searchable: false },
|
|
772
|
+
{ name: "Property_Class", label: "Class Description", searchable: false },
|
|
773
|
+
{ name: "Property_Description", label: "Property Description", searchable: false }
|
|
769
774
|
],
|
|
770
|
-
sampleQuery: "https://rogue.casagrandeaz.gov/arcgis/rest/services/Pinal_County/Pinal_County_Parcels/MapServer/0/query?where=
|
|
775
|
+
sampleQuery: "https://rogue.casagrandeaz.gov/arcgis/rest/services/Pinal_County/Pinal_County_Parcels/MapServer/0/query?where=Parcel_Identification_Number+LIKE+'%25302%25'&outFields=Parcel_Identification_Number,Site_Address,First_Owner_Name,Property_Class_Code,Property_Class&returnGeometry=false&f=json&resultRecordCount=10",
|
|
771
776
|
license: "public",
|
|
772
777
|
licenseUrl: "https://www.pinal.gov/630/GIS",
|
|
773
778
|
status: "live",
|
|
774
|
-
lastVerified: "2026-
|
|
779
|
+
lastVerified: "2026-10-03",
|
|
775
780
|
verifiedBy: "manual"
|
|
776
781
|
}
|
|
777
782
|
],
|
|
@@ -780,7 +785,7 @@ var arizona_default = {
|
|
|
780
785
|
url: "https://www.pinal.gov/630/GIS",
|
|
781
786
|
email: null
|
|
782
787
|
},
|
|
783
|
-
notes: "74 fields confirmed including OBJECTID,
|
|
788
|
+
notes: "74 fields confirmed including OBJECTID, Lowest_Parcel_Identification_Number, Parcel_Identification_Number, Building_Number, Unit_Number, Legal_Start_Date, Tax_District_Code, Tax_District_Description, School_District_Code, School_District_Description, Assessing_Use_Code, Assessing_Use_Description, Assessing_Neighborhood_Code, Property_Class_Code, Property_Class, Site_Address, Property_Description, Sub_or_Condo_Name, First_Owner_Name, Second_Owner_Name, Postal_Address, Postal_City, Postal_State, Postal_Zip_Code_5, Postal_Zip_Code_4. In September 2026 the county renamed every field to these long-form names (field count, ids and values unchanged; e.g. PARCELID became Parcel_Identification_Number, OWNERNME1 became First_Owner_Name, SITEADDRESS became Site_Address, CLASSCD became Property_Class_Code), which broke every declared field and the old sampleQuery; the record was re-mapped on 2026-10-03. The rename also exposed owner mailing address for the first time (Postal_Address, Postal_City, Postal_State, Postal_Zip_Code_5, Postal_Zip_Code_4). Site_Address now carries city, state and ZIP in one string (e.g. 9865 W BATTAGLIA DR ARIZONA CITY, AZ 85123). Owner name confirmed live: Parcel_Identification_Number LIKE '%302%' returns First_Owner_Name='FELDMEIER BRIAN' in Arizona City AZ 85123. Parcel_Identification_Number is typically a 9-digit numeric string; a where=1=1 probe returns a placeholder row with Parcel_Identification_Number 'NAP', which is still a valid features array. Named outFields work on this server. Hosted on the City of Casa Grande ArcGIS server (rogue.casagrandeaz.gov) which serves Pinal County parcel data for the Phoenix metro south area (Chandler/Gilbert/Queen Creek/Maricopa City/Casa Grande). Capabilities: Query, Map, Data. maxRecordCount=2000 (was 1000 before the September 2026 republish). Note: the gismaps.pinalcountyaz.gov server is currently not externally accessible (HTTP 000; last checked before 2026-10-03, not re-tested then); the Casa Grande mirror is the reliable public endpoint."
|
|
784
789
|
}
|
|
785
790
|
]
|
|
786
791
|
};
|
|
@@ -847,7 +852,7 @@ var arkansas_default = {
|
|
|
847
852
|
},
|
|
848
853
|
{
|
|
849
854
|
name: "countyfips",
|
|
850
|
-
label: "County FIPS (
|
|
855
|
+
label: "County FIPS (119 = Pulaski)",
|
|
851
856
|
searchable: false
|
|
852
857
|
},
|
|
853
858
|
{
|
|
@@ -866,13 +871,13 @@ var arkansas_default = {
|
|
|
866
871
|
searchable: false
|
|
867
872
|
}
|
|
868
873
|
],
|
|
869
|
-
sampleQuery: "https://gis.arkansas.gov/arcgis/rest/services/FEATURESERVICES/Planning_Cadastre/FeatureServer/6/query?where=countyfips%3D'
|
|
874
|
+
sampleQuery: "https://gis.arkansas.gov/arcgis/rest/services/FEATURESERVICES/Planning_Cadastre/FeatureServer/6/query?where=countyfips%3D'119'+AND+UPPER(ownername)+LIKE+UPPER('%25SMITH%25')&outFields=parcelid,ownername,adrlabel,countyfips&returnGeometry=false&f=json&resultRecordCount=10",
|
|
870
875
|
license: "public",
|
|
871
876
|
licenseUrl: "https://gis.arkansas.gov/",
|
|
872
877
|
status: "live",
|
|
873
|
-
lastVerified: "2026-
|
|
874
|
-
verifiedBy: "
|
|
875
|
-
scopeWhere: "countyfips = '
|
|
878
|
+
lastVerified: "2026-10-03",
|
|
879
|
+
verifiedBy: "manual",
|
|
880
|
+
scopeWhere: "countyfips = '119'"
|
|
876
881
|
}
|
|
877
882
|
],
|
|
878
883
|
contact: {
|
|
@@ -880,7 +885,7 @@ var arkansas_default = {
|
|
|
880
885
|
url: "https://gis.arkansas.gov/",
|
|
881
886
|
email: null
|
|
882
887
|
},
|
|
883
|
-
notes: "Pulaski County AR (Little Rock, pop. 400,000; state capital; county seat Little Rock; FIPS 05119) is served by the Arkansas statewide parcel layer hosted by the Arkansas GIS Office (AGISO). The Planning_Cadastre/FeatureServer/6 layer aggregates parcels from all 75 AR counties, filter by countyfips='
|
|
888
|
+
notes: "Pulaski County AR (Little Rock, pop. 400,000; state capital; county seat Little Rock; FIPS 05119) is served by the Arkansas statewide parcel layer hosted by the Arkansas GIS Office (AGISO). The Planning_Cadastre/FeatureServer/6 layer aggregates parcels from all 75 AR counties, filter by countyfips='119' to query Pulaski County specifically. Key fields: parcelid (parcel identifier), ownername (owner name), adrnum+pstrnam+adrcity+adrzip5 (address components), adrlabel (full address string), countyfips (3-digit county code, '119' for Pulaski), countyid, county (county name text), parceltype, assessvalue, impvalue, landvalue, totalvalue, subdivision, section/township/range, camakey, dataprov, pubdate. Owner-name search via UPPER(ownername) LIKE works across all AR counties. Verified 2026-06-20: countyfips='05119' AND SMITH returns Little Rock addresses. 2026-10-03: the state changed countyfips from the 5-digit state+county FIPS to the 3-digit county code, so the old scope countyfips='05119' matched 0 rows and every attribute search here returned nothing without an error; countyfips='119' counts 180,229 rows, and the scope and sampleQuery now use it (SMITH returns SMITH HALLIE M, 4 OAKRIDGE DR). The statewide layer is compiled from county assessor data and may lag 6\u201312 months from deed recording."
|
|
884
889
|
},
|
|
885
890
|
{
|
|
886
891
|
id: "ar-benton",
|
|
@@ -937,7 +942,7 @@ var arkansas_default = {
|
|
|
937
942
|
},
|
|
938
943
|
{
|
|
939
944
|
name: "countyfips",
|
|
940
|
-
label: "County FIPS (
|
|
945
|
+
label: "County FIPS (007 = Benton)",
|
|
941
946
|
searchable: false
|
|
942
947
|
},
|
|
943
948
|
{
|
|
@@ -956,13 +961,13 @@ var arkansas_default = {
|
|
|
956
961
|
searchable: false
|
|
957
962
|
}
|
|
958
963
|
],
|
|
959
|
-
sampleQuery: "https://gis.arkansas.gov/arcgis/rest/services/FEATURESERVICES/Planning_Cadastre/FeatureServer/6/query?where=countyfips%3D'
|
|
964
|
+
sampleQuery: "https://gis.arkansas.gov/arcgis/rest/services/FEATURESERVICES/Planning_Cadastre/FeatureServer/6/query?where=countyfips%3D'007'+AND+UPPER(ownername)+LIKE+UPPER('%25SMITH%25')&outFields=parcelid,ownername,adrlabel,countyfips&returnGeometry=false&f=json&resultRecordCount=10",
|
|
960
965
|
license: "public",
|
|
961
966
|
licenseUrl: "https://gis.arkansas.gov/",
|
|
962
967
|
status: "live",
|
|
963
|
-
lastVerified: "2026-
|
|
964
|
-
verifiedBy: "
|
|
965
|
-
scopeWhere: "countyfips = '
|
|
968
|
+
lastVerified: "2026-10-03",
|
|
969
|
+
verifiedBy: "manual",
|
|
970
|
+
scopeWhere: "countyfips = '007'"
|
|
966
971
|
}
|
|
967
972
|
],
|
|
968
973
|
contact: {
|
|
@@ -970,7 +975,7 @@ var arkansas_default = {
|
|
|
970
975
|
url: "https://gis.arkansas.gov/",
|
|
971
976
|
email: null
|
|
972
977
|
},
|
|
973
|
-
notes: "Benton County AR (Bentonville/Rogers/Fayetteville metro north; county seat Bentonville; FIPS 05007; home to Walmart HQ) is served by the Arkansas statewide parcel layer. Filter countyfips='
|
|
978
|
+
notes: "Benton County AR (Bentonville/Rogers/Fayetteville metro north; county seat Bentonville; FIPS 05007; home to Walmart HQ) is served by the Arkansas statewide parcel layer. Filter countyfips='007' to scope to Benton County. Same schema and endpoint as Pulaski County (AR statewide FeatureServer/6). Benton County is the fastest-growing county in Arkansas. Verified 2026-06-20: SMITH query returns Bentonville-area addresses. 2026-10-03: the state changed countyfips from the 5-digit state+county FIPS to the 3-digit county code, so the old scope countyfips='05007' matched 0 rows and every attribute search here returned nothing without an error; countyfips='007' counts 175,795 rows, and the scope and sampleQuery now use it (SMITH returns SMITH REVOCABLE TRUST, CRAIG MARTIN)."
|
|
974
979
|
},
|
|
975
980
|
{
|
|
976
981
|
id: "ar-washington",
|
|
@@ -1027,7 +1032,7 @@ var arkansas_default = {
|
|
|
1027
1032
|
},
|
|
1028
1033
|
{
|
|
1029
1034
|
name: "countyfips",
|
|
1030
|
-
label: "County FIPS (
|
|
1035
|
+
label: "County FIPS (143 = Washington)",
|
|
1031
1036
|
searchable: false
|
|
1032
1037
|
},
|
|
1033
1038
|
{
|
|
@@ -1046,13 +1051,13 @@ var arkansas_default = {
|
|
|
1046
1051
|
searchable: false
|
|
1047
1052
|
}
|
|
1048
1053
|
],
|
|
1049
|
-
sampleQuery: "https://gis.arkansas.gov/arcgis/rest/services/FEATURESERVICES/Planning_Cadastre/FeatureServer/6/query?where=countyfips%3D'
|
|
1054
|
+
sampleQuery: "https://gis.arkansas.gov/arcgis/rest/services/FEATURESERVICES/Planning_Cadastre/FeatureServer/6/query?where=countyfips%3D'143'+AND+UPPER(ownername)+LIKE+UPPER('%25SMITH%25')&outFields=parcelid,ownername,adrlabel,countyfips&returnGeometry=false&f=json&resultRecordCount=10",
|
|
1050
1055
|
license: "public",
|
|
1051
1056
|
licenseUrl: "https://gis.arkansas.gov/",
|
|
1052
1057
|
status: "live",
|
|
1053
|
-
lastVerified: "2026-
|
|
1054
|
-
verifiedBy: "
|
|
1055
|
-
scopeWhere: "countyfips = '
|
|
1058
|
+
lastVerified: "2026-10-03",
|
|
1059
|
+
verifiedBy: "manual",
|
|
1060
|
+
scopeWhere: "countyfips = '143'"
|
|
1056
1061
|
}
|
|
1057
1062
|
],
|
|
1058
1063
|
contact: {
|
|
@@ -1060,7 +1065,7 @@ var arkansas_default = {
|
|
|
1060
1065
|
url: "https://gis.arkansas.gov/",
|
|
1061
1066
|
email: null
|
|
1062
1067
|
},
|
|
1063
|
-
notes: "Washington County AR (Fayetteville metro; county seat Fayetteville; FIPS 05143; home to University of Arkansas) is served by the Arkansas statewide parcel layer. Filter countyfips='
|
|
1068
|
+
notes: "Washington County AR (Fayetteville metro; county seat Fayetteville; FIPS 05143; home to University of Arkansas) is served by the Arkansas statewide parcel layer. Filter countyfips='143' to scope to Washington County. Same schema and endpoint as Pulaski and Benton counties (AR statewide FeatureServer/6). Washington County AR must not be confused with Washington County in other states. Verified 2026-06-20: SMITH query returns Fayetteville-area addresses. 2026-10-03: the state changed countyfips from the 5-digit state+county FIPS to the 3-digit county code, so the old scope countyfips='05143' matched 0 rows and every attribute search here returned nothing without an error; countyfips='143' counts 114,791 rows, and the scope and sampleQuery now use it (SMITH returns SMITH, ANNE B, 601 N HIGHLAND AVE)."
|
|
1064
1069
|
}
|
|
1065
1070
|
]
|
|
1066
1071
|
};
|
|
@@ -14682,12 +14687,12 @@ var maryland_default = {
|
|
|
14682
14687
|
hasPublicRest: true,
|
|
14683
14688
|
endpoints: [
|
|
14684
14689
|
{
|
|
14685
|
-
url: "https://
|
|
14686
|
-
serviceType: "
|
|
14690
|
+
url: "https://services1.arcgis.com/qS7AYixGtf3sv8B6/arcgis/rest/services/Property_Flattened_Py/FeatureServer/0",
|
|
14691
|
+
serviceType: "FeatureServer",
|
|
14687
14692
|
layerIndex: 0,
|
|
14688
|
-
layerName: "
|
|
14693
|
+
layerName: "Property_Flattened_Py",
|
|
14689
14694
|
supportsQuery: true,
|
|
14690
|
-
corsEnabled:
|
|
14695
|
+
corsEnabled: true,
|
|
14691
14696
|
searchFields: [
|
|
14692
14697
|
{
|
|
14693
14698
|
name: "ACCOUNT",
|
|
@@ -14750,12 +14755,12 @@ var maryland_default = {
|
|
|
14750
14755
|
searchable: false
|
|
14751
14756
|
}
|
|
14752
14757
|
],
|
|
14753
|
-
sampleQuery: "https://
|
|
14758
|
+
sampleQuery: "https://services1.arcgis.com/qS7AYixGtf3sv8B6/arcgis/rest/services/Property_Flattened_Py/FeatureServer/0/query?where=UPPER(OWNER_NAME)+LIKE+UPPER('%25SMITH%25')&outFields=ACCOUNT,PROPERTY_ID,OWNER_NAME,HOUSE_NUMBER,STREET_NAME,STREET_TYPE,MAIL_STREET,MAIL_CITY,MAIL_ZIP5&returnGeometry=false&f=json&resultRecordCount=10",
|
|
14754
14759
|
license: "public",
|
|
14755
14760
|
licenseUrl: "https://www.princegeorgescountymd.gov/665/Geographic-Information-Systems-GIS",
|
|
14756
14761
|
status: "live",
|
|
14757
|
-
lastVerified: "2026-
|
|
14758
|
-
verifiedBy: "
|
|
14762
|
+
lastVerified: "2026-10-03",
|
|
14763
|
+
verifiedBy: "manual"
|
|
14759
14764
|
}
|
|
14760
14765
|
],
|
|
14761
14766
|
contact: {
|
|
@@ -14763,7 +14768,7 @@ var maryland_default = {
|
|
|
14763
14768
|
url: "https://www.princegeorgescountymd.gov/665/Geographic-Information-Systems-GIS",
|
|
14764
14769
|
email: null
|
|
14765
14770
|
},
|
|
14766
|
-
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."
|
|
14771
|
+
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. 2026-10-03: the registered endpoint moved from the county MapServer to the Planning Department's hosted ArcGIS Online copy of the same layer (Property_Flattened_Py FeatureServer on services1.arcgis.com, owner Planning_PGCO_MD, CORS open, maxRecordCount 2000, 353,381 parcels). The reason is a county-side defect, not a schema change: gis.princegeorgescountymd.gov is load-balanced and one backend node lacks the layers, so about every second request to any service on the host (Property_Flattened, Property_Centroids, Property, AddressPoints) answers HTTP 200 with a Layer not found error body, metadata and queries alike, whatever the where clause. The liveness cron does not retry an HTTP 200 error body, so the county flapped between live and degraded. The hosted copy has the same field names (every declared searchField present, plus MAIL_STATE) and returned the same first row as the county host on its good turns, with 18 of 18 probes answering. The old host is deliberately not kept as a second endpoint, because the cron grades a county by its worst endpoint. Caveat: the hosted copy is a periodic refresh by the Planning Department (stamped Updated 20260923), so its freshness is days, not minutes; switch back once the county host answers consistently."
|
|
14767
14772
|
},
|
|
14768
14773
|
{
|
|
14769
14774
|
id: "md-baltimore",
|
|
@@ -15444,7 +15449,7 @@ var minnesota_default = {
|
|
|
15444
15449
|
stateSlug: "minnesota",
|
|
15445
15450
|
stateName: "Minnesota",
|
|
15446
15451
|
stateAbbrev: "MN",
|
|
15447
|
-
lastUpdated: "2026-
|
|
15452
|
+
lastUpdated: "2026-10-03",
|
|
15448
15453
|
counties: [
|
|
15449
15454
|
{
|
|
15450
15455
|
id: "mn-ramsey",
|
|
@@ -15608,6 +15613,50 @@ var minnesota_default = {
|
|
|
15608
15613
|
email: null
|
|
15609
15614
|
},
|
|
15610
15615
|
notes: "448,036 polygon parcels covering Minneapolis and the rest of Hennepin County. Verified 2026-05-11: UPPER(OWNER_NM) LIKE '%SMITH%' returns real owners (e.g., 'ALEX D SMITH', 'PAUL LOUIS SMITH'). Owner names are space-padded fixed-width, wrap searches in UPPER() and trim whitespace client-side. Full residential address columns present (HOUSE_NO, FRAC_HOUSE_NO, STREET_NM, MAILING_MUNIC_NM, ZIP_CD). PID is 13-digit composite (parcel-fragment-municipality-section). TORRENS_TYP flag distinguishes Torrens vs. Abstract land per Minnesota's dual-title system. OUTAGE RESOLVED 2026-06-06: the 2026-05 county-side outage cleared -- service re-verified live (448,083 parcels; OWNER_NM queries return real owners)."
|
|
15616
|
+
},
|
|
15617
|
+
{
|
|
15618
|
+
id: "mn-mille-lacs",
|
|
15619
|
+
state: "MN",
|
|
15620
|
+
stateName: "Minnesota",
|
|
15621
|
+
stateSlug: "minnesota",
|
|
15622
|
+
county: "Mille Lacs",
|
|
15623
|
+
countySlug: "mille-lacs-county",
|
|
15624
|
+
countyFips: "27095",
|
|
15625
|
+
hasPublicRest: true,
|
|
15626
|
+
endpoints: [
|
|
15627
|
+
{
|
|
15628
|
+
url: "https://gis.co.mille-lacs.mn.us/arcgis/rest/services/MilleLacs_Public_101/MapServer/35",
|
|
15629
|
+
serviceType: "MapServer",
|
|
15630
|
+
layerIndex: 35,
|
|
15631
|
+
layerName: "Parcels",
|
|
15632
|
+
supportsQuery: true,
|
|
15633
|
+
corsEnabled: true,
|
|
15634
|
+
searchFields: [
|
|
15635
|
+
{ name: "TAXPAYER_NAME", label: "Taxpayer Name", searchable: true },
|
|
15636
|
+
{ name: "PARCELID", label: "Parcel Number", searchable: true },
|
|
15637
|
+
{ name: "PROPERTY_ADDRESS", label: "Property Address", searchable: true },
|
|
15638
|
+
{ name: "PROPERTY_ZIP", label: "Property ZIP", searchable: false },
|
|
15639
|
+
{ name: "CITY_TWP_NAME", label: "City/Township Name", searchable: true },
|
|
15640
|
+
{ name: "TAXPAYER_ADDRESS_1", label: "Taxpayer Mailing Address 1", searchable: true },
|
|
15641
|
+
{ name: "TAXPAYER_ADDRESS_2", label: "Taxpayer Mailing Address 2", searchable: false },
|
|
15642
|
+
{ name: "TAXPAYER_ADDRESS_3", label: "Taxpayer Mailing Address 3", searchable: false },
|
|
15643
|
+
{ name: "TAXPAYER_ADDRESS_4", label: "Taxpayer Mailing Address 4", searchable: false },
|
|
15644
|
+
{ name: "DEEDED_ACRES", label: "Deeded Acres", searchable: false }
|
|
15645
|
+
],
|
|
15646
|
+
sampleQuery: "https://gis.co.mille-lacs.mn.us/arcgis/rest/services/MilleLacs_Public_101/MapServer/35/query?where=UPPER(TAXPAYER_NAME)%20LIKE%20%27%25SMITH%25%27&outFields=PARCELID,TAXPAYER_NAME,PROPERTY_ADDRESS,TAXPAYER_ADDRESS_1,CITY_TWP_NAME&returnGeometry=false&resultRecordCount=10&f=json",
|
|
15647
|
+
license: "unknown",
|
|
15648
|
+
licenseUrl: "https://www.millelacs.mn.gov/",
|
|
15649
|
+
status: "live",
|
|
15650
|
+
lastVerified: "2026-10-03",
|
|
15651
|
+
verifiedBy: "manual"
|
|
15652
|
+
}
|
|
15653
|
+
],
|
|
15654
|
+
contact: {
|
|
15655
|
+
department: "Mille Lacs County GIS / Assessor's Office",
|
|
15656
|
+
url: "https://www.millelacs.mn.gov/1185/Assessors-Office",
|
|
15657
|
+
email: null
|
|
15658
|
+
},
|
|
15659
|
+
notes: "Mille Lacs County, Minnesota (county seat Milaca) publishes its parcels on its own ArcGIS Server 11.3 as MilleLacs_Public_101/MapServer layer 35 (Parcels), 20,083 rows with a taxpayer name on 2026-10-03. THE OWNER IS IN TAXPAYER_NAME, stored LAST/FIRST with a slash (SMITH/BRIAN & ASHLEY). A column called OWNER_NAME exists but is an empty string on about 97 percent of rows (544 of 20,083 populated on 2026-10-03; not NULL, so IS NOT NULL passes while the value is blank), and where it is populated it names a different party from TAXPAYER_NAME (a contract-for-deed holder or an LLC, for example), so the taxpayer is not always the owner of record. UPPER(OWNER_NAME) LIKE 'SMITH%' returns 0 features. OWNER_NAME is deliberately NOT listed as a search field here: the enrichment classifier takes the first owner-looking field, so listing it would route owner lookups to a mostly blank column. The mailing address is TAXPAYER_ADDRESS_1 to _4 (use _1 for the street); the matching OWNER_ADDRESS_1 to _4 columns were not checked. The site address is PROPERTY_ADDRESS with PROPERTY_ZIP and CITY_TWP_NAME. Search with UPPER(TAXPAYER_NAME) LIKE '%SMITH%'. maxRecordCount is 2000. CORS reflects the request Origin (Access-Control-Allow-Origin echoed back, credentials true), and named outFields work. No license text was found. Do not use the statewide Minnesota parcel layers for owner search: the DNR plan_parcels_minnesota layer has owner_name but no county, parcel id or address field, so a query bleeds into neighbouring counties, and the MnGeo plan_parcels_open layer filters by co_code 27095 (20,928 rows) but its owner_name is blank for all but 550 rows (control: Itasca 27061, 0 populated). The same county server also lists Assessors/TaxParcels/MapServer/0, which has only a parcel name and geometry. Verified live 2026-10-03: taxpayer SMITH returned rows (first SMITH/BRIAN & ASHLEY, parcel 11-010-0100, 17903 130TH AVE, Milaca Township)."
|
|
15611
15660
|
}
|
|
15612
15661
|
]
|
|
15613
15662
|
};
|
|
@@ -15713,7 +15762,7 @@ var missouri_default = {
|
|
|
15713
15762
|
stateSlug: "missouri",
|
|
15714
15763
|
stateName: "Missouri",
|
|
15715
15764
|
stateAbbrev: "MO",
|
|
15716
|
-
lastUpdated: "2026-
|
|
15765
|
+
lastUpdated: "2026-10-03",
|
|
15717
15766
|
counties: [
|
|
15718
15767
|
{
|
|
15719
15768
|
id: "mo-jackson",
|
|
@@ -15805,6 +15854,49 @@ var missouri_default = {
|
|
|
15805
15854
|
email: null
|
|
15806
15855
|
},
|
|
15807
15856
|
notes: "St. Louis County MO (St. Louis metro west/south, county seat Clayton, NOT the independent City of St. Louis) provides AGS_Parcels/MapServer/0 with 30+ fields: LOCATOR (parcel ID), PARENT_LOC, TAXYR, OWNER_NAME, PROP_ADRNUM, PROP_ADD, PROP_ZIP, OWN_ADD, OWN_CITY, OWN_STATE, OWN_ZIP, SCHSUB (school subdivision), MUNYCODE (municipality code), TAXCODE, ASSTIMPVAL, TOTASSMT, APPLANDVAL, APPIMPVAL, TOTAPVAL, PROPCLASS, LUC, LANDUSE2, LUCODE, TENURE, BLDGNAME, TWPNAME. Query confirmed live: UPPER(OWNER_NAME) LIKE '%SMITH%' returns real results (e.g., 'SMITH KIMBERLY & ANTHONY T/E' at '11041 LILAC AVE'). St. Louis County MO (FIPS 29189) is a separate entity from the City of St. Louis (FIPS 29510, an independent city not part of any county). The GeoData portal at data-stlcogis.opendata.arcgis.com provides open data downloads and GeoServices API links. The maps.stlouisco.com server is the live REST host."
|
|
15857
|
+
},
|
|
15858
|
+
{
|
|
15859
|
+
id: "mo-st-louis-city",
|
|
15860
|
+
state: "MO",
|
|
15861
|
+
stateName: "Missouri",
|
|
15862
|
+
stateSlug: "missouri",
|
|
15863
|
+
county: "St. Louis city",
|
|
15864
|
+
countySlug: "st-louis-city",
|
|
15865
|
+
countyFips: "29510",
|
|
15866
|
+
hasPublicRest: true,
|
|
15867
|
+
endpoints: [
|
|
15868
|
+
{
|
|
15869
|
+
url: "https://maps8.stlouis-mo.gov/arcgis/rest/services/ASSESSOR/Assessor_Public_Parcels/MapServer/11",
|
|
15870
|
+
serviceType: "MapServer",
|
|
15871
|
+
layerIndex: 11,
|
|
15872
|
+
layerName: "Parcels",
|
|
15873
|
+
supportsQuery: true,
|
|
15874
|
+
corsEnabled: false,
|
|
15875
|
+
searchFields: [
|
|
15876
|
+
{ name: "OwnerName", label: "Owner Name", searchable: true },
|
|
15877
|
+
{ name: "OwnerName2", label: "Owner Name 2", searchable: false },
|
|
15878
|
+
{ name: "ParcelId", label: "Parcel ID", searchable: true },
|
|
15879
|
+
{ name: "SITEADDR", label: "Site Address", searchable: true },
|
|
15880
|
+
{ name: "OwnerAddr", label: "Owner Mailing Address", searchable: true },
|
|
15881
|
+
{ name: "OwnerCity", label: "Owner Mailing City", searchable: false },
|
|
15882
|
+
{ name: "OwnerState", label: "Owner Mailing State", searchable: false },
|
|
15883
|
+
{ name: "OwnerZIP", label: "Owner Mailing ZIP", searchable: false },
|
|
15884
|
+
{ name: "ZIP", label: "Site ZIP", searchable: false }
|
|
15885
|
+
],
|
|
15886
|
+
sampleQuery: "https://maps8.stlouis-mo.gov/arcgis/rest/services/ASSESSOR/Assessor_Public_Parcels/MapServer/11/query?where=UPPER(OwnerName)%20LIKE%20%27SMITH%25%27&outFields=ParcelId,OwnerName,OwnerAddr,OwnerCity,SITEADDR&returnGeometry=false&resultRecordCount=10&f=json",
|
|
15887
|
+
license: "unknown",
|
|
15888
|
+
licenseUrl: "https://www.stlouis-mo.gov/data/parcels.cfm",
|
|
15889
|
+
status: "live",
|
|
15890
|
+
lastVerified: "2026-10-03",
|
|
15891
|
+
verifiedBy: "manual"
|
|
15892
|
+
}
|
|
15893
|
+
],
|
|
15894
|
+
contact: {
|
|
15895
|
+
department: "City of St. Louis Assessor's Office",
|
|
15896
|
+
url: "https://www.stlouis-mo.gov/data/parcels.cfm",
|
|
15897
|
+
email: null
|
|
15898
|
+
},
|
|
15899
|
+
notes: "City of St. Louis, Missouri (FIPS 29510) is an independent city that belongs to no county, and it is NOT St. Louis County (29189, a separate record in this file on a different server). The Assessor's public parcels layer is ASSESSOR/Assessor_Public_Parcels/MapServer layer 11 (Parcels) on ArcGIS Server 11.2, listed on the city's data page. SERVER-SIDE ONLY: the server sends Access-Control-Allow-Origin only to its own origin (www.stlouis-mo.gov); for any other Origin a GET and its preflight return only Vary: Origin and Access-Control-Allow-Private-Network: true, so a browser on another site cannot read it and corsEnabled is false. Query it from a server, the metered API or the MCP, not from page script. The owner is OwnerName (max 40 characters, so long names are truncated at the source) with OwnerName2; the mailing address is OwnerAddr plus OwnerCity (max 13 characters, can read ST LOUIS MO) with OwnerState, OwnerZIP and OwnerCountry; the parcel id is ParcelId (11 digits, LowerParcelId also exists). SITEADDR carries runs of internal spaces (2233 PARK AV) and trailing padding, so a LIKE on a full street string misses; search on the house number plus a street word, or collapse whitespace on the client. Search with UPPER(OwnerName) LIKE 'SMITH%'; broad searches return exceededTransferLimit true at the 2000-row page. The layer has 194 fields and this record lists a subset. Layer 11 includes condominium master parcels, and the sub-accounts are layer 10 (not examined). No license or terms text is published on the data page. Verified live 2026-10-03: owner SMITH returned rows (first SMITH, DAVID E & SANDRA L TRS, parcel 22669130000, 2233 PARK AVE)."
|
|
15808
15900
|
}
|
|
15809
15901
|
]
|
|
15810
15902
|
};
|
|
@@ -16423,8 +16515,8 @@ var nevada_default = {
|
|
|
16423
16515
|
corsEnabled: null,
|
|
16424
16516
|
searchFields: [
|
|
16425
16517
|
{ name: "APN", label: "Assessor Parcel Number", searchable: true },
|
|
16426
|
-
{ name: "FIRSTNAME", label: "Owner First Name", searchable: true },
|
|
16427
16518
|
{ name: "LASTNAME", label: "Owner Last Name", searchable: true },
|
|
16519
|
+
{ name: "FIRSTNAME", label: "Owner First Name", searchable: true },
|
|
16428
16520
|
{ name: "STREET", label: "Situs Street Name", searchable: true },
|
|
16429
16521
|
{ name: "STREETNUM", label: "Situs Street Number", searchable: false },
|
|
16430
16522
|
{ name: "CITY", label: "Situs City", searchable: true },
|
|
@@ -16453,7 +16545,7 @@ var nevada_default = {
|
|
|
16453
16545
|
url: "https://explore-washoe.opendata.arcgis.com/",
|
|
16454
16546
|
email: null
|
|
16455
16547
|
},
|
|
16456
|
-
notes: "71 fields confirmed including OBJECTID, APN, REGION, PIN, RECMAP, BOOK, PAGE, BLOCK, PARCEL, SUBNAME, TOWNSHIP, RANGE, SECTION_, FLOOR, MAPLINK, FLR, Shape, Shape.STArea(), STREETNUM, STREETDIR, STREET, CITY, SITUSZIP, FIRSTNAME, LASTNAME, MAILING1, MAILING2, MAILCITY, MAILSTATE, MAILZIP, LAND_USE, Zoning, WATER, SEWER, ACREAGE, TAXDIST, BEDROOMS, BATHS, YEARBLT, LANDASS, BUILDASS, TOTALASS, LANDAPR, BUILDAPR, TOTALAPR, DEPRECIATION, SALEDATE, SALEPRICE, OCCUPANCY, PROPCODE, TAXYEAR, STORIES, TOWNHOUSE, SQFEET, UNITS, AVCONSYEAR, BUILDINGTYPE, NBHD, SPECPROPCODE, QC, LAND_BASE, NBC, Fireplaces, HeatType, SecHeatType, Agency, AG_ABBR, FullAddress, ZoningWithDetail, Zoning_GIS, STRAP. Owner name available as FIRSTNAME + LASTNAME (split fields). Live query confirmed: APN 134087 returns 'MIEKO E SPAHR' in RENO 89503. maxRecordCount=1000. Covers Reno, Sparks, and unincorporated Washoe County (pop. 480,000). Note: owner name is public per Nevada law (unlike Clark County which also has a public layer but no owner). Current version 11.4."
|
|
16548
|
+
notes: "71 fields confirmed including OBJECTID, APN, REGION, PIN, RECMAP, BOOK, PAGE, BLOCK, PARCEL, SUBNAME, TOWNSHIP, RANGE, SECTION_, FLOOR, MAPLINK, FLR, Shape, Shape.STArea(), STREETNUM, STREETDIR, STREET, CITY, SITUSZIP, FIRSTNAME, LASTNAME, MAILING1, MAILING2, MAILCITY, MAILSTATE, MAILZIP, LAND_USE, Zoning, WATER, SEWER, ACREAGE, TAXDIST, BEDROOMS, BATHS, YEARBLT, LANDASS, BUILDASS, TOTALASS, LANDAPR, BUILDAPR, TOTALAPR, DEPRECIATION, SALEDATE, SALEPRICE, OCCUPANCY, PROPCODE, TAXYEAR, STORIES, TOWNHOUSE, SQFEET, UNITS, AVCONSYEAR, BUILDINGTYPE, NBHD, SPECPROPCODE, QC, LAND_BASE, NBC, Fireplaces, HeatType, SecHeatType, Agency, AG_ABBR, FullAddress, ZoningWithDetail, Zoning_GIS, STRAP. Owner name available as FIRSTNAME + LASTNAME (split fields). 2026-10-03: LASTNAME is now declared before FIRSTNAME, because the site's owner-field classifier and the stdio MCP server both search the FIRST owner-matching field, so a surname search was running against first names (FIRSTNAME holds values like EDWARD M III; LASTNAME holds SMITH). The sampleQuery already searched LASTNAME and still returns rows. Live query confirmed: APN 134087 returns 'MIEKO E SPAHR' in RENO 89503. maxRecordCount=1000. Covers Reno, Sparks, and unincorporated Washoe County (pop. 480,000). Note: owner name is public per Nevada law (unlike Clark County which also has a public layer but no owner). Current version 11.4."
|
|
16457
16549
|
}
|
|
16458
16550
|
]
|
|
16459
16551
|
};
|
|
@@ -16643,25 +16735,25 @@ var new_jersey_default = {
|
|
|
16643
16735
|
hasPublicRest: true,
|
|
16644
16736
|
endpoints: [
|
|
16645
16737
|
{
|
|
16646
|
-
url: "https://
|
|
16738
|
+
url: "https://services1.arcgis.com/PsDtSYIjNsyfjwcX/arcgis/rest/services/Monmouth_County_Parcels/FeatureServer/0",
|
|
16647
16739
|
serviceType: "FeatureServer",
|
|
16648
|
-
layerIndex:
|
|
16649
|
-
layerName: "
|
|
16740
|
+
layerIndex: 0,
|
|
16741
|
+
layerName: "Parcels",
|
|
16650
16742
|
supportsQuery: true,
|
|
16651
|
-
corsEnabled:
|
|
16743
|
+
corsEnabled: true,
|
|
16652
16744
|
searchFields: [
|
|
16653
16745
|
{
|
|
16654
|
-
name: "
|
|
16746
|
+
name: "PAMSPIN",
|
|
16655
16747
|
label: "Property Account Management System PIN",
|
|
16656
16748
|
searchable: true
|
|
16657
16749
|
},
|
|
16658
16750
|
{
|
|
16659
|
-
name: "
|
|
16751
|
+
name: "Owner_Name",
|
|
16660
16752
|
label: "Owner Name",
|
|
16661
16753
|
searchable: true
|
|
16662
16754
|
},
|
|
16663
16755
|
{
|
|
16664
|
-
name: "
|
|
16756
|
+
name: "Location",
|
|
16665
16757
|
label: "Property Location / Address",
|
|
16666
16758
|
searchable: true
|
|
16667
16759
|
},
|
|
@@ -16691,61 +16783,61 @@ var new_jersey_default = {
|
|
|
16691
16783
|
searchable: true
|
|
16692
16784
|
},
|
|
16693
16785
|
{
|
|
16694
|
-
name: "
|
|
16786
|
+
name: "Class",
|
|
16695
16787
|
label: "Property Class Code",
|
|
16696
16788
|
searchable: false
|
|
16697
16789
|
},
|
|
16698
16790
|
{
|
|
16699
|
-
name: "
|
|
16700
|
-
label: "
|
|
16791
|
+
name: "Net_Value",
|
|
16792
|
+
label: "Net Taxable Value",
|
|
16701
16793
|
searchable: false
|
|
16702
16794
|
},
|
|
16703
16795
|
{
|
|
16704
|
-
name: "
|
|
16705
|
-
label: "Total Assessment",
|
|
16706
|
-
searchable: false
|
|
16707
|
-
},
|
|
16708
|
-
{
|
|
16709
|
-
name: "LandAssmnt",
|
|
16796
|
+
name: "Land_Value",
|
|
16710
16797
|
label: "Land Assessment",
|
|
16711
16798
|
searchable: false
|
|
16712
16799
|
},
|
|
16713
16800
|
{
|
|
16714
|
-
name: "
|
|
16715
|
-
label: "
|
|
16801
|
+
name: "Impr_Value",
|
|
16802
|
+
label: "Improvement Assessment",
|
|
16716
16803
|
searchable: false
|
|
16717
16804
|
},
|
|
16718
16805
|
{
|
|
16719
|
-
name: "
|
|
16806
|
+
name: "Sale_Date",
|
|
16720
16807
|
label: "Last Sale Date",
|
|
16721
16808
|
searchable: false
|
|
16722
16809
|
},
|
|
16723
16810
|
{
|
|
16724
|
-
name: "
|
|
16811
|
+
name: "Sale_Price",
|
|
16725
16812
|
label: "Last Sale Price",
|
|
16726
16813
|
searchable: false
|
|
16727
16814
|
},
|
|
16728
16815
|
{
|
|
16729
|
-
name: "
|
|
16816
|
+
name: "Year_Built",
|
|
16730
16817
|
label: "Year Built",
|
|
16731
16818
|
searchable: false
|
|
16732
16819
|
},
|
|
16733
16820
|
{
|
|
16734
|
-
name: "
|
|
16821
|
+
name: "Zone",
|
|
16735
16822
|
label: "Zoning Code",
|
|
16736
16823
|
searchable: false
|
|
16737
16824
|
},
|
|
16738
16825
|
{
|
|
16739
|
-
name: "
|
|
16826
|
+
name: "Owner_Street",
|
|
16827
|
+
label: "Owner Mailing Street",
|
|
16828
|
+
searchable: true
|
|
16829
|
+
},
|
|
16830
|
+
{
|
|
16831
|
+
name: "Owner_Csz",
|
|
16740
16832
|
label: "Owner Mailing City/State/ZIP",
|
|
16741
16833
|
searchable: false
|
|
16742
16834
|
}
|
|
16743
16835
|
],
|
|
16744
|
-
sampleQuery: "https://
|
|
16836
|
+
sampleQuery: "https://services1.arcgis.com/PsDtSYIjNsyfjwcX/arcgis/rest/services/Monmouth_County_Parcels/FeatureServer/0/query?where=UPPER(Owner_Name)+LIKE+UPPER('%25SMITH%25')&outFields=PAMSPIN,Owner_Name,Location,MUN_NAME,Net_Value,Sale_Price&returnGeometry=false&f=json&resultRecordCount=10",
|
|
16745
16837
|
license: "public",
|
|
16746
16838
|
licenseUrl: "https://gis-monmouthnj.opendata.arcgis.com/",
|
|
16747
16839
|
status: "live",
|
|
16748
|
-
lastVerified: "2026-
|
|
16840
|
+
lastVerified: "2026-10-03",
|
|
16749
16841
|
verifiedBy: "manual"
|
|
16750
16842
|
}
|
|
16751
16843
|
],
|
|
@@ -16754,7 +16846,7 @@ var new_jersey_default = {
|
|
|
16754
16846
|
url: "https://gis-monmouthnj.opendata.arcgis.com/",
|
|
16755
16847
|
email: null
|
|
16756
16848
|
},
|
|
16757
|
-
notes: "Monmouth County (pop. 643,000; Jersey Shore and inland suburbs) uses a county-direct FeatureServer separate from the NJOGIS statewide layer.
|
|
16849
|
+
notes: "Monmouth County (pop. 643,000; Jersey Shore and inland suburbs) uses a county-direct FeatureServer separate from the NJOGIS statewide layer, whose OWNER_NAME is blank for every Monmouth row. As of 2026-10-03 the county publishes from a new ArcGIS Online org (MonmouthNJGIS): Monmouth_County_Parcels, layer 0 (Parcels) at services1.arcgis.com, item modified 2026-09-25, CORS open, about 265,000 rows. The older services9.arcgis.com GEO_MC_Parcels service now answers Invalid URL and is gone from that org's service list, and the services6.arcgis.com monmouth_county_nj_parcels copy the item search still lists is unshared (Token Required); neither should be re-registered. The layer is Monmouth County GIS's own MOD-IV data pull. PAMSPIN is the statewide identifier, structured as county code + municipality code + block + lot + qualifier code (QCODE). Owner_Name is public and queryable. Assessment fields include Net_Value, Land_Value, Impr_Value, Sale_Date, Sale_Price, and Year_Built; every one of them is a STRING on this layer (Sale_Date reads like 12/09/99), so numeric compares and sorts will not behave. Owner mailing address is split into Owner_Street and Owner_Csz, a single padded city/state/ZIP string; the separate City/State/Zip columns appear to hold a situs postal city and are not declared as mailing fields. The old Acreage field has no reliable twin (Lot_Size read 0.0000 on a sampled row) and was dropped. The layer carries Duplicate and Error flag columns and has more rows than the state composite (265,259 vs 249,796), so duplicate parcels exist and pickers should expect tied rows. The MUN and MUN_NAME fields identify the 53-municipality breakdown within the county (e.g., Freehold Borough, Long Branch, Red Bank, Asbury Park). Note: NJ Daniel's Law (P.L. 2021, c.371) allows protected individuals -- judges, law enforcement, domestic-violence victims -- to suppress their address from public records; the county layer may return null or redacted values for mailing addresses on affected parcels. For unredacted deed and transfer records, the Monmouth County Clerk's office portal at mcgifts.co.monmouth.nj.us is the authoritative source."
|
|
16758
16850
|
},
|
|
16759
16851
|
{
|
|
16760
16852
|
id: "nj-ocean",
|
|
@@ -20099,7 +20191,7 @@ var south_carolina_default = {
|
|
|
20099
20191
|
url: "https://www.gcgis.org/",
|
|
20100
20192
|
email: "gis@greenvillecounty.org"
|
|
20101
20193
|
},
|
|
20102
|
-
notes: `MARKED UNREACHABLE 2026-08-29 after 25 days down (297 consecutive liveness failures since 2026-08-04). The registered service answers verbatim "Service GreenvilleJS/Map_Layers_JS/MapServer not started"; the county's own iMAP service (imap/iMAP/MapServer) is also not started; the GreenvilleJS and imap folders list no services; the one visible service (GCGIA/Greenville_Base, 61 layers) has no parcel layer; ArcGIS Hub lists no county-owned parcel feature service. The county has taken its map services down and nothing replaces them yet. Liveness keeps probing; flip back to live when it recovers. Owner search remains available at the county's non-GIS Real Property Search. Prior notes: Greenville County (pop. 530,000; seat: Greenville) Tax Parcel layer is within the Map_Layers_JS composite MapServer at layer index 52. 20 fields confirmed: PIN, OWNAM1/2, STREET, CITY, STATE, ZIP5, NAMECO, POWNNM, DEEDDATE, CUBOOK, CUPAGE, PLTBK1, PPAGE1, DIST, MKTAREA, JURIS, LANDUSE, DESCR, SUBDIV. Verified 2026-05-15: SMITH returns Greenville SC addresses (e.g., '124 MCDANIEL GREENE', '218 BUTLER AVE'). The same MapServer contains 95+ other layers (zoning, census, drainage, etc.). Layer 52 is specifically Tax Parcel. The GCGIS GreenvilleJS MapServer is the public-facing viewer service.`
|
|
20194
|
+
notes: `RECHECKED 2026-10-03, STILL UNREACHABLE, now for a structural reason. The GreenvilleJS folder has been deleted, not just stopped: the registered layer now answers Service GreenvilleJS/Map_Layers_JS/MapServer not found (it said not started on 08-29) and the folder itself returns Folder not found. The services root (www.gcgis.org/arcgis/rest/services) lists only a GVL_COMPOSITE_LOC geocoder and a Utilities folder of geoprocessing, geometry and print tools; GCGIA/Greenville_Base is gone too. The county rebuilt its viewer (www.gcgis.org/apps/greenvillenj/) on a private, undocumented ASP.NET web API (apps/GreenvilleNJ_webapi/asp/webAPI) that accepts POST only and is not an ArcGIS REST service the atlas can register. Candidates checked and rejected: the Greenville-Pickens transportation study's TaxParcel02172021_gdb FeatureServer (countywide with the county schema and owner search, but a February 2021 snapshot, too stale for mailed notices); the GreenvilleCountyBaseData FeatureServer by mwassonfigis (current schema but only about 33,000 of about 228,000 parcels, a partial extract); the City of Greenville Parcels with Ownership layer on citygis.greenvillesc.gov (city jurisdiction only); and a utility.arcgis.com proxy of the county's GCGIA feature service (Item does not exist or is inaccessible). No South Carolina statewide owner-bearing parcel layer was found. Status stays unreachable; recheck the services root periodically for a new parcel service and re-register from it. Earlier history: MARKED UNREACHABLE 2026-08-29 after 25 days down (297 consecutive liveness failures since 2026-08-04). The registered service answers verbatim "Service GreenvilleJS/Map_Layers_JS/MapServer not started"; the county's own iMAP service (imap/iMAP/MapServer) is also not started; the GreenvilleJS and imap folders list no services; the one visible service (GCGIA/Greenville_Base, 61 layers) has no parcel layer; ArcGIS Hub lists no county-owned parcel feature service. The county has taken its map services down and nothing replaces them yet. Liveness keeps probing; flip back to live when it recovers. Owner search remains available at the county's non-GIS Real Property Search. Prior notes: Greenville County (pop. 530,000; seat: Greenville) Tax Parcel layer is within the Map_Layers_JS composite MapServer at layer index 52. 20 fields confirmed: PIN, OWNAM1/2, STREET, CITY, STATE, ZIP5, NAMECO, POWNNM, DEEDDATE, CUBOOK, CUPAGE, PLTBK1, PPAGE1, DIST, MKTAREA, JURIS, LANDUSE, DESCR, SUBDIV. Verified 2026-05-15: SMITH returns Greenville SC addresses (e.g., '124 MCDANIEL GREENE', '218 BUTLER AVE'). The same MapServer contains 95+ other layers (zoning, census, drainage, etc.). Layer 52 is specifically Tax Parcel. The GCGIS GreenvilleJS MapServer is the public-facing viewer service.`
|
|
20103
20195
|
},
|
|
20104
20196
|
{
|
|
20105
20197
|
id: "sc-charleston",
|
package/dist/index.d.cts
CHANGED
|
@@ -37,6 +37,54 @@ interface EndpointRecord {
|
|
|
37
37
|
supportsQuery: boolean;
|
|
38
38
|
corsEnabled: boolean | null;
|
|
39
39
|
searchFields: SearchField[];
|
|
40
|
+
/** ANDed into every ATTRIBUTE search against this endpoint. Only needed when
|
|
41
|
+
* one endpoint serves several counties - NYC's MAPPLUTO layer carries all
|
|
42
|
+
* five boroughs, so without this a Brooklyn owner search returns Queens
|
|
43
|
+
* parcels. Spatial lookups do not need it: the buffer already sits on the
|
|
44
|
+
* address, which is why the paid enrichment path is unaffected. */
|
|
45
|
+
scopeWhere?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Declares that this layer CANNOT serve an ATTRIBUTE search - a `where`-clause
|
|
48
|
+
* query on a column, which is what "search by owner name / APN / address text"
|
|
49
|
+
* means everywhere on the site. Absent (the default, and true of every
|
|
50
|
+
* registration except the 67 Florida counties on the shared FDOR layer, one
|
|
51
|
+
* layer and one live case, see below) means an attribute search IS offered.
|
|
52
|
+
*
|
|
53
|
+
* THIS IS THE ONE FLAG. Do not add a second field, and do not express this
|
|
54
|
+
* with `searchable: false` on every column: `searchable` is a FIELD-level
|
|
55
|
+
* record of whether a `where` clause may name that column (the generator sets
|
|
56
|
+
* it from the column's type), it is set inconsistently by hand, and six
|
|
57
|
+
* different owner-capability rules already read it. This says something
|
|
58
|
+
* different and says it once, at the level where it is true - the endpoint.
|
|
59
|
+
*
|
|
60
|
+
* Honoured by `offersAttributeSearch` / `countyOffersAttributeSearch` in
|
|
61
|
+
* capability-core.ts, which every surface that DESCRIBES a search must go
|
|
62
|
+
* through. Field-availability functions deliberately do NOT read it: a layer
|
|
63
|
+
* flagged here still answers owner and address fields SPATIALLY, which is
|
|
64
|
+
* what the billed lookup, bulk enrichment and radius paths use, so flipping
|
|
65
|
+
* owner_name to not_published would be a false claim about data we do serve
|
|
66
|
+
* and do bill for. Search and availability are different questions.
|
|
67
|
+
*
|
|
68
|
+
* THE ONE LIVE CASE, and what would retire it. Florida's FDOR statewide
|
|
69
|
+
* cadastral layer carries all 67 counties and 10.8M parcels, and CO_NO - the
|
|
70
|
+
* county code, the only column identifying a county, and therefore every
|
|
71
|
+
* Florida registration's scopeWhere - is NOT INDEXED. Its declared indexes
|
|
72
|
+
* are OBJECTID, Shape, Shape__Area, Shape__Length and PARCEL_ID. A
|
|
73
|
+
* county-scoped attribute search therefore scans the roll from the top:
|
|
74
|
+
* measured across all 67 counties on 2026-09-20, only 4 answered inside 12s
|
|
75
|
+
* and the rest hit the service's ~55s ceiling. The conjunct poisons an
|
|
76
|
+
* indexed predicate too - PARCEL_ID LIKE '00%' alone answers in 0.9s, and
|
|
77
|
+
* `CO_NO=77 AND PARCEL_ID LIKE '00%'` times out - so there is no cheaper
|
|
78
|
+
* column to scope on. Dropping the scope is not an option either: an unscoped
|
|
79
|
+
* attribute search on a shared layer answers with every other county's
|
|
80
|
+
* parcels, which is exactly what shared-endpoint-scope.test.ts forbids.
|
|
81
|
+
* Scoped is unaffordable and unscoped is wrong, so attribute search is not
|
|
82
|
+
* offered at all.
|
|
83
|
+
*
|
|
84
|
+
* IF FDOR EVER INDEXES CO_NO, delete the flag from those 67 endpoint records
|
|
85
|
+
* and every surface re-offers the search on its own. Nothing else changes.
|
|
86
|
+
*/
|
|
87
|
+
attributeSearch?: "unsupported";
|
|
40
88
|
sampleQuery: string | null;
|
|
41
89
|
license: LicenseType;
|
|
42
90
|
licenseUrl: string | null;
|