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.
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
| Layer | Restaurants |
|---|---|
| ๐บ๏ธ All cuisines | 0 |
| ๐ Pizza | 0 |
| ๐ฅ Chinese | 0 |
| ๐ฎ Mexican + Latin American + Caribbean | 0 |
| ๐ฃ Japanese | 0 |
Top 12 cuisines by inspection rows ยท 2024โpresent
| Cuisine | Inspection 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.