MD Baltimore Environmental-Code Violations (ECB) avatar

MD Baltimore Environmental-Code Violations (ECB)

Pricing

from $0.03 / 1,000 citation records

Go to Apify Store
MD Baltimore Environmental-Code Violations (ECB)

MD Baltimore Environmental-Code Violations (ECB)

Baltimore City environmental-code violation citations (~150.8k, open data): nuisance/trash/tobacco citations by the Environmental Control Board against a property. Citation number, address, status (Open/Paid/Abated/Voided), fine & balance, hearing, district. Property code-enforcement diligence.

Pricing

from $0.03 / 1,000 citation records

Rating

0.0

(0)

Developer

Wenhao Yang

Wenhao Yang

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Categories

Share

Baltimore City Environmental-Code Violations (ECB)

The city's environmental-code enforcement ledger - every citation the Baltimore Environmental Control Board has issued against a property, in one queryable dataset. Property-level code-enforcement diligence: the violation history of one address, an open-balance sweep, or a district-wide view.

Data

Baltimore City, Maryland open data (public Environmental Control Board register). ~155k citations spanning two decades, actively updated (violations through September 2026).

Each record carries:

  • Citation number - the citation's stable key
  • Violation location - the property address cited (fully populated)
  • Description - the violation (nuisance / trash / abatement / tobacco and more, e.g. "FAILURE TO REMOVE OR ABATE ALL NUISANCES")
  • Status - normalized to Open (~97k, balance still owing) / Paid (~51k) / Abated (~1.9k) / Voided (~4.4k)
  • Fine amount, balance - what was assessed and what is still owed
  • Resolution buckets - total paid / abated / voided by resolution
  • Lien code - whether the citation carries a lien (L on ~125k)
  • Hearing - hearing date / status
  • Dates - violation date, due date, last paid date
  • Place - block / lot, neighborhood, police district, council district

Low cost

From $0.00005 per record, down to $0.00003 at Gold

The source publishes this as a wide flat table where status is a padded single character and dates come back as raw millisecond timestamps - fine for the city's own map, painful if you want to actually cut it by place, status or money. We made the ledger directly queryable: citationNumber / address / status / minBalance-maxBalance / policeDistrict / neighborhood / violation-date windows all filter before a record returns, status reads as plain Open / Paid / Abated / Voided, and groupBy (counts by status / district / neighborhood / lien code) comes back as clean server counts. You query a violation ledger that behaves like a database; the cleanup stays on our side.

Every record is one flat JSON object - no PDFs, no portal pagination.

Use cases

  • Property violation history - every citation against an address, with status, fines and balance
  • Open-balance sweeps - properties with outstanding code-enforcement balances above a threshold
  • Code-enforcement analysis - aggregate citations by district, neighborhood or lien status to see enforcement patterns

Inputs

FieldWhat it does
citationNumberexact citation lookup
addressviolation-address substring
statusopen / Paid / Abated / Voided
minBalance / maxBalanceoutstanding-balance range
policeDistrict / neighborhood / blockLotfind by place
violatedFrom / violatedToviolation-date window
aggregate + groupBycounts by status / district / neighborhood / council district / lien

Example inputs

One citation by number

{"citationNumber": "58073123", "maxResults": 5}

Open balances of $500 or more - status=open means the balance is still owing.

{"status": "open", "minBalance": 500, "maxResults": 25}

Citations on one street - address is a substring match on the violation location.

{"address": "Reisterstown", "maxResults": 25}

Citations by status - aggregate=true returns one summary row per group with a count.

{"aggregate": true, "groupBy": "status"}

Output fields

citationNumber / status / lienCode / description / violationLocation / violationDate / dueDate / hearingDate / hearingStatus / fineAmount / balance / totalPaid / totalAbated / totalVoided / lastPaidDate / lastPaidAmount / neighborhood / policeDistrict / councilDistrict / block / lot.

Honesty note: this ledger names properties (addresses), not individuals. The source's police-district column carries a few misspellings (e.g. "Notheastern") that are passed through as published. The register is served from the city's hosted ArcGIS Online org - always verify a live run's row content, since that org has at times served stale copies to cloud IPs.

Example output

One citation - citationNumber=58073123 returns the citation:

{
"platform": "md-ecb-citations",
"source": "baltimore-ecb",
"groupKey": "",
"groupCount": "",
"groupBy": "",
"citationNumber": "58073123",
"status": "Open",
"lienCode": "L",
"description": "UNREGISTERED OR INOPERABLE VEHICLE",
"violationLocation": "2827 WINCHESTER ST",
"violationDate": "2026-09-08",
"dueDate": "2026-10-11",
"hearingDate": "",
"hearingStatus": "",
"fineAmount": "50",
"balance": "50",
"totalPaid": "0",
"totalAbated": "0",
"totalVoided": "0",
"lastPaidDate": "",
"lastPaidAmount": "0",
"neighborhood": "Winchester",
"policeDistrict": "Southwestern",
"councilDistrict": "9",
"block": "2388",
"lot": "034M"
}

aggregate=true, groupBy=status - citations by status:

Open ~97k
Paid ~51k
Voided ~4.4k
Abated ~1.9k

Source: Baltimore City open data (Environmental Control Board citations, public records).