@urbankitstudio/atlas 0.3.0 → 0.5.0

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.
Files changed (55) hide show
  1. package/README.md +22 -3
  2. package/data/alabama.json +52 -6
  3. package/data/alaska.json +1 -1
  4. package/data/arizona.json +3 -3
  5. package/data/arkansas.json +143 -0
  6. package/data/california.json +65 -59
  7. package/data/colorado.json +6 -6
  8. package/data/connecticut.json +105 -3
  9. package/data/delaware.json +46 -0
  10. package/data/florida.json +188 -32
  11. package/data/georgia.json +44 -4
  12. package/data/hawaii.json +82 -0
  13. package/data/illinois.json +13 -12
  14. package/data/index.json +53 -53
  15. package/data/indiana.json +3 -3
  16. package/data/kansas.json +2 -2
  17. package/data/kentucky.json +1 -1
  18. package/data/louisiana.json +7 -7
  19. package/data/maine.json +2 -2
  20. package/data/maryland.json +94 -0
  21. package/data/massachusetts.json +2 -2
  22. package/data/michigan.json +5 -5
  23. package/data/minnesota.json +5 -5
  24. package/data/mississippi.json +8 -10
  25. package/data/missouri.json +49 -2
  26. package/data/montana.json +196 -0
  27. package/data/nebraska.json +3 -3
  28. package/data/nevada.json +2 -2
  29. package/data/new-hampshire.json +1 -1
  30. package/data/new-jersey.json +6 -6
  31. package/data/new-mexico.json +49 -0
  32. package/data/new-york.json +8 -8
  33. package/data/north-carolina.json +11 -11
  34. package/data/north-dakota.json +57 -0
  35. package/data/ohio.json +81 -3
  36. package/data/oklahoma.json +49 -0
  37. package/data/oregon.json +10 -16
  38. package/data/pennsylvania.json +3 -3
  39. package/data/rhode-island.json +1 -1
  40. package/data/south-carolina.json +18 -19
  41. package/data/south-dakota.json +58 -0
  42. package/data/tennessee.json +9 -8
  43. package/data/texas.json +216 -17
  44. package/data/utah.json +4 -4
  45. package/data/vermont.json +2 -2
  46. package/data/virginia.json +44 -2
  47. package/data/washington.json +9 -9
  48. package/data/west-virginia.json +176 -0
  49. package/data/wisconsin.json +1 -1
  50. package/data/wyoming.json +58 -0
  51. package/dist/index.cjs +3742 -524
  52. package/dist/index.d.cts +12 -1
  53. package/dist/index.d.ts +12 -1
  54. package/dist/index.js +3742 -525
  55. package/package.json +1 -1
@@ -0,0 +1,94 @@
1
+ {
2
+ "stateSlug": "maryland",
3
+ "stateName": "Maryland",
4
+ "stateAbbrev": "MD",
5
+ "lastUpdated": "2026-06-05",
6
+ "counties": [
7
+ {
8
+ "id": "md-montgomery",
9
+ "state": "MD",
10
+ "stateName": "Maryland",
11
+ "stateSlug": "maryland",
12
+ "county": "Montgomery",
13
+ "countySlug": "montgomery-county",
14
+ "countyFips": "24031",
15
+ "hasPublicRest": true,
16
+ "endpoints": [
17
+ {
18
+ "url": "https://mcmaps.org/server11/rest/services/Overlays/MCAtlas_Property_Points/FeatureServer/0",
19
+ "serviceType": "FeatureServer",
20
+ "layerIndex": 0,
21
+ "layerName": "Property Points",
22
+ "supportsQuery": true,
23
+ "corsEnabled": null,
24
+ "searchFields": [
25
+ { "name": "TAX_NO", "label": "Tax Account Number", "searchable": true },
26
+ { "name": "OWNERS_NAME", "label": "Owner Name", "searchable": true },
27
+ { "name": "OWNERS_NAME2", "label": "Owner Name 2", "searchable": true },
28
+ { "name": "PREMISE_ADDR_HOUSENO", "label": "Site House Number", "searchable": true },
29
+ { "name": "PREMISE_ADDR_STREET", "label": "Site Street Name", "searchable": true },
30
+ { "name": "PREMISE_ADDR_CITY", "label": "Site City", "searchable": true },
31
+ { "name": "OWNERS_ADDR1", "label": "Owner Mailing Address", "searchable": true },
32
+ { "name": "OWNERS_CITY", "label": "Owner Mailing City", "searchable": true }
33
+ ],
34
+ "sampleQuery": "https://mcmaps.org/server11/rest/services/Overlays/MCAtlas_Property_Points/FeatureServer/0/query?where=UPPER(OWNERS_NAME)+LIKE+UPPER('%25SMITH%25')&outFields=TAX_NO,OWNERS_NAME,PREMISE_ADDR_HOUSENO,PREMISE_ADDR_STREET,PREMISE_ADDR_CITY,OWNERS_ADDR1&returnGeometry=false&f=json&resultRecordCount=10",
35
+ "license": "public",
36
+ "licenseUrl": "https://www.montgomerycountymd.gov/gis/",
37
+ "status": "live",
38
+ "lastVerified": "2026-06-05",
39
+ "verifiedBy": "automated"
40
+ }
41
+ ],
42
+ "contact": {
43
+ "department": "Montgomery County Maryland GIS (MCAtlas)",
44
+ "url": "https://www.montgomerycountymd.gov/gis/",
45
+ "email": null
46
+ },
47
+ "notes": "Montgomery County is Maryland's most populous county (pop. 1.06 million; county seat Rockville) and one of the wealthiest in the US. The MCAtlas_Property_Points FeatureServer on mcmaps.org (mcmaps.org/server11) is the county's ArcGIS Server backing the MCAtlas web viewer; it exposes 97 fields as point geometry. Live query confirmed 351,703 parcels. Owner-name search uses UPPER() LIKE on OWNERS_NAME. Key fields: TAX_NO (Maryland 8-digit tax account number), OWNERS_NAME, OWNERS_NAME2, OWNERS_ADDR1/ADDR2/ADDR3, OWNERS_CITY/STATE/ZIP (full mailing address), PREMISE_ADDR_HOUSENO/STREET/STREET_TYPE/CITY/ZIP (situs address components), LAND_ASSMT, IMPROV_ASSMT, LEGAL_DESC, TRANSFER_DATE, SALES_PRICE, YEAR_BUILT, LANDUSE_CODE. The county uses Maryland SDAT (State Department of Assessments and Taxation) as the authoritative property record; mcmaps.org mirrors a subset of that data. Note: property points are centroid-located, not parcel polygons. For polygon geometry, Maryland's statewide parcel boundary layer is at geodata.md.gov/imap/rest/services/PlanningCadastre/MD_ParcelBoundaries/MapServer but does not expose owner data directly."
48
+ },
49
+ {
50
+ "id": "md-prince-georges",
51
+ "state": "MD",
52
+ "stateName": "Maryland",
53
+ "stateSlug": "maryland",
54
+ "county": "Prince George's",
55
+ "countySlug": "prince-georges-county",
56
+ "countyFips": "24033",
57
+ "hasPublicRest": true,
58
+ "endpoints": [
59
+ {
60
+ "url": "https://gis.princegeorgescountymd.gov/arcgis/rest/services/Property/Property_Flattened/MapServer/0",
61
+ "serviceType": "MapServer",
62
+ "layerIndex": 0,
63
+ "layerName": "Property Flattened",
64
+ "supportsQuery": true,
65
+ "corsEnabled": null,
66
+ "searchFields": [
67
+ { "name": "ACCOUNT", "label": "Account Number", "searchable": true },
68
+ { "name": "PROPERTY_ID", "label": "Property ID", "searchable": true },
69
+ { "name": "OWNER_NAME", "label": "Owner Name", "searchable": true },
70
+ { "name": "ICO_NAME", "label": "In Care Of Name", "searchable": true },
71
+ { "name": "HOUSE_NUMBER", "label": "Site House Number", "searchable": true },
72
+ { "name": "STREET_NAME", "label": "Site Street Name", "searchable": true },
73
+ { "name": "STREET_TYPE", "label": "Site Street Type", "searchable": true },
74
+ { "name": "MAIL_STREET", "label": "Mailing Street Address", "searchable": true },
75
+ { "name": "MAIL_CITY", "label": "Mailing City", "searchable": true },
76
+ { "name": "MAIL_ZIP5", "label": "Mailing ZIP", "searchable": true }
77
+ ],
78
+ "sampleQuery": "https://gis.princegeorgescountymd.gov/arcgis/rest/services/Property/Property_Flattened/MapServer/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",
79
+ "license": "public",
80
+ "licenseUrl": "https://www.princegeorgescountymd.gov/665/Geographic-Information-Systems-GIS",
81
+ "status": "live",
82
+ "lastVerified": "2026-06-05",
83
+ "verifiedBy": "automated"
84
+ }
85
+ ],
86
+ "contact": {
87
+ "department": "Prince George's County Maryland GIS",
88
+ "url": "https://www.princegeorgescountymd.gov/665/Geographic-Information-Systems-GIS",
89
+ "email": null
90
+ },
91
+ "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."
92
+ }
93
+ ]
94
+ }
@@ -9,7 +9,7 @@
9
9
  "state": "MA",
10
10
  "stateName": "Massachusetts",
11
11
  "stateSlug": "massachusetts",
12
- "county": "Statewide (Suffolk / Middlesex / Worcester / Norfolk / Essex / Plymouth)",
12
+ "county": "Statewide",
13
13
  "countySlug": "statewide",
14
14
  "countyFips": null,
15
15
  "hasPublicRest": true,
@@ -72,7 +72,7 @@
72
72
  "url": "https://www.mass.gov/info-details/massgis-data-property-tax-parcels",
73
73
  "email": null
74
74
  },
75
- "notes": "MassGIS Level 3 (L3) Standardized Assessors' Parcel data — a single statewide service covering all 351 Massachusetts municipalities including all 6 target counties: Suffolk (Boston), Middlesex, Worcester, Norfolk, Essex, and Plymouth. Parcels are organized by municipality (TOWN_ID numeric code), not by county. To filter by county: Suffolk towns include Boston (274), Chelsea (54), Revere (223), Winthrop (349); Middlesex includes Cambridge (49), Lowell (168), Newton (195); use the MassGIS town-code lookup at mass.gov for the full list. Two-layer workflow: layer 1 (Tax Parcels) carries polygon geometry and parcel ID; layer 4 (L3_ASSESS table, no geometry) carries owner name, address, and assessment data — join on LOC_ID. OWNER_NAME field is public."
75
+ "notes": "MassGIS Level 3 (L3) Standardized Assessors' Parcel data, a single statewide service covering all 351 Massachusetts municipalities including all 6 target counties: Suffolk (Boston), Middlesex, Worcester, Norfolk, Essex, and Plymouth. Parcels are organized by municipality (TOWN_ID numeric code), not by county. To filter by county: Suffolk towns include Boston (274), Chelsea (54), Revere (223), Winthrop (349); Middlesex includes Cambridge (49), Lowell (168), Newton (195); use the MassGIS town-code lookup at mass.gov for the full list. Two-layer workflow: layer 1 (Tax Parcels) carries polygon geometry and parcel ID; layer 4 (L3_ASSESS table, no geometry) carries owner name, address, and assessment data, join on LOC_ID. OWNER_NAME field is public."
76
76
  }
77
77
  ]
78
78
  }
@@ -2,7 +2,7 @@
2
2
  "stateSlug": "michigan",
3
3
  "stateName": "Michigan",
4
4
  "stateAbbrev": "MI",
5
- "lastUpdated": "2026-05-15",
5
+ "lastUpdated": "2026-06-06",
6
6
  "counties": [
7
7
  {
8
8
  "id": "mi-kent",
@@ -34,9 +34,9 @@
34
34
  "sampleQuery": "https://gis.kentcountymi.gov/agisprod/rest/services/ParcelsWithCondos/MapServer/0/query?where=UPPER(OWNERNAME1)%20LIKE%20UPPER('%25SMITH%25')&outFields=PPN,OWNERNAME1,PROPERTYADDRESS,PROPADDRESSCITY&returnGeometry=false&f=json&resultRecordCount=10",
35
35
  "license": "public",
36
36
  "licenseUrl": "https://www.kentcountymi-accesskent.opendata.arcgis.com/",
37
- "status": "live",
38
- "lastVerified": "2026-05-15",
39
- "verifiedBy": "automated"
37
+ "status": "unreachable",
38
+ "lastVerified": "2026-06-06",
39
+ "verifiedBy": "manual"
40
40
  }
41
41
  ],
42
42
  "contact": {
@@ -44,7 +44,7 @@
44
44
  "url": "https://www.kentcountymi.gov/246/Geographic-Information-System-GIS",
45
45
  "email": null
46
46
  },
47
- "notes": "Kent County (Grand Rapids metro) hosts ParcelsWithCondos/MapServer/0 — a countywide parcel layer including condominium units. 22 fields: PPN, TAXPARCEL_FLAG, OWNERNAME1, OWNERNAME2, OWNERCAREOF, OWNERADDRESS, OWNERCITY, OWNERZIPCODE, PROPERTYADDRESS, PROPADDRESSCITY, PROPADDRESSSTATE_ZIPCODE, PROPERTYCLASS, GOVERNMENTALUNIT, SCHOOLDISTRICT, SEV/TAXABLE fields (2 tribunals), ACREAGE, PNUM, geometry. Query confirmed live: UPPER(OWNERNAME1) LIKE '%SMITH%' returns real owner names (e.g., 'SMITH TIMOTHY J & STARKS-SMITH MARY'). Owner mailing address is in OWNERADDRESS/OWNERCITY/OWNERZIPCODE. The county's open data hub at kentcountymi-accesskent.opendata.arcgis.com mirrors the same data. Michigan parcel ID (PPN) format is 10-digit county-township-parcel."
47
+ "notes": "Kent County (Grand Rapids metro) hosts ParcelsWithCondos/MapServer/0, a countywide parcel layer including condominium units. 22 fields: PPN, TAXPARCEL_FLAG, OWNERNAME1, OWNERNAME2, OWNERCAREOF, OWNERADDRESS, OWNERCITY, OWNERZIPCODE, PROPERTYADDRESS, PROPADDRESSCITY, PROPADDRESSSTATE_ZIPCODE, PROPERTYCLASS, GOVERNMENTALUNIT, SCHOOLDISTRICT, SEV/TAXABLE fields (2 tribunals), ACREAGE, PNUM, geometry. Query confirmed live: UPPER(OWNERNAME1) LIKE '%SMITH%' returns real owner names (e.g., 'SMITH TIMOTHY J & STARKS-SMITH MARY'). Owner mailing address is in OWNERADDRESS/OWNERCITY/OWNERZIPCODE. The county's open data hub at kentcountymi-accesskent.opendata.arcgis.com mirrors the same data. Michigan parcel ID (PPN) format is 10-digit county-township-parcel. INFRASTRUCTURE OUTAGE (verified 2026-06-06): the entire agisprod ArcGIS server is offline ('Could not access any server machines') -- every service and the portal are affected. Looks transient rather than a retirement; recheck around 2026-07-06."
48
48
  },
49
49
  {
50
50
  "id": "mi-oakland",
@@ -2,7 +2,7 @@
2
2
  "stateSlug": "minnesota",
3
3
  "stateName": "Minnesota",
4
4
  "stateAbbrev": "MN",
5
- "lastUpdated": "2026-05-15",
5
+ "lastUpdated": "2026-06-06",
6
6
  "counties": [
7
7
  {
8
8
  "id": "mn-ramsey",
@@ -78,9 +78,9 @@
78
78
  "sampleQuery": "https://gis.hennepin.us/arcgis/rest/services/HennepinData/LAND_PROPERTY/MapServer/1/query?where=UPPER(OWNER_NM)+LIKE+UPPER(%27%25SMITH%25%27)&outFields=PID,OWNER_NM,STREET_NM,MAILING_MUNIC_NM&returnGeometry=false&f=json&resultRecordCount=10",
79
79
  "license": "public",
80
80
  "licenseUrl": "https://gis-hennepin.hub.arcgis.com/",
81
- "status": "unreachable",
82
- "lastVerified": "2026-05-15",
83
- "verifiedBy": "automated"
81
+ "status": "live",
82
+ "lastVerified": "2026-06-06",
83
+ "verifiedBy": "manual"
84
84
  }
85
85
  ],
86
86
  "contact": {
@@ -88,7 +88,7 @@
88
88
  "url": "https://gis-hennepin.hub.arcgis.com/",
89
89
  "email": null
90
90
  },
91
- "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. CURRENT OUTAGE (2026-05-15): the HennepinData/LAND_PROPERTY/MapServer service returns HTTP 500 'Service not started' — county-side outage, not a permanent retirement. The county's open-data hub at gis-hennepin.opendata.arcgis.com is also returning 404 'Domain record not found'. Recheck weekly via the liveness script — restore status to 'live' once the service returns."
91
+ "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)."
92
92
  }
93
93
  ]
94
94
  }
@@ -2,7 +2,7 @@
2
2
  "stateSlug": "mississippi",
3
3
  "stateName": "Mississippi",
4
4
  "stateAbbrev": "MS",
5
- "lastUpdated": "2026-05-15",
5
+ "lastUpdated": "2026-06-06",
6
6
  "counties": [
7
7
  {
8
8
  "id": "ms-hinds",
@@ -45,7 +45,7 @@
45
45
  }
46
46
  ],
47
47
  "contact": {
48
- "department": "Mississippi Department of Environmental Quality (MDEQ) OPCGIS — hosts county parcel layers",
48
+ "department": "Mississippi Department of Environmental Quality (MDEQ) OPCGIS. Hosts county parcel layers",
49
49
  "url": "https://www.gis.ms.gov/",
50
50
  "email": null
51
51
  },
@@ -62,9 +62,9 @@
62
62
  "hasPublicRest": true,
63
63
  "endpoints": [
64
64
  {
65
- "url": "https://maps.desotocountyms.gov/arcgis/rest/services/Layers/MapServer/28",
65
+ "url": "https://maps.desotocountyms.gov/arcgis/rest/services/CountyWebMap/Tax_Assessors_County_Web_Map/MapServer/29",
66
66
  "serviceType": "MapServer",
67
- "layerIndex": 28,
67
+ "layerIndex": 29,
68
68
  "layerName": "Tax Parcels",
69
69
  "supportsQuery": true,
70
70
  "corsEnabled": null,
@@ -77,15 +77,13 @@
77
77
  { "name": "STATE", "label": "State", "searchable": false },
78
78
  { "name": "ZIP_CODE", "label": "ZIP Code", "searchable": false },
79
79
  { "name": "FULL_ADDR", "label": "Full Site Address", "searchable": true },
80
- { "name": "ACREAGE", "label": "Acreage", "searchable": false },
81
- { "name": "DEED_BOOK1", "label": "Deed Book", "searchable": false },
82
- { "name": "DEED_PAGE1", "label": "Deed Page", "searchable": false }
80
+ { "name": "ACREAGE", "label": "Acreage", "searchable": false }
83
81
  ],
84
- "sampleQuery": "https://maps.desotocountyms.gov/arcgis/rest/services/Layers/MapServer/28/query?where=UPPER(OWNER_NAME)+LIKE+UPPER('%25SMITH%25')&outFields=PIN,OWNER_NAME,FULL_ADDR,CITY&returnGeometry=false&f=json&resultRecordCount=10",
82
+ "sampleQuery": "https://maps.desotocountyms.gov/arcgis/rest/services/CountyWebMap/Tax_Assessors_County_Web_Map/MapServer/29/query?where=UPPER(OWNER_NAME)+LIKE+UPPER('%25SMITH%25')&outFields=PIN,OWNER_NAME,FULL_ADDR,CITY&returnGeometry=false&f=json&resultRecordCount=10",
85
83
  "license": "public",
86
84
  "licenseUrl": "https://www.desotocountyms.gov/205/GIS-Maps-Data",
87
85
  "status": "live",
88
- "lastVerified": "2026-05-15",
86
+ "lastVerified": "2026-06-06",
89
87
  "verifiedBy": "manual"
90
88
  }
91
89
  ],
@@ -94,7 +92,7 @@
94
92
  "url": "https://desotocounty-dcms-gis.hub.arcgis.com/",
95
93
  "email": null
96
94
  },
97
- "notes": "DeSoto County (Southaven/Olive Branch, pop. 185,000; Memphis metro south) Tax Parcels layer at index 28 of the DeSoto County Layers MapServer. 15 fields confirmed: PIN, ACREAGE, FULL_ADDR, OWNER_NAME, SECOND_OWNER, OWNER_ADDRESS, CITY, STATE, ZIP_CODE, DEED_BOOK1, DEED_PAGE1, WD_Link, Tax_Info, Tax_Map. Verified 2026-05-15: SMITH returns Olive Branch MS addresses. DeSoto County is the fastest-growing MS county (Memphis exurb), making it the highest-value parcel-lookup target in the state."
95
+ "notes": "DeSoto County (Southaven and Olive Branch; pop. 185,000; Memphis metro south) is Mississippi's fastest-growing county and carries the highest parcel-lookup demand in the state. The Tax Parcels layer sits at index 28 of the DeSoto County Layers MapServer (maps.desotocountyms.gov). 15 confirmed fields: PIN, ACREAGE, FULL_ADDR (site address), OWNER_NAME, SECOND_OWNER (co-owner), OWNER_ADDRESS, CITY, STATE, ZIP_CODE, DEED_BOOK1, DEED_PAGE1, WD_Link (warranty deed hyperlink), Tax_Info (hyperlink to county tax record), and Tax_Map (tax map hyperlink). Owner-name queries confirmed live 2026-05-15; SMITH returns Olive Branch MS addresses. WD_Link and Tax_Info are URL fields that deep-link directly into the county's deed and tax systems -- a convenience not common in Mississippi public layers. DeSoto County's GIS Hub at desotocounty-dcms-gis.hub.arcgis.com provides bulk downloads. The county tax assessor portal at desotocountyms.gov handles exemption and appeal records not surfaced in the REST layer. MIGRATED 2026-06-06: Layer 28 of Layers/MapServer was retired (ArcGIS 404) -- parcels now at CountyWebMap/Tax_Assessors_County_Web_Map/MapServer/29 (84,713 parcels; OWNER_NAME search re-verified live). Deed/tax hyperlink fields from the old layer are not confirmed on the new one."
98
96
  }
99
97
  ]
100
98
  }
@@ -2,8 +2,55 @@
2
2
  "stateSlug": "missouri",
3
3
  "stateName": "Missouri",
4
4
  "stateAbbrev": "MO",
5
- "lastUpdated": "2026-05-15",
5
+ "lastUpdated": "2026-06-20",
6
6
  "counties": [
7
+ {
8
+ "id": "mo-jackson",
9
+ "state": "MO",
10
+ "stateName": "Missouri",
11
+ "stateSlug": "missouri",
12
+ "county": "Jackson",
13
+ "countySlug": "jackson-county",
14
+ "countyFips": "29095",
15
+ "hasPublicRest": true,
16
+ "endpoints": [
17
+ {
18
+ "url": "https://gis.mijackson.org/countygis/rest/services/RealEstate/RealEstateParcels/FeatureServer/0",
19
+ "serviceType": "FeatureServer",
20
+ "layerIndex": 0,
21
+ "layerName": "RealEstateParcels",
22
+ "supportsQuery": true,
23
+ "corsEnabled": null,
24
+ "searchFields": [
25
+ { "name": "PIN", "label": "Parcel Identification Number", "searchable": true },
26
+ { "name": "OWNER", "label": "Owner Name", "searchable": true },
27
+ { "name": "OWNER2", "label": "Owner Name 2", "searchable": false },
28
+ { "name": "O_ADDRESS", "label": "Owner Address", "searchable": false },
29
+ { "name": "O_CITY", "label": "Owner City", "searchable": false },
30
+ { "name": "O_STATE", "label": "Owner State", "searchable": false },
31
+ { "name": "O_ZIP", "label": "Owner ZIP", "searchable": false },
32
+ { "name": "P_FULLADD", "label": "Property Full Address", "searchable": true },
33
+ { "name": "P_CITY", "label": "Property City", "searchable": false },
34
+ { "name": "P_STATE", "label": "Property State", "searchable": false },
35
+ { "name": "P_ZIP", "label": "Property ZIP", "searchable": false },
36
+ { "name": "P_ACREAGE", "label": "Acreage", "searchable": false },
37
+ { "name": "LIBERPAGE", "label": "Liber/Page (deed reference)", "searchable": false }
38
+ ],
39
+ "sampleQuery": "https://gis.mijackson.org/countygis/rest/services/RealEstate/RealEstateParcels/FeatureServer/0/query?where=UPPER(OWNER)+LIKE+UPPER('%25SMITH%25')&outFields=PIN,OWNER,OWNER2,O_ADDRESS,O_CITY,P_FULLADD,P_CITY&returnGeometry=false&f=json&resultRecordCount=10",
40
+ "license": "public",
41
+ "licenseUrl": "https://gis.mijackson.org/",
42
+ "status": "live",
43
+ "lastVerified": "2026-06-20",
44
+ "verifiedBy": "automated"
45
+ }
46
+ ],
47
+ "contact": {
48
+ "department": "Jackson County GIS (Assessed Services Division)",
49
+ "url": "https://jacksongov.org/residents/property-information",
50
+ "email": null
51
+ },
52
+ "notes": "Jackson County MO (Kansas City metro; county seat Kansas City; FIPS 29095; pop. 715,000, largest county in MO) provides parcel data via gis.mijackson.org. The RealEstate/RealEstateParcels/FeatureServer/0 layer exposes 20 fields: PIN (parcel ID), LIBERPAGE, O_CITY, OWNER, OWNER2, O_STATE, O_ADDRESS, O_ZIP, P_CITY, P_FULLADD, P_STATE, P_ZIP, P_STATUS, P_ACREAGE, P_ASSMBOR1-4, P_HPERCENT. Owner search via UPPER(OWNER) LIKE works well. Verified 2026-06-20: SMITH returns Kansas City-area addresses. Jackson County MO includes Kansas City proper and inner suburbs (Independence, Lee's Summit, Blue Springs). Do not confuse with Jackson County in other states. The GIS portal is at gis.mijackson.org."
53
+ },
7
54
  {
8
55
  "id": "mo-st-louis",
9
56
  "state": "MO",
@@ -46,7 +93,7 @@
46
93
  "url": "https://gis.stlouiscountymo.gov/",
47
94
  "email": null
48
95
  },
49
- "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."
96
+ "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."
50
97
  }
51
98
  ]
52
99
  }
@@ -0,0 +1,196 @@
1
+ {
2
+ "stateSlug": "montana",
3
+ "stateName": "Montana",
4
+ "stateAbbrev": "MT",
5
+ "lastUpdated": "2026-06-20",
6
+ "counties": [
7
+ {
8
+ "id": "mt-yellowstone",
9
+ "state": "MT",
10
+ "stateName": "Montana",
11
+ "stateSlug": "montana",
12
+ "county": "Yellowstone",
13
+ "countySlug": "yellowstone-county",
14
+ "countyFips": "30111",
15
+ "hasPublicRest": true,
16
+ "endpoints": [
17
+ {
18
+ "url": "https://gisservicemt.gov/arcgis/rest/services/MSDI_Framework/Parcels/MapServer/0",
19
+ "serviceType": "MapServer",
20
+ "layerIndex": 0,
21
+ "layerName": "Parcels",
22
+ "supportsQuery": true,
23
+ "corsEnabled": null,
24
+ "searchFields": [
25
+ { "name": "PARCELID", "label": "Parcel ID", "searchable": true },
26
+ { "name": "OwnerName", "label": "Owner Name", "searchable": true },
27
+ { "name": "OwnerAddress1", "label": "Owner Address Line 1", "searchable": false },
28
+ { "name": "OwnerAddress2", "label": "Owner Address Line 2", "searchable": false },
29
+ { "name": "OwnerCity", "label": "Owner City", "searchable": false },
30
+ { "name": "OwnerState", "label": "Owner State", "searchable": false },
31
+ { "name": "OwnerZipCode", "label": "Owner ZIP Code", "searchable": false },
32
+ { "name": "AddressLine1", "label": "Property Address", "searchable": true },
33
+ { "name": "CityStateZip", "label": "Property City/State/ZIP", "searchable": false },
34
+ { "name": "CountyName", "label": "County Name (Yellowstone)", "searchable": false },
35
+ { "name": "COUNTYCD", "label": "County Code (3 = Yellowstone)", "searchable": false },
36
+ { "name": "TotalValue", "label": "Total Assessed Value", "searchable": false },
37
+ { "name": "TaxYear", "label": "Tax Year", "searchable": false }
38
+ ],
39
+ "sampleQuery": "https://gisservicemt.gov/arcgis/rest/services/MSDI_Framework/Parcels/MapServer/0/query?where=CountyName%3D'Yellowstone'+AND+UPPER(OwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=PARCELID,OwnerName,AddressLine1,CityStateZip,CountyName&returnGeometry=false&f=json&resultRecordCount=10",
40
+ "license": "public",
41
+ "licenseUrl": "https://gisservicemt.gov/",
42
+ "status": "live",
43
+ "lastVerified": "2026-06-20",
44
+ "verifiedBy": "automated"
45
+ }
46
+ ],
47
+ "contact": {
48
+ "department": "Montana State Library / Montana Spatial Data Infrastructure (MSDI)",
49
+ "url": "https://msl.mt.gov/geoinfo/",
50
+ "email": null
51
+ },
52
+ "notes": "Yellowstone County MT (Billings metro; county seat Billings; FIPS 30111; most populous MT county, pop. 164,000) is served by the Montana statewide parcel layer hosted by the Montana State Library / MSDI Framework. Filter CountyName='Yellowstone' (TitleCase) to scope to Yellowstone County (COUNTYCD=3). Key fields: PARCELID, PropertyID, AssessmentCode, OwnerName, OwnerAddress1/2, OwnerCity, OwnerState, OwnerZipCode, AddressLine1, AddressLine2, CityStateZip, PropType, PropAccess, LevyDistrict, Township, Range, Section, LegalDescriptionShort, GISAcres, TotalBuildingValue, TotalLandValue, TotalValue, TaxYear. Verified 2026-06-20: CountyName='Yellowstone' AND SMITH returns Billings-area addresses. Do not confuse with Yellowstone National Park (in WY, ID, and MT, not a county)."
53
+ },
54
+ {
55
+ "id": "mt-missoula",
56
+ "state": "MT",
57
+ "stateName": "Montana",
58
+ "stateSlug": "montana",
59
+ "county": "Missoula",
60
+ "countySlug": "missoula-county",
61
+ "countyFips": "30063",
62
+ "hasPublicRest": true,
63
+ "endpoints": [
64
+ {
65
+ "url": "https://gisservicemt.gov/arcgis/rest/services/MSDI_Framework/Parcels/MapServer/0",
66
+ "serviceType": "MapServer",
67
+ "layerIndex": 0,
68
+ "layerName": "Parcels",
69
+ "supportsQuery": true,
70
+ "corsEnabled": null,
71
+ "searchFields": [
72
+ { "name": "PARCELID", "label": "Parcel ID", "searchable": true },
73
+ { "name": "OwnerName", "label": "Owner Name", "searchable": true },
74
+ { "name": "OwnerAddress1", "label": "Owner Address Line 1", "searchable": false },
75
+ { "name": "OwnerAddress2", "label": "Owner Address Line 2", "searchable": false },
76
+ { "name": "OwnerCity", "label": "Owner City", "searchable": false },
77
+ { "name": "OwnerState", "label": "Owner State", "searchable": false },
78
+ { "name": "OwnerZipCode", "label": "Owner ZIP Code", "searchable": false },
79
+ { "name": "AddressLine1", "label": "Property Address", "searchable": true },
80
+ { "name": "CityStateZip", "label": "Property City/State/ZIP", "searchable": false },
81
+ { "name": "CountyName", "label": "County Name (Missoula)", "searchable": false },
82
+ { "name": "COUNTYCD", "label": "County Code (4 = Missoula)", "searchable": false },
83
+ { "name": "TotalValue", "label": "Total Assessed Value", "searchable": false },
84
+ { "name": "TaxYear", "label": "Tax Year", "searchable": false }
85
+ ],
86
+ "sampleQuery": "https://gisservicemt.gov/arcgis/rest/services/MSDI_Framework/Parcels/MapServer/0/query?where=CountyName%3D'Missoula'+AND+UPPER(OwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=PARCELID,OwnerName,AddressLine1,CityStateZip,CountyName&returnGeometry=false&f=json&resultRecordCount=10",
87
+ "license": "public",
88
+ "licenseUrl": "https://gisservicemt.gov/",
89
+ "status": "live",
90
+ "lastVerified": "2026-06-20",
91
+ "verifiedBy": "automated"
92
+ }
93
+ ],
94
+ "contact": {
95
+ "department": "Montana State Library / Montana Spatial Data Infrastructure (MSDI)",
96
+ "url": "https://msl.mt.gov/geoinfo/",
97
+ "email": null
98
+ },
99
+ "notes": "Missoula County MT (Missoula; county seat Missoula; FIPS 30063; home to University of Montana) is served by the Montana statewide parcel layer (COUNTYCD=4). Filter CountyName='Missoula' to scope to this county. Same schema and endpoint as other Montana counties (MSDI Framework Parcels/MapServer/0). Verified 2026-06-20: SMITH query returns Missoula-area addresses."
100
+ },
101
+ {
102
+ "id": "mt-cascade",
103
+ "state": "MT",
104
+ "stateName": "Montana",
105
+ "stateSlug": "montana",
106
+ "county": "Cascade",
107
+ "countySlug": "cascade-county",
108
+ "countyFips": "30013",
109
+ "hasPublicRest": true,
110
+ "endpoints": [
111
+ {
112
+ "url": "https://gisservicemt.gov/arcgis/rest/services/MSDI_Framework/Parcels/MapServer/0",
113
+ "serviceType": "MapServer",
114
+ "layerIndex": 0,
115
+ "layerName": "Parcels",
116
+ "supportsQuery": true,
117
+ "corsEnabled": null,
118
+ "searchFields": [
119
+ { "name": "PARCELID", "label": "Parcel ID", "searchable": true },
120
+ { "name": "OwnerName", "label": "Owner Name", "searchable": true },
121
+ { "name": "OwnerAddress1", "label": "Owner Address Line 1", "searchable": false },
122
+ { "name": "OwnerAddress2", "label": "Owner Address Line 2", "searchable": false },
123
+ { "name": "OwnerCity", "label": "Owner City", "searchable": false },
124
+ { "name": "OwnerState", "label": "Owner State", "searchable": false },
125
+ { "name": "OwnerZipCode", "label": "Owner ZIP Code", "searchable": false },
126
+ { "name": "AddressLine1", "label": "Property Address", "searchable": true },
127
+ { "name": "CityStateZip", "label": "Property City/State/ZIP", "searchable": false },
128
+ { "name": "CountyName", "label": "County Name (Cascade)", "searchable": false },
129
+ { "name": "COUNTYCD", "label": "County Code (2 = Cascade)", "searchable": false },
130
+ { "name": "TotalValue", "label": "Total Assessed Value", "searchable": false },
131
+ { "name": "TaxYear", "label": "Tax Year", "searchable": false }
132
+ ],
133
+ "sampleQuery": "https://gisservicemt.gov/arcgis/rest/services/MSDI_Framework/Parcels/MapServer/0/query?where=CountyName%3D'Cascade'+AND+UPPER(OwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=PARCELID,OwnerName,AddressLine1,CityStateZip,CountyName&returnGeometry=false&f=json&resultRecordCount=10",
134
+ "license": "public",
135
+ "licenseUrl": "https://gisservicemt.gov/",
136
+ "status": "live",
137
+ "lastVerified": "2026-06-20",
138
+ "verifiedBy": "automated"
139
+ }
140
+ ],
141
+ "contact": {
142
+ "department": "Montana State Library / Montana Spatial Data Infrastructure (MSDI)",
143
+ "url": "https://msl.mt.gov/geoinfo/",
144
+ "email": null
145
+ },
146
+ "notes": "Cascade County MT (Great Falls; county seat Great Falls; FIPS 30013) is served by the Montana statewide parcel layer (COUNTYCD=2). Filter CountyName='Cascade' to scope to this county. Same schema and endpoint as other Montana counties. Verified 2026-06-20: SMITH query returns Great Falls-area addresses."
147
+ },
148
+ {
149
+ "id": "mt-flathead",
150
+ "state": "MT",
151
+ "stateName": "Montana",
152
+ "stateSlug": "montana",
153
+ "county": "Flathead",
154
+ "countySlug": "flathead-county",
155
+ "countyFips": "30029",
156
+ "hasPublicRest": true,
157
+ "endpoints": [
158
+ {
159
+ "url": "https://gisservicemt.gov/arcgis/rest/services/MSDI_Framework/Parcels/MapServer/0",
160
+ "serviceType": "MapServer",
161
+ "layerIndex": 0,
162
+ "layerName": "Parcels",
163
+ "supportsQuery": true,
164
+ "corsEnabled": null,
165
+ "searchFields": [
166
+ { "name": "PARCELID", "label": "Parcel ID", "searchable": true },
167
+ { "name": "OwnerName", "label": "Owner Name", "searchable": true },
168
+ { "name": "OwnerAddress1", "label": "Owner Address Line 1", "searchable": false },
169
+ { "name": "OwnerAddress2", "label": "Owner Address Line 2", "searchable": false },
170
+ { "name": "OwnerCity", "label": "Owner City", "searchable": false },
171
+ { "name": "OwnerState", "label": "Owner State", "searchable": false },
172
+ { "name": "OwnerZipCode", "label": "Owner ZIP Code", "searchable": false },
173
+ { "name": "AddressLine1", "label": "Property Address", "searchable": true },
174
+ { "name": "CityStateZip", "label": "Property City/State/ZIP", "searchable": false },
175
+ { "name": "CountyName", "label": "County Name (Flathead)", "searchable": false },
176
+ { "name": "COUNTYCD", "label": "County Code (7 = Flathead)", "searchable": false },
177
+ { "name": "TotalValue", "label": "Total Assessed Value", "searchable": false },
178
+ { "name": "TaxYear", "label": "Tax Year", "searchable": false }
179
+ ],
180
+ "sampleQuery": "https://gisservicemt.gov/arcgis/rest/services/MSDI_Framework/Parcels/MapServer/0/query?where=CountyName%3D'Flathead'+AND+UPPER(OwnerName)+LIKE+UPPER('%25SMITH%25')&outFields=PARCELID,OwnerName,AddressLine1,CityStateZip,CountyName&returnGeometry=false&f=json&resultRecordCount=10",
181
+ "license": "public",
182
+ "licenseUrl": "https://gisservicemt.gov/",
183
+ "status": "live",
184
+ "lastVerified": "2026-06-20",
185
+ "verifiedBy": "automated"
186
+ }
187
+ ],
188
+ "contact": {
189
+ "department": "Montana State Library / Montana Spatial Data Infrastructure (MSDI)",
190
+ "url": "https://msl.mt.gov/geoinfo/",
191
+ "email": null
192
+ },
193
+ "notes": "Flathead County MT (Kalispell; county seat Kalispell; FIPS 30029; gateway to Glacier National Park) is served by the Montana statewide parcel layer (COUNTYCD=7). Filter CountyName='Flathead' to scope to this county. Same schema and endpoint as other Montana counties. Verified 2026-06-20: SMITH query returns Kalispell-area addresses."
194
+ }
195
+ ]
196
+ }
@@ -47,7 +47,7 @@
47
47
  "url": "https://dogis.org/",
48
48
  "email": null
49
49
  },
50
- "notes": "Douglas County NE (Omaha metro, county seat Omaha) is served by DOGIS (Douglas-Omaha Geographic Information System), a joint city-county GIS agency. The Parcels_public FeatureServer/0 exposes 25 fields: PIN, OWNER_NAME, ADDRESS1/2 (owner mailing), OWNER_CITY, OWNER_STAT, OWNER_ZIP, PROPERTY_A (property address), HOUSE, STREET_DIR, STREET_NAM, STREET_TYP, APARTMENT, PROP_CITY, PROP_ZIP, SEC_TWN_RN, ADDITION_N, BLOCK, LOT, LEGAL1/2/3/4, DCAACCTYPE. Query confirmed live: UPPER(OWNER_NAME) LIKE '%SMITH%' returns real results (e.g., 'SMITH MARKITA T'). Note that PROPERTY_A and PROP_CITY may be empty — the address join may be incomplete for some parcels; use HOUSE + STREET_NAM for address search if needed. The main DOGIS portal is at dogis.org and the open data portal at data-dogis.opendata.arcgis.com. The dcgis.org server also hosts engineering/project imagery — the vector/ folder is the correct path for parcel data. Douglas County NE (FIPS 31055) must not be confused with Douglas County CO (08035), Douglas County GA (13097), or other Douglas counties."
50
+ "notes": "Douglas County NE (Omaha metro, county seat Omaha) is served by DOGIS (Douglas-Omaha Geographic Information System), a joint city-county GIS agency. The Parcels_public FeatureServer/0 exposes 25 fields: PIN, OWNER_NAME, ADDRESS1/2 (owner mailing), OWNER_CITY, OWNER_STAT, OWNER_ZIP, PROPERTY_A (property address), HOUSE, STREET_DIR, STREET_NAM, STREET_TYP, APARTMENT, PROP_CITY, PROP_ZIP, SEC_TWN_RN, ADDITION_N, BLOCK, LOT, LEGAL1/2/3/4, DCAACCTYPE. Query confirmed live: UPPER(OWNER_NAME) LIKE '%SMITH%' returns real results (e.g., 'SMITH MARKITA T'). Note that PROPERTY_A and PROP_CITY may be empty. The address join may be incomplete for some parcels; use HOUSE + STREET_NAM for address search if needed. The main DOGIS portal is at dogis.org and the open data portal at data-dogis.opendata.arcgis.com. The dcgis.org server also hosts engineering/project imagery. The vector/ folder is the correct path for parcel data. Douglas County NE (FIPS 31055) must not be confused with Douglas County CO (08035), Douglas County GA (13097), or other Douglas counties."
51
51
  },
52
52
  {
53
53
  "id": "ne-lancaster",
@@ -89,7 +89,7 @@
89
89
  "url": "https://www.lancaster.ne.gov/1485/GIS",
90
90
  "email": null
91
91
  },
92
- "notes": "Lancaster County NE (Lincoln metro, county seat Lincoln — state capital) uses a joint City/County GIS server at gis.lincoln.ne.gov. The Assessor/TaxParcels/MapServer/0 layer uses Local Government Information Model (LGIM) schema: PARCELID, LOWPARCELID, OWNERNME1, OWNERNME2, CNVYNAME, PSTLADDRES, PSTLCITYSTZIP, SITEADDRESS, CVTTXCD, CVTTXDSCRP, SCHLTXCD, SCHLDSCRP, LGLSTARTDT, CLASSCD, CLASSDSCRP, NBHDCD, TAXABLEVALU, TOTVALUEBASE, RESYRBLT, RESFLRAREA. Query confirmed live: UPPER(OWNERNME1) LIKE '%SMITH%' returns real results (e.g., 'SMITH, DOUGLAS R LIFE ESTATE'). Three alternate GIS servers cover Lancaster County: gis.lincoln.ne.gov (multiple subfolders), gisext.lincoln.ne.gov (Assessor/Pub_Parcels, Assessor/Asr_Landbase), and gis.lincoln.ne.gov/public (Assessor/ParcelLinesAerial). Lancaster County NE (FIPS 31109) must not be confused with Lancaster County PA (42071), Lancaster County SC (45057), or Lancaster County VA (51103). The TaxParcels service (integration subfolder) is the richest public-access parcel layer."
92
+ "notes": "Lancaster County NE (Lincoln metro, county seat Lincoln, state capital) uses a joint City/County GIS server at gis.lincoln.ne.gov. The Assessor/TaxParcels/MapServer/0 layer uses Local Government Information Model (LGIM) schema: PARCELID, LOWPARCELID, OWNERNME1, OWNERNME2, CNVYNAME, PSTLADDRES, PSTLCITYSTZIP, SITEADDRESS, CVTTXCD, CVTTXDSCRP, SCHLTXCD, SCHLDSCRP, LGLSTARTDT, CLASSCD, CLASSDSCRP, NBHDCD, TAXABLEVALU, TOTVALUEBASE, RESYRBLT, RESFLRAREA. Query confirmed live: UPPER(OWNERNME1) LIKE '%SMITH%' returns real results (e.g., 'SMITH, DOUGLAS R LIFE ESTATE'). Three alternate GIS servers cover Lancaster County: gis.lincoln.ne.gov (multiple subfolders), gisext.lincoln.ne.gov (Assessor/Pub_Parcels, Assessor/Asr_Landbase), and gis.lincoln.ne.gov/public (Assessor/ParcelLinesAerial). Lancaster County NE (FIPS 31109) must not be confused with Lancaster County PA (42071), Lancaster County SC (45057), or Lancaster County VA (51103). The TaxParcels service (integration subfolder) is the richest public-access parcel layer."
93
93
  },
94
94
  {
95
95
  "id": "ne-sarpy",
@@ -131,7 +131,7 @@
131
131
  "url": "https://www.sarpy.gov/187/Geographic-Information-System-GIS",
132
132
  "email": null
133
133
  },
134
- "notes": "Sarpy County NE (Omaha south/west suburbs — Bellevue, Papillion, La Vista, Gretna) hosts LandRecordsSearch/FeatureServer with 10 layers; layer 5 (Tax Parcels) is the polygon parcel layer with ownership data. Fields follow LGIM schema: PARCELID, OWNERNME1, OWNERNME2, CNVYNAME, PSTLADDRES, SITEADDRESS, CVTTXCD/CVTTXDSCRP, SCHLTXCD/SCHLDSCRP, USEDSCRP, NGHBRHDCD, CLASSCD, CLASSDSCRP, LNDVALUE, CNTASSDVAL, CNTTXBLVAL, RESFLRAREA, RESYRBLT. Query confirmed live: UPPER(OWNERNME1) LIKE '%SMITH%' returns real results (e.g., 'SMITH/SHAWN L' at '11106 S 18TH CIR BELLEVUE NE 68123'). The Cadastral/LandRecordsDynamic/MapServer provides the same parcels as a cached tile service. Sarpy County is the fastest-growing county in Nebraska. GIS portal at gis.sarpy.gov and open data at data2-sarpy.opendata.arcgis.com. The SIMS parcel viewer (maps.sarpy.gov/html5viewer/?Viewer=SIMS) is the public-facing tool."
134
+ "notes": "Sarpy County NE (Omaha south/west suburbs, Bellevue, Papillion, La Vista, Gretna) hosts LandRecordsSearch/FeatureServer with 10 layers; layer 5 (Tax Parcels) is the polygon parcel layer with ownership data. Fields follow LGIM schema: PARCELID, OWNERNME1, OWNERNME2, CNVYNAME, PSTLADDRES, SITEADDRESS, CVTTXCD/CVTTXDSCRP, SCHLTXCD/SCHLDSCRP, USEDSCRP, NGHBRHDCD, CLASSCD, CLASSDSCRP, LNDVALUE, CNTASSDVAL, CNTTXBLVAL, RESFLRAREA, RESYRBLT. Query confirmed live: UPPER(OWNERNME1) LIKE '%SMITH%' returns real results (e.g., 'SMITH/SHAWN L' at '11106 S 18TH CIR BELLEVUE NE 68123'). The Cadastral/LandRecordsDynamic/MapServer provides the same parcels as a cached tile service. Sarpy County is the fastest-growing county in Nebraska. GIS portal at gis.sarpy.gov and open data at data2-sarpy.opendata.arcgis.com. The SIMS parcel viewer (maps.sarpy.gov/html5viewer/?Viewer=SIMS) is the public-facing tool."
135
135
  }
136
136
  ]
137
137
  }
package/data/nevada.json CHANGED
@@ -41,7 +41,7 @@
41
41
  "url": "https://www.clarkcountynv.gov/government/departments/geographic_info_systems/",
42
42
  "email": null
43
43
  },
44
- "notes": "947,045 polygon parcels covering Las Vegas, Henderson, North Las Vegas, Boulder City, and unincorporated Clark County. Verified 2026-05-11: APN LIKE '138%' wildcard query returns parcels. APN is an 11-digit Assessor Parcel Number with no internal punctuation in this layer. No owner-name on this AssessorMapv2/MapServer/1 layer; owner data lives on separate Clark County Assessor systems (paid bulk data subscription). For boundary geometry + APN-based queries, this layer is fully open."
44
+ "notes": "Clark County, Nevada (Las Vegas metro, pop. 2.3M, county seat Las Vegas) contains roughly 73% of Nevada's total population. The AssessorMapv2/MapServer is the public parcel geometry layer published by the Clark County Geographic Information Systems Management Office (GISMO). 947,045 polygon parcels covering Las Vegas, Henderson, North Las Vegas, Boulder City, Mesquite, and unincorporated Clark County. Verified 2026-05-11: APN LIKE '138%' wildcard query returns parcels. APN is an 11-digit Assessor Parcel Number with no internal punctuation in this layer (no dashes or spaces). Layer 1 of AssessorMapv2 is the parcel polygon layer; layer 0 is a label annotation layer. Owner name is NOT on this public REST layer. For owner-name lookups, use the Clark County Assessor's web portal at maps.clarkcountynv.gov/assessor/AssessorParcelDetail/ownr.aspx (search by owner name) or the Real Property Records Search at clarkcountynv.gov/government/assessor/property_search/real-property-records; both are free browser tools. Bulk ownership data from the Assessor requires a paid subscription. GISMO open-data hub: clarkcountygis-ccgismo.hub.arcgis.com."
45
45
  },
46
46
  {
47
47
  "id": "nv-washoe",
@@ -92,7 +92,7 @@
92
92
  "url": "https://explore-washoe.opendata.arcgis.com/",
93
93
  "email": null
94
94
  },
95
- "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."
95
+ "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."
96
96
  }
97
97
  ]
98
98
  }
@@ -36,7 +36,7 @@
36
36
  "url": "https://granit.unh.edu/",
37
37
  "email": null
38
38
  },
39
- "notes": "Same restriction as Hillsborough County. NH GRANIT ParcelMosaic requires authentication. Rockingham County includes Manchester-area suburbs, Salem, Derry, Portsmouth — all relying on municipal-level Vision Government Solutions or AxisGIS portals, none of which expose a standard ArcGIS REST FeatureServer. Monitor granit.unh.edu for any move to open public access; as of 2024 GRANIT updated their statewide mosaic but kept it token-gated."
39
+ "notes": "No token-free public REST endpoint exists for Rockingham County parcel data. The same authentication barrier that blocks Hillsborough County applies here: NH GRANIT's statewide NH Parcel Mosaic (nhgeodata.unh.edu/nhgeodata/rest/services/CAD/ParcelMosiac/MapServer) returns HTTP 499 without a valid GRANIT token. Rockingham is New Hampshire's most populous county (pop. 330,000), covering Portsmouth, Salem, Derry, Londonderry, and the southern tier of Manchester suburbs. Individual municipalities use fragmented vendor solutions -- Vision Government Solutions hosts assessor data for Salem, Derry, and several others; AxisGIS serves Rye, Deerfield, and others -- but none expose a standard queryable ArcGIS FeatureServer. For programmatic owner-level access, a GRANIT account (granit.unh.edu) is required. Regrid covers NH at commercial tier. The Rockingham County Registry of Deeds (ecourt.rockinghamregistry.com) is publicly searchable for recorded instruments but does not expose a REST parcel layer."
40
40
  }
41
41
  ]
42
42
  }