scroll ยท live data ยท ~4 min

What the inspectors heard

The NYC Department of Health doesn't set out to map culture. It sets out to count rats. But tucked inside its restaurant inspection records is a column called cuisine_description โ€” one of the only structured cuisine fields in any major-city open-data portal. Scroll through the density maps and the city's neighborhoods name themselves.

Every restaurant in New York gets a DOHMH inspection. Every inspection lands in the open-data portal as a row โ€” actually as many rows, one per sustained violation. Most of those columns are clinical: a violation code, a date, a numeric score. One column is something else. The inspector ticks a category: Pizza, Chinese, Mexican, Caribbean, on through 150 entries. The category isn't a vibe; it's a checkbox.

Deduplicate the rows to one pin per restaurant โ€” count(DISTINCT camis) โ€” and you can map them. Where does each cuisine actually sit on the ground?

Start with the full picture in ๐Ÿ—บ๏ธ cobalt. Every restaurant the city has inspected since the dataset began โ€” ~28,000 establishments, by unique permit ID. The density traces the city you'd expect: the Manhattan grid, the Brooklyn axes (Atlantic, Flatbush, Fulton), Roosevelt and Northern in Queens, Fordham and the Grand Concourse in the Bronx.

This is the canvas. Every other beat is a slice of it. Watch the accent shift to ๐Ÿ• fluoro for the next one.

๐Ÿ• Pizza. The DOHMH classifies ~1,800 establishments as pizza-first โ€” which means a pizza counter, a sit-down pizzeria, or a thin-crust storefront that the inspector decided was definitively pizza.

The density ridge runs the Brooklyn-Manhattan axis: Sheepshead Bay and Bensonhurst up through Dyker Heights, across the Verrazano line into Bay Ridge, north into Sunset Park and Park Slope, jumping the river to the Lower East Side and East Village. Staten Island holds its own per-capita. The Bronx light-spots โ€” Arthur Avenue, Belmont โ€” show up where you'd expect a pizza geography to start. Up next, the same map under ๐ŸฅŸ marigold.

๐ŸฅŸ Chinese. ~2,400 restaurants, and the geography rearranges. The pizza ridge fades; three new hot spots flare up at once. Flushing โ€” the largest Chinatown in the Western Hemisphere by population, the densest pin cluster on the entire map. Manhattan Chinatown, smaller but tighter. Sunset Park Eighth Avenue, the post-1990s Brooklyn Chinatown.

The thing the map says clearly: NYC's Chinese restaurant geography isn't one place, it's three deliberate clusters with very different histories. Same dataset, same query, totally different shape from beat 1. Shift to ๐ŸŒฎ fern for the next slice.

๐ŸŒฎ Mexican, Latin American, Caribbean โ€” three DOHMH categories combined. ~3,000 establishments across the three. The shape is different again: a crescent through Sunset Park (Brooklyn) up through Bushwick and Williamsburg, jumping into Jackson Heights and Corona in Queens, and across to the South Bronx along the Grand Concourse and Hunts Point.

This is the migration map of the last forty years, drawn by a public-health agency that wasn't trying to draw a migration map. The clusters in Queens and the Bronx are where Mexican, Puerto Rican, Dominican, and Salvadoran communities settled in the late 20th century. The DOHMH didn't put that on a flyer; it just kept counting kitchens.

Last beat: overlay the cuisines side by side. The shape break below โ€” and the named cluster labels that appear on the map โ€” come from a fourth layer (๐Ÿฃ Japanese) joining in.

Four layers, one map. ๐Ÿ• Pizza, ๐ŸฅŸ Chinese, the ๐ŸŒฎ Latin American crescent, and Japanese restaurants โ€” ~800 of them โ€” in ๐Ÿฃ brick. The labels on the map name the famous clusters directly so you don't have to guess which color is which neighborhood.

Where the colors mix you can see streets that hold every kind of restaurant at once (midtown Manhattan, Astoria, Park Slope). Where they don't, you can see the neighborhoods whose food geography is defined by one thing. The DOHMH did not write any of this on a press release. It just published a column called cuisine_description and let the city draw the rest.

Tap any hex on the map for the cell's restaurant count.

All restaurants

The top of the list

Inspection rows per cuisine, citywide, since the start of 2024. This is row count, not restaurant count โ€” pizza, Chinese, Mexican, and Caribbean attract their own inspection cadence and their own violation patterns, so the ranking partly reflects how often the inspectors visit. But the top of the list is also the cuisine geography of NYC, in order.

View underlying data

Hex-cell totals ยท unique restaurants per layer

LayerRestaurants
๐Ÿ—บ๏ธ All cuisines0
๐Ÿ• Pizza0
๐ŸฅŸ Chinese0
๐ŸŒฎ Mexican + Latin American + Caribbean0
๐Ÿฃ Japanese0

Top 12 cuisines by inspection rows ยท 2024โ€“present

CuisineInspection rows

Data sources & caveats

Primary dataset: NYC Open Data, dataset 43nn-pn8j โ€” DOHMH New York City Restaurant Inspection Results. Fetched at runtime via the Cloudflare Worker proxy with KV caching by SoQL hash.

Methodology: "Restaurant" means a unique permit ID (camis). The raw table is one row per sustained violation per inspection, so the same establishment shows up dozens of times across the dataset. The hex map uses count(DISTINCT camis), snapped to a 0.01ยฐ grid (โ‰ˆ1 km cells) โ€” the heatmap layer in Map.svelte weights each cell by that count and produces a smooth kernel-density rendering on top of it (devices whose GPU can't render the heatmap โ€” many phones โ€” fall back to graduated circles, one accent dot per cell, sized by count). The inspection_date = '1900-01-01' placeholder (newly-permitted, never-inspected restaurants) is filtered out of every aggregate.

Caveats: The "Mexican + Latin American + Caribbean" beat combines three DOHMH categories for narrative breadth; the breakout is in the data table above. The cuisine_description column is set by the inspector, who picks from a controlled vocabulary โ€” restaurants that don't fit cleanly (or whose owners change concepts mid-permit) get assigned whatever the most recent inspector wrote down. Food trucks and other mobile vendors carry stable permits but rotating coordinates; their position on the map is the most recent inspection's lat/lon, not their typical location.

What this doesn't show: Quality, popularity, longevity, prices. A pin is a permit, not a Yelp rating. The DOHMH inspector cares about whether the walk-in is at 41ยฐF, not whether the food is any good.