From 00-due-diligence
Looks up BSA variances and special permits for NYC properties by address, BBL, or BIN using PLUTO and BSA public APIs.
npx claudepluginhub alpacalabsllc/skills-for-architects --plugin 00-due-diligenceThis skill is limited to using the following tools:
Look up Board of Standards and Appeals (BSA) applications, variances, and special permits for any NYC property. Records available from 1998 to present. No API key required.
Generates combined NYC property reports from open data: landmarks, DOB permits/violations, ACRIS records, HPD complaints/registration, BSA variances. Input address, BBL, or BIN.
Analyzes zoning envelope rules for NYC lots using PLUTO data and Zoning Resolution. Input address, BBL, or BIN to fetch zoning districts, FAR limits, lot area, and polygon geometry.
Analyzes zoning regulations and generates form-based codes including Euclidean, performance, and transect-based systems. Useful for setbacks, height limits, FAR, use permissions, masterplans, and design-to-regulation translation.
Share bugs, ideas, or general feedback.
Look up Board of Standards and Appeals (BSA) applications, variances, and special permits for any NYC property. Records available from 1998 to present. No API key required.
/nyc-bsa 120 Broadway, Manhattan
/nyc-bsa 1000770001 (BBL)
/nyc-bsa 1001389 (BIN)
Accept one of:
Borough codes: Manhattan=1/MN, Bronx=2/BX, Brooklyn=3/BK, Queens=4/QN, Staten Island=5/SI
Query PLUTO to get BBL, BIN, and building metadata. No API key needed.
By BBL:
https://data.cityofnewyork.us/resource/64uk-42ks.json?bbl={BBL}
By address:
https://data.cityofnewyork.us/resource/64uk-42ks.json?$where=upper(address) LIKE '%{STREET}%'&borough='{BORO_CODE}'&$limit=5
Address normalization: Uppercase, strip unit/apt suffixes. Borough names to codes: Manhattan=MN, Bronx=BX, Brooklyn=BK, Queens=QN, Staten Island=SI. If multiple results, ask the user to pick. If zero, try variations or suggest providing a BBL.
Store from PLUTO: bbl, bin (or bldgbin), address, borough, bldgclass, zonedist1, yearbuilt, ownername, numfloors, lotarea, latitude, longitude.
Parse BBL into: boro (1 digit), block (5 digits zero-padded), lot (4 digits zero-padded).
Query by BBL first:
https://data.cityofnewyork.us/resource/yvxd-uipr.json?$where=bbl='{BBL}'&$order=date DESC
If no results, try address fallback:
https://data.cityofnewyork.us/resource/yvxd-uipr.json?$where=upper(street_name) LIKE '%{STREET}%' AND borough='{BOROUGH}'&$order=date DESC
Key fields: application, section, status, date, street_number, street_name, bbl, borough, decisions_url, project_description
## BSA Variances & Special Permits — {Address}
| Application # | Section | Status | Date | Description | Decisions |
|---------------|---------|--------|------|-------------|-----------|
| {application} | {section} | {status} | YYYY-MM-DD | {project_description} | {decisions_url} |
**Note:** Approved variances remain with the land. Check if conditions affect proposed work.
Source: [BSA Applications](https://data.cityofnewyork.us/City-Government/BSA-Applications-Status/yvxd-uipr)
If no applications found: "No BSA applications found for this property (records from 1998-present)."