Api Endpoint

NYC Violation Lookup

NYC Housing Preservation & Development (HPD) violations — every notice of violation issued at a multi-family building. Search by `bbl` (10-digit) or `address` (street_name substring). Filter by `classCode` (A=least severe, B=hazardous, C=immediately hazardous) and `currentStatusOnly=true` to limit to open violations. Each row carries violation id, building id, full address + apartment + story, inspection + approved + certify-by + correct-by dates, current status + status date, and the narrative NOV description. Use for landlord-history, code-enforcement, and tenant-rights agents.

Open interactive test console

Offering

Provider
2s.io
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Legal And Compliance
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://2s.io/api/property/nyc-violations
MIME type
application/json
First seen
2026-10-16T02:00:30.940Z
Last seen
Tags
public-records, identifiers, AI-agents, us-gov-data, X402, upto-billing, ai-gateway, agent-infrastructure

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.003 USDC
Atomic price: 3000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.003 USDC
Atomic price: 3000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "3000",
    "payTo": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "3000",
    "payTo": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn"
  }
]

Observed health

Status
Healthy
Latest latency
81 ms
Average latency
214 ms
HTTP status
402
Last checked
Reachability
100% over 12 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "const": "http"
    },
    "method": {
      "const": "GET"
    },
    "queryParams": {
      "properties": {
        "bbl": {
          "type": "string",
          "description": "10-digit BBL."
        },
        "address": {
          "type": "string",
          "description": "Partial street name (case-insensitive)."
        },
        "classCode": {
          "type": "string",
          "enum": [
            "A",
            "B",
            "C"
          ],
          "description": "Severity class."
        },
        "currentStatusOnly": {
          "type": "boolean",
          "description": "True restricts to open violations."
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 25
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "default": 0
        }
      }
    }
  },
  "required": [
    "type",
    "method",
    "queryParams"
  ]
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "object",
      "properties": {
        "type": {
          "const": "http"
        },
        "method": {
          "const": "GET"
        },
        "queryParams": {
          "properties": {
            "bbl": {
              "type": "string",
              "description": "10-digit BBL."
            },
            "address": {
              "type": "string",
              "description": "Partial street name (case-insensitive)."
            },
            "classCode": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C"
              ],
              "description": "Severity class."
            },
            "currentStatusOnly": {
              "type": "boolean",
              "description": "True restricts to open violations."
            },
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 25
            },
            "offset": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        }
      },
      "required": [
        "type",
        "method",
        "queryParams"
      ]
    }
  },
  "required": [
    "input"
  ]
}