---
type: "firecrawl-provider"
description: "New York City property records through NYC Open Data's Socrata SODA API and the Department of City Planning GeoSearch geocoder: resolve an address to BBL/BIN, read the MapPLUTO lot record (owner of record, building class, assessed value, zoning), list and read ACRIS recorded documents (deeds, mortgages, parties), and list DOB permits and DOB/ECB violations by building. Anonymous; no app token."
use_when: "New York City property records through NYC Open Data's Socrata SODA API and the Department of City Planning GeoSearch geocoder: resolve an address to BBL/BIN, read the MapPLUTO lot record (owner of record, building class, assessed value, zoning), list and read ACRIS recorded documents (deeds, mortgages, parties), and list DOB permits and DOB/ECB violations by building. Anonymous; no app token."
categories: "Real estate"
capabilities: 6
credits_per_call: 5
---
# NYC Open Data property records (ACRIS, PLUTO, DOB) on Firecrawl Alexandria

New York City property records through NYC Open Data's Socrata SODA API and the Department of City Planning GeoSearch geocoder: resolve an address to BBL/BIN, read the MapPLUTO lot record (owner of record, building class, assessed value, zoning), list and read ACRIS recorded documents (deeds, mortgages, parties), and list DOB permits and DOB/ECB violations by building. Anonymous; no app token.

- Categories: Real estate
- Category index: [Real estate category](https://firecrawl.dev/alexandria/agents/categories/real-estate)
- Provider key: `data-cityofnewyork-us`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/data-cityofnewyork-us)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/openapi.json)

## Capabilities

- [Acris document](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/acris_document): One recorded ACRIS document by its 16-character document id (or an a836-acris.nyc.gov DocumentDetail URL), assembled from four NYC Open Data SODA datasets: Real Property Master (bnx9-e6tj) for CRFN, type, dates and amount; Real Property Parties (636b-3b5g) for grantor/grantee/mortgagor names and addresses; Real Property Legals (8h5j-fqxa) for the lots it is recorded against; Document Control Codes (7isb-wh4c) to decode the type into a description, class and the meaning of each party slot. An id the Master dataset does not have is `not_found` (the open-data extract lags the live register; the `acris_url` page may already exist); a malformed id is `invalid_input`.
- [Acris documents](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/acris_documents): Recorded ACRIS real-property documents (deeds, mortgages, agreements, liens, ...) against one tax lot, from NYC Open Data: ACRIS Real Property Legals (8h5j-fqxa) filtered by borough/block/lot gives the document ids, then ACRIS Real Property Master (bnx9-e6tj) supplies type, dates, CRFN and amount for that page in one `$where=document_id in(...)` call. Ordered newest first (document ids are date-prefixed; pre-1966 `FT_` microfilm ids sort last). Optional `doc_type` keeps only that ACRIS code (e.g. DEED) within each page; the page still advances through all the lot's documents, so a filtered page may hold fewer than `limit` documents while `next_cursor` is set. Paged with `limit` / `cursor` (row offset into Legals). A lot with no recorded documents but present in PLUTO is a successful empty page; a BBL that neither ACRIS nor PLUTO knows is `not_found`. The open-data extract lags the live City Register by weeks (Master last updated 2026-09-08 at capture); `acris_url` links each document to the authoritative page.
- [Dob permits](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/dob_permits): Permits issued by the Department of Buildings for one building (BIN), from NYC Open Data DOB Permit Issuance (SODA dataset ipu4-2q9a, the BIS system: every construction, plumbing, equipment and demolition permit since 1989, updated daily). Ordered newest job first (`job__ DESC, permit_sequence__ DESC`: job numbers are 9-digit and increase over time; renewals of one job follow the initial permit). Each row is shaped (job number, types, status, ISO dates, permittee and owner business names) and carried whole in `fields`. Paged with `limit` / `cursor`. An empty first page triggers a cross-check of the DOB Violations and ECB Violations datasets for the same BIN: no row anywhere is `not_found` (unknown BIN); a known building with no permits is a successful empty page. DOB NOW filings (post-2020 work filed outside BIS) are not in this dataset.
- [Dob violations](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/dob_violations): Violations against one building (BIN) from NYC Open Data: `kind: dob` reads DOB Violations (SODA 3h2n-5cm9; violations issued by DOB inspectors, with disposition) and `kind: ecb` reads DOB ECB Violations (6bgk-3dad; Environmental Control Board / OATH summonses with hearing status, severity, penalties, amounts paid and balance due). Ordered by `issue_date DESC`. Rows are shaped into one common record (`kind` says which fields apply) and carried whole in `fields`. Paged with `limit` / `cursor`. An empty first page triggers a cross-check of the sibling DOB datasets (permits and the other violation kind) for the same BIN: no row anywhere is `not_found`; a known building with no violations of that kind is a successful empty page.
- [Property](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/property): The MapPLUTO tax-lot record for one BBL from NYC Open Data (SODA dataset 64uk-42ks, Department of City Planning): owner of record (`owner_name`, `owner_type`), address, building class, land use, year built and altered, floors, units, lot and building areas (sq ft), Department of Finance assessed land/total values (USD), zoning districts, landmark status, community and council districts, coordinates and the PLUTO release version. `pluto` carries the complete row exactly as published (all ~90 columns, strings). An unknown or retired BBL (SODA answers `[]`) is `not_found`; a malformed BBL is `invalid_input`. Links: `acris_url` opens the ACRIS document search pre-scoped to the lot.
- [Resolve address](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/resolve_address): Resolve a free-text NYC address to its Borough-Block-Lot (BBL) and Building Identification Number (BIN) with the Department of City Planning's GeoSearch API (https://geosearch.planninglabs.nyc/v2/search, a Pelias geocoder over the Property Address Directory). Returns up to `limit` candidate matches ordered by GeoSearch relevance, each with the normalized address, borough, ZIP, coordinates and the PAD `bbl` / `bin` that key every other function of this program. Zero matches is a successful empty result (`count: 0`), not an error. Anonymous, no token.

## 1. Choose this provider when

New York City property records through NYC Open Data's Socrata SODA API and the Department of City Planning GeoSearch geocoder: resolve an address to BBL/BIN, read the MapPLUTO lot record (owner of record, building class, assessed value, zoning), list and read ACRIS recorded documents (deeds, mortgages, parties), and list DOB permits and DOB/ECB violations by building. Anonymous; no app token.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "data-cityofnewyork-us",
  "capability": "property-records/acris_document",
  "options": {
    "document_id": "2013100700087001"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `document_id` (string, required): ACRIS document id: 16 digits (`2013100700087001`), `FT_` + 13 digits, or the ACRIS DocumentDetail URL carrying `doc_id=`. Example: `2013100700087001`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "data-cityofnewyork-us",
    capability: "property-records/acris_document",
    options: {
      document_id: "2013100700087001",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "data-cityofnewyork-us",
  "capability": "property-records/acris_document",
  "options": {
    "document_id": "2013100700087001"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "data-cityofnewyork-us",
    "capability": "property-records/acris_document",
    "options": {
      "document_id": "2013100700087001"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'data-cityofnewyork-us/property-records/acris_document' \
  --options '{"document_id":"2013100700087001"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "data-cityofnewyork-us",
  "capability": "property-records/acris_document",
  "options": {
    "document_id": "2013100700087001"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "data-cityofnewyork-us",
  "capability": "property-records/acris_document",
  "options": {
    "document_id": "2013100700087001"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "acris_url": "https://a836-acris.nyc.gov/DS/DocumentSearch/DocumentDetail?doc_id=2013100700087001",
  "crfn": "2013000417277",
  "doc_class": "DEEDS AND OTHER CONVEYANCES",
  "doc_type": "DEED",
  "doc_type_description": "DEED",
  "document_amount_usd": 111045119,
  "document_date": "2013-10-07",
  "document_id": "2013100700087001",
  "good_through_date": "2015-07-31",
  "modified_date": "2013-10-08",
  "observed_at_ms": 1790101478439,
  "parcel_count": 1,
  "parcels": [
    {
      "air_rights": false,
      "bbl": "1008350041",
      "block": 835,
      "borough": 1,
      "easement": false,
      "good_through_date": "2015-07-31",
      "lot": 41,
      "partial_lot": "E",
      "property_type": "OF",
      "street_name": "5TH AVENUE",
      "street_number": "350",
      "subterranean_rights": false,
      "unit": null
    }
  ],
  "parties": [
    {
      "address_1": "C/O MALKIN HOLDINGS LLC",
      "address_2": "ONE GRAND CENTRAL PLACE, 60 EAST 42ND STREET",
      "city": "NEW YORK",
      "country": "US",
      "good_through_date": "2015-07-31",
      "name": "EMPIRE STATE LAND ASSOCIATES L.L.C.",
      "party_type": 1,
      "role": "GRANTOR/SELLER",
      "state": "NY",
      "zip": "10165"
    },
    {
      "address_1": "C/O EMPIRE STATE REALTY TRUST, INC.",
      "address_2": "ONE GRAND CENTRAL PLACE, 60 EAST 42ND STREET",
      "city": "NEW YORK",
      "country": "US",
      "good_through_date": "2015-07-31",
      "name": "ESRT EMPIRE STATE BUILDING, L.L.C.",
      "party_type": 2,
      "role": "GRANTEE/BUYER",
      "state": "NY",
      "zip": "10165"
    }
  ],
  "party_count": 2,
  "percent_transferred": 100,
  "recorded_borough": 1,
  "recorded_datetime": "2013-10-08",
  "reel_number": 0,
  "reel_page": 0,
  "reel_year": 0,
  "source_urls": [
    "https://data.cityofnewyork.us/resource/bnx9-e6tj.json?document_id=2013100700087001&%24limit=2",
    "https://data.cityofnewyork.us/resource/636b-3b5g.json?document_id=2013100700087001&%24order=party_type%2Cname&%24limit=500",
    "https://data.cityofnewyork.us/resource/8h5j-fqxa.json?document_id=2013100700087001&%24order=borough%2Cblock%2Clot&%24limit=500",
    "https://data.cityofnewyork.us/resource/7isb-wh4c.json?doc__type=DEED&%24limit=2"
  ]
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Acris document

- Capability: `property-records/acris_document`
- Description: One recorded ACRIS document by its 16-character document id (or an a836-acris.nyc.gov DocumentDetail URL), assembled from four NYC Open Data SODA datasets: Real Property Master (bnx9-e6tj) for CRFN, type, dates and amount; Real Property Parties (636b-3b5g) for grantor/grantee/mortgagor names and addresses; Real Property Legals (8h5j-fqxa) for the lots it is recorded against; Document Control Codes (7isb-wh4c) to decode the type into a description, class and the meaning of each party slot. An id the Master dataset does not have is `not_found` (the open-data extract lags the live register; the `acris_url` page may already exist); a malformed id is `invalid_input`.
- Instructions: Who sold to whom, for how much, on which lots, for a document id returned by `acris_documents`.
- Cost: 5 credits per call
- Capability file: [Acris document](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/acris_document)

Accepted options:
- `document_id` (string, required): ACRIS document id: 16 digits (`2013100700087001`), `FT_` + 13 digits, or the ACRIS DocumentDetail URL carrying `doc_id=`. Example: `2013100700087001`

Response schema example:
```json
{
  "acris_url": "https://a836-acris.nyc.gov/DS/DocumentSearch/DocumentDetail?doc_id=2013100700087001",
  "crfn": "2013000417277",
  "doc_class": "DEEDS AND OTHER CONVEYANCES",
  "doc_type": "DEED",
  "doc_type_description": "DEED",
  "document_amount_usd": 111045119,
  "document_date": "2013-10-07",
  "document_id": "2013100700087001",
  "good_through_date": "2015-07-31",
  "modified_date": "2013-10-08",
  "observed_at_ms": 1790101478439,
  "parcel_count": 1,
  "parcels": [
    {
      "air_rights": false,
      "bbl": "1008350041",
      "block": 835,
      "borough": 1,
      "easement": false,
      "good_through_date": "2015-07-31",
      "lot": 41,
      "partial_lot": "E",
      "property_type": "OF",
      "street_name": "5TH AVENUE",
      "street_number": "350",
      "subterranean_rights": false,
      "unit": null
    }
  ],
  "parties": [
    {
      "address_1": "C/O MALKIN HOLDINGS LLC",
      "address_2": "ONE GRAND CENTRAL PLACE, 60 EAST 42ND STREET",
      "city": "NEW YORK",
      "country": "US",
      "good_through_date": "2015-07-31",
      "name": "EMPIRE STATE LAND ASSOCIATES L.L.C.",
      "party_type": 1,
      "role": "GRANTOR/SELLER",
      "state": "NY",
      "zip": "10165"
    },
    {
      "address_1": "C/O EMPIRE STATE REALTY TRUST, INC.",
      "address_2": "ONE GRAND CENTRAL PLACE, 60 EAST 42ND STREET",
      "city": "NEW YORK",
      "country": "US",
      "good_through_date": "2015-07-31",
      "name": "ESRT EMPIRE STATE BUILDING, L.L.C.",
      "party_type": 2,
      "role": "GRANTEE/BUYER",
      "state": "NY",
      "zip": "10165"
    }
  ],
  "party_count": 2,
  "percent_transferred": 100,
  "recorded_borough": 1,
  "recorded_datetime": "2013-10-08",
  "reel_number": 0,
  "reel_page": 0,
  "reel_year": 0,
  "source_urls": [
    "https://data.cityofnewyork.us/resource/bnx9-e6tj.json?document_id=2013100700087001&%24limit=2",
    "https://data.cityofnewyork.us/resource/636b-3b5g.json?document_id=2013100700087001&%24order=party_type%2Cname&%24limit=500",
    "https://data.cityofnewyork.us/resource/8h5j-fqxa.json?document_id=2013100700087001&%24order=borough%2Cblock%2Clot&%24limit=500",
    "https://data.cityofnewyork.us/resource/7isb-wh4c.json?doc__type=DEED&%24limit=2"
  ]
}
```

### Acris documents

- Capability: `property-records/acris_documents`
- Description: Recorded ACRIS real-property documents (deeds, mortgages, agreements, liens, ...) against one tax lot, from NYC Open Data: ACRIS Real Property Legals (8h5j-fqxa) filtered by borough/block/lot gives the document ids, then ACRIS Real Property Master (bnx9-e6tj) supplies type, dates, CRFN and amount for that page in one `$where=document_id in(...)` call. Ordered newest first (document ids are date-prefixed; pre-1966 `FT_` microfilm ids sort last). Optional `doc_type` keeps only that ACRIS code (e.g. DEED) within each page; the page still advances through all the lot's documents, so a filtered page may hold fewer than `limit` documents while `next_cursor` is set. Paged with `limit` / `cursor` (row offset into Legals). A lot with no recorded documents but present in PLUTO is a successful empty page; a BBL that neither ACRIS nor PLUTO knows is `not_found`. The open-data extract lags the live City Register by weeks (Master last updated 2026-09-08 at capture); `acris_url` links each document to the authoritative page.
- Instructions: Sales and deed history, mortgages and other recorded instruments for a parcel by BBL. Follow with `acris_document` for parties (grantor/grantee) and the decoded document type.
- Cost: 5 credits per call
- Capability file: [Acris documents](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/acris_documents)

Accepted options:
- `bbl` (string, required): Borough-Block-Lot: the 10-digit form `1008350041` (borough 1-5, 5-digit block, 4-digit lot) or `1-835-41` / `1/835/41`. Example: `1008350041`
- `cursor` (string): Row offset to resume from: the `next_cursor` of the previous page. Pattern: ^[0-9]{1,9}$. Example: `next_cursor`
- `doc_type` (string): ACRIS document type code to keep, e.g. `DEED`, `MTGE`, `AGMT`, `SAT`, `UCC1`. Case-insensitive. Pattern: ^[A-Za-z0-9 ,&/._-]+$. Example: `<doc_type>`
- `limit` (number): Legals rows per page (1-100, default 25). Example: `25`

Response schema example:
```json
{
  "acris_search_url": "https://a836-acris.nyc.gov/DS/DocumentSearch/BBL?borough=1&block=835&lot=41",
  "bbl": "1008350041",
  "block": 835,
  "borough": 1,
  "count": 1,
  "data_last_modified": "Tue, 08 Sep 2026 19:31:02 GMT",
  "doc_type_filter": "DEED",
  "documents": [
    {
      "acris_url": "https://a836-acris.nyc.gov/DS/DocumentSearch/DocumentDetail?doc_id=2013100700087001",
      "crfn": "2013000417277",
      "doc_type": "DEED",
      "document_amount_usd": 111045119,
      "document_date": "2013-10-07",
      "document_id": "2013100700087001",
      "master_found": true,
      "parcels": [
        {
          "air_rights": false,
          "bbl": "1008350041",
          "block": 835,
          "borough": 1,
          "easement": false,
          "good_through_date": "2015-07-31",
          "lot": 41,
          "partial_lot": "E",
          "property_type": "OF",
          "street_name": "5TH AVENUE",
          "street_number": "350",
          "subterranean_rights": false,
          "unit": null
        }
      ],
      "percent_transferred": 100,
      "recorded_borough": 1,
      "recorded_datetime": "2013-10-08"
    }
  ],
  "limit": 100,
  "lot": 41,
  "next_cursor": "100",
  "observed_at_ms": 1790101600253,
  "offset": 0,
  "source_urls": [
    "https://data.cityofnewyork.us/resource/8h5j-fqxa.json?borough=1&block=835&lot=41&%24order=starts_with%28document_id%2C+%27FT_%27%29+ASC%2C+document_id+DESC&%24limit=100&%24offset=0",
    "https://data.cityofnewyork.us/resource/bnx9-e6tj.json?%24where=document_id+in%28%272024062700832001%27%2C%272018121901035001%27%2C%272017071900208001%27%2C%272015012901083001%27%2C%272014091700805001%27%2C%272014061901361001%27%2C%272013101801311001%27%2C%272013101800339004%27%2C%272013101800339003%27%2C%272013101800339002%27%2C%272013101800339001%27%2C%272013101701442001%27%2C%272013101700510006%27%2C%272013101700510005%27%2C%272013101700510004%27%2C%272013101700510003%27%2C%272013101700510002%27%2C%272013101700510001%27%2C%272013100700087004%27%2C%272013100700087003%27%2C%272013100700087002%27%2C%272013100700087001%27%2C%272013092000883001%27%2C%272013091000735007%27%2C%272013091000735006%27%2C%272013091000735005%27%2C%272013091000735004%27%2C%272013091000735003%27%2C%272013091000735002%27%2C%272013091000735001%27%2C%272013031201548007%27%2C%272013031201548006%27%2C%272013031201548005%27%2C%272013031201548004%27%2C%272013031201548003%27%2C%272013031201548002%27%2C%272013031201548001%27%2C%272012072100035007%27%2C%272012072100035006%27%2C%272012072100035005%27%2C%272012072100035004%27%2C%272012072100035003%27%2C%272012072100035002%27%2C%272012072100035001%27%2C%272012050100464001%27%2C%272012041600990007%27%2C%272012041600990006%27%2C%272012041600990005%27%2C%272012041600990004%27%2C%272012041600990003%27%2C%272012041600990002%27%2C%272012041600990001%27%2C%272012041301086001%27%2C%272011122101443003%27%2C%272011122101443002%27%2C%272011122101443001%27%2C%272011080600090017%27%2C%272011080600090016%27%2C%272011080600090015%27%2C%272011080600090014%27%2C%272011080600090013%27%2C%272011080600090012%27%2C%272011080600090011%27%2C%272011080600090010%27%2C%272011080600090009%27%2C%272011080600090008%27%2C%272011080600090006%27%2C%272011080600090005%27%2C%272011080600090002%27%2C%272011080600090001%27%2C%272011050300156001%27%2C%272011011300287001%27%2C%272010070100724002%27%2C%272010070100724001%27%2C%272009121700420002%27%2C%272009121700420001%27%2C%272009111700084004%27%2C%272009111700084003%27%2C%272009111700084002%27%2C%272009111700084001%27%2C%272009030301151001%27%2C%272009030200646004%27%2C%272009030200646003%27%2C%272009030200646002%27%2C%272009030200646001%27%2C%272009012901179002%27%2C%272008072101573003%27%2C%272008072101573002%27%2C%272008072101573001%27%2C%272008071400153003%27%2C%272008071400153002%27%2C%272008071400153001%27%2C%272008060300164001%27%2C%272008022800402002%27%2C%272008022800402001%27%2C%272008020800564002%27%2C%272008020800564001%27%2C%272007111301467001%27%2C%272007110801516003%27%29+AND+doc_type%3D%27DEED%27&%24limit=99"
  ]
}
```

### Dob permits

- Capability: `property-records/dob_permits`
- Description: Permits issued by the Department of Buildings for one building (BIN), from NYC Open Data DOB Permit Issuance (SODA dataset ipu4-2q9a, the BIS system: every construction, plumbing, equipment and demolition permit since 1989, updated daily). Ordered newest job first (`job__ DESC, permit_sequence__ DESC`: job numbers are 9-digit and increase over time; renewals of one job follow the initial permit). Each row is shaped (job number, types, status, ISO dates, permittee and owner business names) and carried whole in `fields`. Paged with `limit` / `cursor`. An empty first page triggers a cross-check of the DOB Violations and ECB Violations datasets for the same BIN: no row anywhere is `not_found` (unknown BIN); a known building with no permits is a successful empty page. DOB NOW filings (post-2020 work filed outside BIS) are not in this dataset.
- Instructions: Construction, alteration, plumbing or demolition permit history for a building once you have its BIN (from `resolve_address`).
- Cost: 5 credits per call
- Capability file: [Dob permits](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/dob_permits)

Accepted options:
- `bin` (string, required): 7-digit DOB Building Identification Number, e.g. `1015862` (first digit is the borough 1-5). Get it from `resolve_address`. Pattern: ^[1-5][0-9]{6}$. Example: `1015862`
- `cursor` (string): Row offset to resume from: the `next_cursor` of the previous page. Pattern: ^[0-9]{1,9}$. Example: `next_cursor`
- `limit` (number): Permits per page (1-100, default 25). Example: `25`

Response schema example:
```json
{
  "bin": "1015862",
  "count": 5,
  "data_last_modified": "Mon, 21 Sep 2026 23:14:36 GMT",
  "limit": 5,
  "next_cursor": "5",
  "observed_at_ms": 1790101493023,
  "offset": 0,
  "permits": [
    {
      "bbl": "1008350041",
      "block": "00835",
      "borough": "MANHATTAN",
      "dob_run_date": "2026-09-21T00:00:00.000",
      "expiration_date": "2022-11-12",
      "fields": {
        "bbl": "1008350041",
        "bin__": "1015862",
        "bldg_type": "2",
        "block": "00835",
        "borough": "MANHATTAN",
        "community_board": "105",
        "dobrundate": "2026-09-21T00:00:00.000",
        "expiration_date": "11/12/2022",
        "filing_date": "11/01/2021",
        "filing_status": "RENEWAL",
        "gis_census_tract": "76",
        "gis_council_district": "04",
        "gis_latitude": "40.747878",
        "gis_longitude": "-73.984979",
        "gis_nta_name": "Midtown South-Flatiron-Union Square",
        "house__": "350",
        "issuance_date": "11/01/2021",
        "job__": "140976889",
        "job_doc___": "01",
        "job_start_date": "12/07/2020",
        "job_type": "A2",
        "lot": "00041",
        "non_profit": "N",
        "owner_s_business_name": "EMPIRE STATE REALTY TRUST",
        "owner_s_business_type": "PARTNERSHIP",
        "permit_sequence__": "02",
        "permit_si_no": "3878792",
        "permit_status": "ISSUED",
        "permit_subtype": "OT",
        "permit_type": "EW",
        "permittee_s_business_name": "MDB DEVELOPMENT CORP",
        "permittee_s_license__": "0007620",
        "permittee_s_license_type": "GC",
        "self_cert": "Y",
        "site_fill": "NOT APPLICABLE",
        "special_district_1": "MID",
        "street_name": "FIFTH AVENUE",
        "work_type": "OT",
        "zip_code": "10118"
      },
      "filing_date": "2021-11-01",
      "filing_status": "RENEWAL",
      "house_number": "350",
      "issuance_date": "2021-11-01",
      "job_doc_number": "01",
      "job_number": "140976889",
      "job_start_date": "2020-12-07",
      "job_type": "A2",
      "lot": "00041",
      "non_profit": false,
      "owner_business_name": "EMPIRE STATE REALTY TRUST",
      "owner_business_type": "PARTNERSHIP",
      "permit_sequence": "02",
      "permit_si_no": "3878792",
      "permit_status": "ISSUED",
      "permit_subtype": "OT",
      "permit_type": "EW",
      "permittee_business_name": "MDB DEVELOPMENT CORP",
      "permittee_license_type": "GC",
      "self_cert": true,
      "street_name": "FIFTH AVENUE",
      "work_type": "OT",
      "zip_code": "10118"
    },
    {
      "bbl": "1008350041",
      "block": "00835",
      "borough": "MANHATTAN",
      "dob_run_date": "2026-09-21T00:00:00.000",
      "expiration_date": "2021-04-29",
      "fields": {
        "bbl": "1008350041",
        "bin__": "1015862",
        "bldg_type": "2",
        "block": "00835",
        "borough": "MANHATTAN",
        "community_board": "105",
        "dobrundate": "2026-09-21T00:00:00.000",
        "expiration_date": "04/29/2021",
        "filing_date": "12/07/2020",
        "filing_status": "INITIAL",
        "gis_census_tract": "76",
        "gis_council_district": "04",
        "gis_latitude": "40.747878",
        "gis_longitude": "-73.984979",
        "gis_nta_name": "Midtown South-Flatiron-Union Square",
        "house__": "350",
        "issuance_date": "12/07/2020",
        "job__": "140976889",
        "job_doc___": "01",
        "job_start_date": "12/07/2020",
        "job_type": "A2",
        "lot": "00041",
        "non_profit": "N",
        "owner_s_business_name": "EMPIRE STATE REALTY TRUST",
        "owner_s_business_type": "PARTNERSHIP",
        "permit_sequence__": "01",
        "permit_si_no": "3812058",
        "permit_status": "ISSUED",
        "permit_subtype": "OT",
        "permit_type": "EW",
        "permittee_s_business_name": "MDB DEVELOPMENT CORP",
        "permittee_s_license__": "0007620",
        "permittee_s_license_type": "GC",
        "self_cert": "Y",
        "site_fill": "NOT APPLICABLE",
        "special_district_1": "MID",
        "street_name": "FIFTH AVENUE",
        "work_type": "OT",
        "zip_code": "10118"
      },
      "filing_date": "2020-12-07",
      "filing_status": "INITIAL",
      "house_number": "350",
      "issuance_date": "2020-12-07",
      "job_doc_number": "01",
      "job_number": "140976889",
      "job_start_date": "2020-12-07",
      "job_type": "A2",
      "lot": "00041",
      "non_profit": false,
      "owner_business_name": "EMPIRE STATE REALTY TRUST",
      "owner_business_type": "PARTNERSHIP",
      "permit_sequence": "01",
      "permit_si_no": "3812058",
      "permit_status": "ISSUED",
      "permit_subtype": "OT",
      "permit_type": "EW",
      "permittee_business_name": "MDB DEVELOPMENT CORP",
      "permittee_license_type": "GC",
      "self_cert": true,
      "street_name": "FIFTH AVENUE",
      "work_type": "OT",
      "zip_code": "10118"
    },
    {
      "bbl": "1008350041",
      "block": "00835",
      "borough": "MANHATTAN",
      "dob_run_date": "2026-09-21T00:00:00.000",
      "expiration_date": "2021-07-01",
      "fields": {
        "bbl": "1008350041",
        "bin__": "1015862",
        "bldg_type": "2",
        "block": "00835",
        "borough": "MANHATTAN",
        "community_board": "105",
        "dobrundate": "2026-09-21T00:00:00.000",
        "expiration_date": "07/01/2021",
        "filing_date": "10/22/2020",
        "filing_status": "INITIAL",
        "gis_census_tract": "76",
        "gis_council_district": "04",
        "gis_latitude": "40.747878",
        "gis_longitude": "-73.984979",
        "gis_nta_name": "Midtown South-Flatiron-Union Square",
        "house__": "350",
        "issuance_date": "10/22/2020",
        "job__": "140947992",
        "job_doc___": "01",
        "job_start_date": "10/22/2020",
        "job_type": "A2",
        "lot": "00041",
        "non_profit": "N",
        "owner_s_business_name": "EMPIRE STATE REALTY TRUST",
        "owner_s_business_type": "PARTNERSHIP",
        "permit_sequence__": "01",
        "permit_si_no": "3799574",
        "permit_status": "ISSUED",
        "permit_subtype": "OT",
        "permit_type": "EW",
        "permittee_s_business_name": "A.W. & S. CONSTRUCTION CO",
        "permittee_s_license__": "0002920",
        "permittee_s_license_type": "GC",
        "self_cert": "Y",
        "site_fill": "NOT APPLICABLE",
        "special_district_1": "MID",
        "street_name": "FIFTH AVENUE",
        "work_type": "OT",
        "zip_code": "10118"
      },
      "filing_date": "2020-10-22",
      "filing_status": "INITIAL",
      "house_number": "350",
      "issuance_date": "2020-10-22",
      "job_doc_number": "01",
      "job_number": "140947992",
      "job_start_date": "2020-10-22",
      "job_type": "A2",
      "lot": "00041",
      "non_profit": false,
      "owner_business_name": "EMPIRE STATE REALTY TRUST",
      "owner_business_type": "PARTNERSHIP",
      "permit_sequence": "01",
      "permit_si_no": "3799574",
      "permit_status": "ISSUED",
      "permit_subtype": "OT",
      "permit_type": "EW",
      "permittee_business_name": "A.W. & S. CONSTRUCTION CO",
      "permittee_license_type": "GC",
      "self_cert": true,
      "street_name": "FIFTH AVENUE",
      "work_type": "OT",
      "zip_code": "10118"
    },
    {
      "bbl": "1008350041",
      "block": "00835",
      "borough": "MANHATTAN",
      "dob_run_date": "2026-09-21T00:00:00.000",
      "expiration_date": "2021-08-22",
      "fields": {
        "bbl": "1008350041",
        "bin__": "1015862",
        "bldg_type": "2",
        "block": "00835",
        "borough": "MANHATTAN",
        "community_board": "105",
        "dobrundate": "2026-09-21T00:00:00.000",
        "expiration_date": "08/22/2021",
        "filing_date": "09/17/2020",
        "filing_status": "INITIAL",
        "gis_census_tract": "76",
        "gis_council_district": "04",
        "gis_latitude": "40.747878",
        "gis_longitude": "-73.984979",
        "gis_nta_name": "Midtown South-Flatiron-Union Square",
        "house__": "350",
        "issuance_date": "09/21/2020",
        "job__": "140946822",
        "job_doc___": "01",
        "job_start_date": "09/21/2020",
        "job_type": "A2",
        "lot": "00041",
        "non_profit": "N",
        "owner_s_business_name": "EMPIRE STATE REALTY TRUST",
        "owner_s_business_type": "PARTNERSHIP",
        "permit_sequence__": "01",
        "permit_si_no": "3790014",
        "permit_status": "ISSUED",
        "permit_subtype": "OT",
        "permit_type": "EW",
        "permittee_s_business_name": "CROSS MANAGEMENT CORP",
        "permittee_s_license__": "0027399",
        "permittee_s_license_type": "GC",
        "self_cert": "Y",
        "site_fill": "NOT APPLICABLE",
        "special_district_1": "MID",
        "street_name": "FIFTH AVENUE",
        "work_type": "OT",
        "zip_code": "10118"
      },
      "filing_date": "2020-09-17",
      "filing_status": "INITIAL",
      "house_number": "350",
      "issuance_date": "2020-09-21",
      "job_doc_number": "01",
      "job_number": "140946822",
      "job_start_date": "2020-09-21",
      "job_type": "A2",
      "lot": "00041",
      "non_profit": false,
      "owner_business_name": "EMPIRE STATE REALTY TRUST",
      "owner_business_type": "PARTNERSHIP",
      "permit_sequence": "01",
      "permit_si_no": "3790014",
      "permit_status": "ISSUED",
      "permit_subtype": "OT",
      "permit_type": "EW",
      "permittee_business_name": "CROSS MANAGEMENT CORP",
      "permittee_license_type": "GC",
      "self_cert": true,
      "street_name": "FIFTH AVENUE",
      "work_type": "OT",
      "zip_code": "10118"
    },
    {
      "bbl": "1008350041",
      "block": "00835",
      "borough": "MANHATTAN",
      "dob_run_date": "2026-09-21T00:00:00.000",
      "expiration_date": "2021-05-02",
      "fields": {
        "bbl": "1008350041",
        "bin__": "1015862",
        "bldg_type": "2",
        "block": "00835",
        "borough": "MANHATTAN",
        "community_board": "105",
        "dobrundate": "2026-09-21T00:00:00.000",
        "expiration_date": "05/02/2021",
        "filing_date": "09/14/2020",
        "filing_status": "INITIAL",
        "gis_census_tract": "76",
        "gis_council_district": "04",
        "gis_latitude": "40.747878",
        "gis_longitude": "-73.984979",
        "gis_nta_name": "Midtown South-Flatiron-Union Square",
        "house__": "350",
        "issuance_date": "09/14/2020",
        "job__": "140943647",
        "job_doc___": "01",
        "job_start_date": "09/14/2020",
        "job_type": "A2",
        "lot": "00041",
        "non_profit": "N",
        "owner_s_business_name": "EMPIRE STATE REALTY TRUST",
        "owner_s_business_type": "PARTNERSHIP",
        "permit_sequence__": "01",
        "permit_si_no": "3789234",
        "permit_status": "ISSUED",
        "permit_subtype": "OT",
        "permit_type": "EW",
        "permittee_s_business_name": "TRULINE CONSTRUCTION SERV",
        "permittee_s_license__": "0617346",
        "permittee_s_license_type": "GC",
        "self_cert": "Y",
        "site_fill": "NOT APPLICABLE",
        "special_district_1": "MID",
        "street_name": "FIFTH AVENUE",
        "work_type": "OT",
        "zip_code": "10118"
      },
      "filing_date": "2020-09-14",
      "filing_status": "INITIAL",
      "house_number": "350",
      "issuance_date": "2020-09-14",
      "job_doc_number": "01",
      "job_number": "140943647",
      "job_start_date": "2020-09-14",
      "job_type": "A2",
      "lot": "00041",
      "non_profit": false,
      "owner_business_name": "EMPIRE STATE REALTY TRUST",
      "owner_business_type": "PARTNERSHIP",
      "permit_sequence": "01",
      "permit_si_no": "3789234",
      "permit_status": "ISSUED",
      "permit_subtype": "OT",
      "permit_type": "EW",
      "permittee_business_name": "TRULINE CONSTRUCTION SERV",
      "permittee_license_type": "GC",
      "self_cert": true,
      "street_name": "FIFTH AVENUE",
      "work_type": "OT",
      "zip_code": "10118"
    }
  ],
  "source_urls": [
    "https://data.cityofnewyork.us/resource/ipu4-2q9a.json?bin__=1015862&%24order=job__+DESC%2Cpermit_sequence__+DESC%2Cpermit_si_no+DESC&%24limit=5&%24offset=0"
  ]
}
```

### Dob violations

- Capability: `property-records/dob_violations`
- Description: Violations against one building (BIN) from NYC Open Data: `kind: dob` reads DOB Violations (SODA 3h2n-5cm9; violations issued by DOB inspectors, with disposition) and `kind: ecb` reads DOB ECB Violations (6bgk-3dad; Environmental Control Board / OATH summonses with hearing status, severity, penalties, amounts paid and balance due). Ordered by `issue_date DESC`. Rows are shaped into one common record (`kind` says which fields apply) and carried whole in `fields`. Paged with `limit` / `cursor`. An empty first page triggers a cross-check of the sibling DOB datasets (permits and the other violation kind) for the same BIN: no row anywhere is `not_found`; a known building with no violations of that kind is a successful empty page.
- Instructions: Open or resolved DOB violations, ECB/OATH summonses and outstanding penalties for a building by BIN.
- Cost: 5 credits per call
- Capability file: [Dob violations](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/dob_violations)

Accepted options:
- `bin` (string, required): 7-digit DOB Building Identification Number, e.g. `1015862` (first digit is the borough 1-5). Get it from `resolve_address`. Pattern: ^[1-5][0-9]{6}$. Example: `1015862`
- `cursor` (string): Row offset to resume from: the `next_cursor` of the previous page. Pattern: ^[0-9]{1,9}$. Example: `next_cursor`
- `kind` (string): dob: DOB Violations (3h2n-5cm9); ecb: ECB/OATH violations (6bgk-3dad). Example: `dob`
- `limit` (number): Violations per page (1-100, default 25). Example: `25`

Response schema example:
```json
{
  "bin": "1015862",
  "count": 5,
  "data_last_modified": "Tue, 22 Sep 2026 17:23:26 GMT",
  "dataset_id": "6bgk-3dad",
  "kind": "ecb",
  "limit": 5,
  "next_cursor": "5",
  "observed_at_ms": 1790101501354,
  "offset": 0,
  "source_urls": [
    "https://data.cityofnewyork.us/resource/6bgk-3dad.json?bin=1015862&%24order=issue_date+DESC%2Cisn_dob_bis_extract&%24limit=5&%24offset=0"
  ],
  "violations": [
    {
      "amount_paid_usd": 1250,
      "balance_due_usd": 0,
      "block": "00835",
      "category_or_status": "RESOLVE",
      "certification_status": "CERTIFICATE ACCEPTED",
      "description": "HOIST CABLES DAMAGED. DURING TRAVEL IN THE DOWN DIRECTION THE HOIST ROPES CROSSED CAUSING THE ELEVATOR TO SHUT DOWN. HOIST ROPES NEED TO BE REPLACED AND INSPECTION BY BY A NYCDOB ELEVATOR INSPECTOR AND TEST WEI",
      "device_number": null,
      "disposition_comments": null,
      "disposition_date": null,
      "fields": {
        "aggravated_level": "NO",
        "amount_paid": "1250",
        "balance_due": "0",
        "bin": "1015862",
        "block": "00835",
        "boro": "1",
        "certification_status": "CERTIFICATE ACCEPTED",
        "ecb_violation_number": "39107427M",
        "ecb_violation_status": "RESOLVE",
        "hearing_date": "20240509",
        "hearing_status": "ADMIT/IN-VIO",
        "hearing_time": "830",
        "infraction_code1": "151",
        "isn_dob_bis_extract": "1572407",
        "issue_date": "20240301",
        "lot": "0041",
        "penality_imposed": "1250",
        "respondent_city": "NEW YORK",
        "respondent_house_number": "111",
        "respondent_name": "ESRT EMPIRE STATE BUILDIN",
        "respondent_street": "WEST   33 STREET",
        "respondent_zip": "10001",
        "section_law_description1": "28-301.1                                                                    FAILURE TO MAINTAIN BUILDING IN CODE COMPLIANT MANNER: SERVICE EQUIPME",
        "served_date": "20240301",
        "severity": "CLASS - 1",
        "violation_description": "HOIST CABLES DAMAGED. DURING TRAVEL IN THE DOWN DIRECTION THE HOIST ROPES CROSSED CAUSING THE ELEVATOR TO SHUT DOWN. HOIST ROPES NEED TO BE REPLACED AND INSPECTION BY BY A NYCDOB ELEVATOR INSPECTOR AND TEST WEI",
        "violation_type": "Elevators"
      },
      "hearing_date": "2024-05-09",
      "hearing_status": "ADMIT/IN-VIO",
      "house_number": "111",
      "infraction_codes": [
        {
          "code": "151",
          "section_law_description": "28-301.1 FAILURE TO MAINTAIN BUILDING IN CODE COMPLIANT MANNER: SERVICE EQUIPME"
        }
      ],
      "isn": "1572407",
      "issue_date": "2024-03-01",
      "kind": "ecb",
      "lot": "0041",
      "penalty_imposed_usd": 1250,
      "related_number": null,
      "respondent_name": "ESRT EMPIRE STATE BUILDIN",
      "severity": "CLASS - 1",
      "street": "WEST   33 STREET",
      "violation_number": "39107427M",
      "violation_type": "Elevators",
      "violation_type_code": null
    },
    {
      "amount_paid_usd": 0,
      "balance_due_usd": 0,
      "block": "00835",
      "category_or_status": "RESOLVE",
      "certification_status": "N/A - DISMISSED",
      "description": "FAILURE TO NOTIFY THE DEPT. OF AN ACCIDENT/INCIDENT THAT RESULTED IN AFATALITY OR AN INJURY.NOTE:A WORKER WERE INJURED WHEN USING A MANLIFT TO WORK ON THE DUCT.WHEN HIS HAND SLIPPED & THE SHARP EDGE OF THE DUCT",
      "device_number": null,
      "disposition_comments": null,
      "disposition_date": null,
      "fields": {
        "aggravated_level": "NO",
        "amount_paid": "0",
        "balance_due": "0",
        "bin": "1015862",
        "block": "00835",
        "boro": "1",
        "certification_status": "N/A - DISMISSED",
        "dob_violation_number": "04182022CE05IH18",
        "ecb_violation_number": "35646458M",
        "ecb_violation_status": "RESOLVE",
        "hearing_date": "20220728",
        "hearing_status": "DISMISSED",
        "hearing_time": "830",
        "infraction_code1": "1M7",
        "isn_dob_bis_extract": "962073",
        "issue_date": "20220418",
        "lot": "0041",
        "penality_imposed": "0",
        "respondent_city": "MAN",
        "respondent_house_number": "8",
        "respondent_name": "CROSS MANAGEMENT CORP",
        "respondent_street": "EAST   40 STREET",
        "respondent_zip": "10016",
        "served_date": "20220428",
        "severity": "CLASS - 1",
        "violation_description": "FAILURE TO NOTIFY THE DEPT. OF AN ACCIDENT/INCIDENT THAT RESULTED IN AFATALITY OR AN INJURY.NOTE:A WORKER WERE INJURED WHEN USING A MANLIFT TO WORK ON THE DUCT.WHEN HIS HAND SLIPPED & THE SHARP EDGE OF THE DUCT",
        "violation_type": "Unknown"
      },
      "hearing_date": "2022-07-28",
      "hearing_status": "DISMISSED",
      "house_number": "8",
      "infraction_codes": [
        {
          "code": "1M7",
          "section_law_description": null
        }
      ],
      "isn": "962073",
      "issue_date": "2022-04-18",
      "kind": "ecb",
      "lot": "0041",
      "penalty_imposed_usd": 0,
      "related_number": "04182022CE05IH18",
      "respondent_name": "CROSS MANAGEMENT CORP",
      "severity": "CLASS - 1",
      "street": "EAST   40 STREET",
      "violation_number": "35646458M",
      "violation_type": "Unknown",
      "violation_type_code": null
    },
    {
      "amount_paid_usd": 0,
      "balance_due_usd": 0,
      "block": "00835",
      "category_or_status": "RESOLVE",
      "certification_status": "CURE ACCEPTED",
      "description": "FAILURE TO PROVIDE APPROVED / ACCEPTED PLANS AT JOB SITE AT TIME OF INSPECTION AT TIME OF SPOT CHECK INSPECTION FOR 40 FLOOR SPRINKLER FINISH NO APPROVED PLANS ON SITE , PROVIDE APPROVED /ACCEPTED CONSTRUCTION",
      "device_number": null,
      "disposition_comments": null,
      "disposition_date": null,
      "fields": {
        "aggravated_level": "NO",
        "amount_paid": "0",
        "balance_due": "0",
        "bin": "1015862",
        "block": "00835",
        "boro": "1",
        "certification_status": "CURE ACCEPTED",
        "ecb_violation_number": "39007179Y",
        "ecb_violation_status": "RESOLVE",
        "hearing_date": "20190926",
        "hearing_status": "CURED/IN-VIO",
        "hearing_time": "1130",
        "infraction_code1": "210",
        "isn_dob_bis_extract": "1418233",
        "issue_date": "20190806",
        "lot": "0041",
        "penality_imposed": "0",
        "respondent_city": "NEW YORK",
        "respondent_house_number": "1",
        "respondent_name": "ESRT EMPIRE STATE BUILDIN",
        "respondent_street": "CENTRE STREET",
        "respondent_zip": "10007",
        "section_law_description1": "28-104.2.2                                                                  FAIL TO PROVIDE APPRV/ACCEPTED PLANS ST JOB SITE AT TIME OF INSP",
        "served_date": "20190806",
        "severity": "CLASS - 2",
        "violation_description": "FAILURE TO PROVIDE APPROVED / ACCEPTED PLANS AT JOB SITE AT TIME OF INSPECTION AT TIME OF SPOT CHECK INSPECTION FOR 40 FLOOR SPRINKLER FINISH NO APPROVED PLANS ON SITE , PROVIDE APPROVED /ACCEPTED CONSTRUCTION",
        "violation_type": "Construction"
      },
      "hearing_date": "2019-09-26",
      "hearing_status": "CURED/IN-VIO",
      "house_number": "1",
      "infraction_codes": [
        {
          "code": "210",
          "section_law_description": "28-104.2.2 FAIL TO PROVIDE APPRV/ACCEPTED PLANS ST JOB SITE AT TIME OF INSP"
        }
      ],
      "isn": "1418233",
      "issue_date": "2019-08-06",
      "kind": "ecb",
      "lot": "0041",
      "penalty_imposed_usd": 0,
      "related_number": null,
      "respondent_name": "ESRT EMPIRE STATE BUILDIN",
      "severity": "CLASS - 2",
      "street": "CENTRE STREET",
      "violation_number": "39007179Y",
      "violation_type": "Construction",
      "violation_type_code": null
    },
    {
      "amount_paid_usd": 620,
      "balance_due_usd": -310,
      "block": "00835",
      "category_or_status": "RESOLVE",
      "certification_status": "CERTIFICATE ACCEPTED",
      "description": "52B14,17B10.  52-SHORTEN HOIST ROPES; 17-BEND TABS AT ALL FLOORS",
      "device_number": null,
      "disposition_comments": null,
      "disposition_date": null,
      "fields": {
        "aggravated_level": "NO",
        "amount_paid": "620",
        "balance_due": "-310",
        "bin": "1015862",
        "block": "00835",
        "boro": "1",
        "certification_status": "CERTIFICATE ACCEPTED",
        "dob_violation_number": "102318E2862A02",
        "ecb_violation_number": "38265858L",
        "ecb_violation_status": "RESOLVE",
        "hearing_date": "20181220",
        "hearing_status": "STIPULATION/IN-VIO",
        "hearing_time": "830",
        "infraction_code1": "251",
        "isn_dob_bis_extract": "1058430",
        "issue_date": "20181023",
        "lot": "0041",
        "penality_imposed": "310",
        "respondent_city": "NY",
        "respondent_house_number": "111",
        "respondent_name": "ESRT EMPIRE STATE BUILDIN",
        "respondent_street": "WEST   33 STREET",
        "respondent_zip": "10001",
        "section_law_description1": "28-301.1                                                                    FAILURE TO MAINTAIN BUILDING IN CODE-COMPLAINT MANNER:SERVICE EQUIPMEN",
        "served_date": "20181023",
        "severity": "CLASS - 2",
        "violation_description": "52B14,17B10.  52-SHORTEN HOIST ROPES; 17-BEND TABS AT ALL FLOORS",
        "violation_type": "Elevators"
      },
      "hearing_date": "2018-12-20",
      "hearing_status": "STIPULATION/IN-VIO",
      "house_number": "111",
      "infraction_codes": [
        {
          "code": "251",
          "section_law_description": "28-301.1 FAILURE TO MAINTAIN BUILDING IN CODE-COMPLAINT MANNER:SERVICE EQUIPMEN"
        }
      ],
      "isn": "1058430",
      "issue_date": "2018-10-23",
      "kind": "ecb",
      "lot": "0041",
      "penalty_imposed_usd": 310,
      "related_number": "102318E2862A02",
      "respondent_name": "ESRT EMPIRE STATE BUILDIN",
      "severity": "CLASS - 2",
      "street": "WEST   33 STREET",
      "violation_number": "38265858L",
      "violation_type": "Elevators",
      "violation_type_code": null
    },
    {
      "amount_paid_usd": 1000,
      "balance_due_usd": 0,
      "block": "00835",
      "category_or_status": "RESOLVE",
      "certification_status": "CERTIFICATE ACCEPTED",
      "description": "FAILURE TO FILE ANNUAL CERTIFICATION THAT COOLING TOWER 1000000383 HASBEEN INSPECTED,TESTED,& DISINFECTED,& THAT A MAINTENANCE PLAN HAS BEENDEVELOPED & IMPLEMENTED,BY 11/1/2016.REM:FILE ANNUAL CERTIFICATION.",
      "device_number": null,
      "disposition_comments": null,
      "disposition_date": null,
      "fields": {
        "aggravated_level": "NO",
        "amount_paid": "1000",
        "balance_due": "0",
        "bin": "1015862",
        "block": "00835",
        "boro": "1",
        "certification_status": "CERTIFICATE ACCEPTED",
        "dob_violation_number": "06202017CN105KD904",
        "ecb_violation_number": "37002935P",
        "ecb_violation_status": "RESOLVE",
        "hearing_date": "20171207",
        "hearing_status": "IN VIOLATION",
        "hearing_time": "830",
        "infraction_code1": "291",
        "isn_dob_bis_extract": "1193614",
        "issue_date": "20170620",
        "lot": "0041",
        "penality_imposed": "1000",
        "respondent_city": "NEW YORK",
        "respondent_house_number": "111",
        "respondent_name": "ESRT EMPIRE STATE BUILDIN",
        "respondent_street": "WEST 33RD STREET 12T",
        "respondent_zip": "10120",
        "section_law_description1": "28-317.5                                                                    FAILURE TO FILE AN ANNUAL CERTIFICATION OF COOLING TOWER INSPECTION/ T",
        "served_date": "20171016",
        "severity": "CLASS - 2",
        "violation_description": "FAILURE TO FILE ANNUAL CERTIFICATION THAT COOLING TOWER 1000000383 HASBEEN INSPECTED,TESTED,& DISINFECTED,& THAT A MAINTENANCE PLAN HAS BEENDEVELOPED & IMPLEMENTED,BY 11/1/2016.REM:FILE ANNUAL CERTIFICATION.",
        "violation_type": "Unknown"
      },
      "hearing_date": "2017-12-07",
      "hearing_status": "IN VIOLATION",
      "house_number": "111",
      "infraction_codes": [
        {
          "code": "291",
          "section_law_description": "28-317.5 FAILURE TO FILE AN ANNUAL CERTIFICATION OF COOLING TOWER INSPECTION/ T"
        }
      ],
      "isn": "1193614",
      "issue_date": "2017-06-20",
      "kind": "ecb",
      "lot": "0041",
      "penalty_imposed_usd": 1000,
      "related_number": "06202017CN105KD904",
      "respondent_name": "ESRT EMPIRE STATE BUILDIN",
      "severity": "CLASS - 2",
      "street": "WEST 33RD STREET 12T",
      "violation_number": "37002935P",
      "violation_type": "Unknown",
      "violation_type_code": null
    }
  ]
}
```

### Property

- Capability: `property-records/property`
- Description: The MapPLUTO tax-lot record for one BBL from NYC Open Data (SODA dataset 64uk-42ks, Department of City Planning): owner of record (`owner_name`, `owner_type`), address, building class, land use, year built and altered, floors, units, lot and building areas (sq ft), Department of Finance assessed land/total values (USD), zoning districts, landmark status, community and council districts, coordinates and the PLUTO release version. `pluto` carries the complete row exactly as published (all ~90 columns, strings). An unknown or retired BBL (SODA answers `[]`) is `not_found`; a malformed BBL is `invalid_input`. Links: `acris_url` opens the ACRIS document search pre-scoped to the lot.
- Instructions: Owner of record, lot and building facts, assessed value or zoning for a parcel once you have its BBL (from `resolve_address`).
- Cost: 5 credits per call
- Capability file: [Property](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/property)

Accepted options:
- `bbl` (string, required): Borough-Block-Lot: the 10-digit form `1008350041` (borough 1-5, 5-digit block, 4-digit lot) or `1-835-41` / `1/835/41`. Example: `1008350041`

Response schema example:
```json
{
  "acris_url": "https://a836-acris.nyc.gov/DS/DocumentSearch/BBL?borough=1&block=835&lot=41",
  "address": "338 5 AVENUE",
  "assessed_land_usd": 99000000,
  "assessed_total_usd": 577440900,
  "bbl": "1008350041",
  "block": 835,
  "borough": "MN",
  "borough_code": 1,
  "building_area_sqft": 2812739,
  "building_class": "O4",
  "commercial_area_sqft": 2812739,
  "community_district": "105",
  "council_district": "4",
  "data_last_modified": "Mon, 24 Aug 2026 20:20:51 GMT",
  "exempt_total_usd": 0,
  "land_use": "5",
  "landmark": "INDIVIDUAL AND INTERIOR LANDMARK",
  "latitude": 40.7484514,
  "longitude": -73.9857117,
  "lot": 41,
  "lot_area_sqft": 91351,
  "num_buildings": 1,
  "num_floors": 102,
  "observed_at_ms": 1790101459092,
  "office_area_sqft": 2685483,
  "owner_name": "ESRT EMPIRE STATE BUILDING, L.L.C.",
  "owner_type": "P",
  "pluto": {
    "address": "338 5 AVENUE",
    "affresfar": "12.00000000000",
    "areasource": "2",
    "assessland": "99000000.00000",
    "assesstot": "577440900.00000",
    "bbl": "1008350041.00000000",
    "bct2020": "1007600",
    "bctcb2020": "10076001003",
    "bldgarea": "2812739",
    "bldgclass": "O4",
    "bldgdepth": "425.0000000",
    "bldgfront": "198.0000000",
    "block": "835",
    "borocode": "1",
    "borough": "MN",
    "bsmtcode": "2",
    "builtfar": "30.79000000000",
    "cb2010": "1004",
    "cd": "105",
    "comarea": "2812739",
    "commfar": "15.00000000000",
    "council": "4",
    "ct2010": "76",
    "easements": "0",
    "exempttot": "0.00000",
    "ext": "N",
    "facilfar": "15.00000000000",
    "factryarea": "0",
    "firecomp": "L024",
    "garagearea": "0",
    "healtharea": "5200",
    "healthcenterdistrict": "15",
    "irrlotcode": true,
    "landmark": "INDIVIDUAL AND INTERIOR LANDMARK",
    "landuse": "5",
    "latitude": "40.7484514",
    "longitude": "-73.9857117",
    "lot": "41",
    "lotarea": "91351",
    "lotdepth": "500.0000000",
    "lotfront": "197.5000000",
    "lottype": "3",
    "mnffar": "0.00000000000",
    "numbldgs": "1",
    "numfloors": "102.0000000",
    "officearea": "2685483",
    "otherarea": "0",
    "ownername": "ESRT EMPIRE STATE BUILDING, L.L.C.",
    "ownertype": "P",
    "plutomapid": "1",
    "policeprct": "14",
    "proxcode": "3",
    "resarea": "0",
    "residfar": "10.00000000000",
    "retailarea": "127256",
    "sanborn": "104 016",
    "sanitboro": "1",
    "sanitdistrict": "5",
    "sanitsub": "1A",
    "schooldist": "2",
    "spdist1": "MiD",
    "splitzone": true,
    "strgearea": "0",
    "taxmap": "10306",
    "tract2010": "76",
    "transitzone": "Manhattan Core and Long Island City Parking Areas",
    "unitsres": "0",
    "unitstotal": "513",
    "version": "26v2",
    "xcoord": "988209",
    "ycoord": "211958",
    "yearalter1": "2011",
    "yearalter2": "0",
    "yearbuilt": "1931",
    "zipcode": "10001",
    "zonedist1": "C5-3",
    "zonedist2": "C6-4.5",
    "zonemap": "8d"
  },
  "pluto_version": "26v2",
  "residential_area_sqft": 0,
  "retail_area_sqft": 127256,
  "source_url": "https://data.cityofnewyork.us/resource/64uk-42ks.json?bbl=1008350041",
  "special_district_1": "MiD",
  "units_residential": 0,
  "units_total": 513,
  "year_altered_1": 2011,
  "year_altered_2": 0,
  "year_built": 1931,
  "zip_code": "10001",
  "zoning_district_1": "C5-3",
  "zoning_district_2": "C6-4.5"
}
```

### Resolve address

- Capability: `property-records/resolve_address`
- Description: Resolve a free-text NYC address to its Borough-Block-Lot (BBL) and Building Identification Number (BIN) with the Department of City Planning's GeoSearch API (https://geosearch.planninglabs.nyc/v2/search, a Pelias geocoder over the Property Address Directory). Returns up to `limit` candidate matches ordered by GeoSearch relevance, each with the normalized address, borough, ZIP, coordinates and the PAD `bbl` / `bin` that key every other function of this program. Zero matches is a successful empty result (`count: 0`), not an error. Anonymous, no token.
- Instructions: First step for any 'who owns / what was filed at <address>' question: turn the address into a BBL (for `property`, `acris_documents`) and a BIN (for `dob_permits`, `dob_violations`).
- Cost: 5 credits per call
- Capability file: [Resolve address](https://firecrawl.dev/alexandria/agents/providers/data-cityofnewyork-us/property-records/resolve_address)

Accepted options:
- `address` (string, required): Street address, optionally with borough, city or ZIP: `350 5th Avenue, Manhattan`, `1 Centre St, New York, NY 10007`. Example: `350 5th Avenue, Manhattan`
- `limit` (number): Candidate matches per page (1-10, default 5). Example: `5`

Response schema example:
```json
{
  "count": 3,
  "matches": [
    {
      "accuracy": "point",
      "bbl": "1008350041",
      "bin": "1015862",
      "borough": "Manhattan",
      "confidence": 0.8,
      "gid": "nycpad:venue:88717",
      "house_number": "350",
      "label": "350 5 AVENUE, New York, NY, USA",
      "latitude": 40.748441,
      "layer": "venue",
      "locality": "New York",
      "longitude": -73.985656,
      "match_type": "fallback",
      "name": "350 5 AVENUE",
      "neighbourhood": "Midtown West",
      "pad_version": "26c",
      "postal_code": "10118",
      "street": "5 AVENUE"
    },
    {
      "accuracy": "point",
      "bbl": "3009810111",
      "bin": "3021057",
      "borough": "Brooklyn",
      "confidence": 0.8,
      "gid": "nycpad:venue:791063",
      "house_number": "350",
      "label": "350 5 AVENUE, Brooklyn, NY, USA",
      "latitude": 40.672191,
      "layer": "venue",
      "locality": "New York",
      "longitude": -73.984456,
      "match_type": "fallback",
      "name": "350 5 AVENUE",
      "neighbourhood": "Park Slope",
      "pad_version": "26c",
      "postal_code": "11215",
      "street": "5 AVENUE"
    },
    {
      "accuracy": "point",
      "bbl": "1008350041",
      "bin": "1015862",
      "borough": "Manhattan",
      "confidence": 0.8,
      "gid": "nycpad:venue:88719",
      "house_number": "350A",
      "label": "350A 5 AVENUE, New York, NY, USA",
      "latitude": 40.748441,
      "layer": "venue",
      "locality": "New York",
      "longitude": -73.985656,
      "match_type": "fallback",
      "name": "350A 5 AVENUE",
      "neighbourhood": "Midtown West",
      "pad_version": "26c",
      "postal_code": "10118",
      "street": "5 AVENUE"
    }
  ],
  "observed_at_ms": 1790101453330,
  "query": "350 5th Avenue, Manhattan",
  "source_url": "https://geosearch.planninglabs.nyc/v2/search?text=350+5th+Avenue%2C+Manhattan&size=3"
}
```
