Property, land and site screening logo

Property Code-Violation & Lien History (Open-Data Cities)

$0.05 USDC per call · Business, finance and compliance · POST /api/v1/property-violations · Id property-violations-history

Before buying, leasing or insuring a US property, reads the city's own open-data code-enforcement records for one address (or a NYC BBL/BIN) and returns normalized violations with date opened, category, description, open/closed status, source severity class and record URL; deterministic counts by status, category and year; days since the latest violation; the longest repeat-citation streak (citations within 90 days of each other); and a rule-based distress indicator (none/watch/elevated) with every rule, value and threshold shown (open_records 1/5, open_hazardous 1/3, recent_records 3/10, repeat_streak 3/6, lien_listings 1/2). NYC also reads DOB/ECB summonses and the DOF tax/water lien sale list by tax lot. Covered cities: New York City, NY, Chicago, IL, San Francisco, CA, Seattle, WA, Austin, TX, Los Angeles, CA, Philadelphia, PA, Boston, MA. An uncovered city is rejected with the supported list before payment. Addresses are normalized and matched on number, direction, street and type; differently written streets are reported but never merged, and ambiguous matches return INSUFFICIENT_DATA. No LLM. Reports public records only: not ownership, title or legal advice; no alerts; private records and county tax-lien sales are not checked, and lien data is covered only for NYC.

What you get

A buyer, lender or agent gets a source-linked, reproducible record of a building's enforcement history and a transparent distress flag, instead of an unsourced model summary or a manual hunt across city portals.

Call it

Send the JSON body below to https://agents.writerslogic.com/api/v1/property-violations. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.

curl -i -X POST https://agents.writerslogic.com/api/v1/property-violations \
  -H 'content-type: application/json' \
  -d '{"address":"1255 S Wabash Ave, Chicago, IL","lookback_years":10}'

Input

FieldTypeRequiredDescription
addressstring; length 5..200noUS street address with city and state, e.g. '447 21st Ave, San Francisco, CA 94121'. Give exactly one of address, bbl or bin.
citystring; length 0..60noCity, when not inside address. For NYC a borough name (Brooklyn, Queens, ...) narrows the match.
statestring; length 0..2noTwo-letter state, when not inside address.
zipstring; length 0..10noZIP code (informational; not used to widen a match).
bblstringnoNYC borough-block-lot, 10 digits.
binstringnoNYC building identification number, 7 digits.
lookback_yearsinteger; 1..30noYears of history to read (default 10).

Example request body

{
  "address": "1255 S Wabash Ave, Chicago, IL",
  "lookback_years": 10
}

Result

The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.

FieldTypeRequiredDescription
statusstring; one of "RECORDS_FOUND", "NO_RECORDS_FOUND", "INSUFFICIENT_DATA"yesINSUFFICIENT_DATA: the address was ambiguous or only matched differently written streets; nothing is reported rather than guessed.
reasonstringyes
as_ofstringyes
lookbackobjectno
coverageobjectnoCity, dataset ids with URLs, the address-matching rule and what the dates mean.
matchobjectyes
countsobjectyes
latest_violationone ofno
repeat_streakobjectno
distressobjectyesRule-based indicator: the highest level any rule reaches. Every rule, value and threshold is listed.
violations_totalintegerno
violations_returnedintegerno
violationsarray<object>yes
liensobjectyes
complaints_notestringno
truncatedbooleanno
partialbooleanyes
failuresarray<string>no
not_checkedarray<object>yes
supported_citiesarray<string>no
source_manifestarray<object>no
llmstring; one of "not_used"no
disclaimerstringyes

Pay and connect

Available through: x402 (USDC on Base), MCP, RapidAPI, Apify.

Machine-readable