DDDailyDog/ API docs

Journalists, researchers, civic hackers

Find vermin hotspots

"Every rat citation in Brooklyn this month" is one query. Codes 04K (rats), 04L (mice), 04M (roaches) — or just the whole vermin category.

1. Query the city-wide violations feed

Filter by category, borough, and date; every row carries the establishment behind it:

bash
curl "https://www.dailydog.ai/api/v1/violations?category=vermin&borough=Brooklyn&since=2026-06-01" \
  -H "Authorization: Bearer dd_test_d23d83e5ee04c87b1fee30680033c31aa0ef7985"

2. Page through everything

Follow `meta.nextCursor` until null — that's the complete result set, newest first:

python
import requests

rows, cursor = [], None
while True:
    params = {"category": "vermin", "borough": "Brooklyn"}
    if cursor:
        params["cursor"] = cursor
    body = requests.get(
        "https://www.dailydog.ai/api/v1/violations",
        params=params,
        headers={"Authorization": "Bearer dd_test_d23d83e5ee04c87b1fee30680033c31aa0ef7985"},
    ).json()
    rows += body["data"]
    cursor = body["meta"]["nextCursor"]
    if not cursor:
        break

3. Rank establishments by rodent pressure

Each establishment's profile carries a 3-year vermin rollup (`vermin.rats`, `vermin.mice`, `lastSightedAt`) — the hotspot score is already computed.

bash
curl "https://www.dailydog.ai/api/v1/restaurants/90000005" \
  -H "Authorization: Bearer dd_test_d23d83e5ee04c87b1fee30680033c31aa0ef7985" | jq .data.vermin

Ready to run this against real records? Contact us for a key — custom pricing, sized to your volume.