Public API
Free public API
A free, read-only API for the aggregated statistics on this site. No API key required. CORS is enabled, so you can call it directly from a browser.
Endpoint
GET https://tickets.zalize.com/api/public/violation-stats
| Parameter | Description |
|---|---|
| dataset | Which table to return: violations (default; dismissal rates per violation type), counties (per violation type and borough), or annual (tickets, fines and hearing outcomes per issue year). |
| format | json (default) or csv. |
| download | Set to 1 to receive the response as a file download (Content-Disposition: attachment). |
Example
curl "https://tickets.zalize.com/api/public/violation-stats?dataset=violations"
Response shape (JSON):
{
"dataset": "violations",
"source": "NYC Open Data nc67-uf89 (Open Parking and Camera Violations)",
"fetched_at": "…",
"license": "Free to use with attribution: link to https://tickets.zalize.com/data. …",
"count": 123,
"data": [
{
"violation": "FAIL TO DSPLY MUNI METER RECPT",
"decided": 3431944,
"guilty": 907977,
"reduced": 900644,
"not_guilty": 1623323,
"dismissed_rate": 0.473,
"reduced_rate": 0.2624,
"avg_fine": 44.35
}
]
}Limits & license
- Rate limit: 720 requests per IP per day (resets at midnight New York time). Responses are cacheable for an hour — please cache on your side too.
- CORS: Access-Control-Allow-Origin: * — callable from any website.
- License: free to use with attribution — link to tickets.zalize.com/data wherever you publish the numbers.
- The API serves aggregates only. It contains no plates, names or any personal information.