NYC Restaurant Inspection Grades Scraper
Pricing
from $2.00 / 1,000 results
NYC Restaurant Inspection Grades Scraper
Food-service suppliers & consultants: get NYC restaurant inspection grades and violations as leads, by borough, ZIP, grade or cuisine keyword.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Levani Zurabiani
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Food-service suppliers & consultants: get NYC restaurant inspection grades and violations as leads, by borough, ZIP, grade or cuisine keyword.
Data comes from NYC Open Data (Socrata SODA API), dataset: DOHMH New York City Restaurant Inspection Results (43nn-pn8j). Results are clean, normalized JSON you can export as CSV, Excel or JSON.
Who is it for?
Food-safety consultants, pest-control and cleaning companies, restaurant suppliers and POS/software vendors, insurers, food-delivery and review platforms, and data journalists.
Use cases
- Lead lists of restaurants with recent B/C grades or critical violations
- Monitor inspection results for a chain or a set of locations
- Enrich restaurant listings with current letter grades
- Neighborhood food-safety analysis
How to use
- Click Start and pick filters (the form is pre-filled with an example).
- Run the actor; results appear in the Output tab.
- Download as CSV/Excel/JSON, call the API, or schedule it.
Example input:
{"borough": "MANHATTAN","grade": "B","keywords": ["pizza"],"maxResults": 100}
Input fields
| Field | Description |
|---|---|
borough | Filter by borough. One of: MANHATTAN, BRONX, BROOKLYN, QUEENS, STATEN ISLAND. |
zip | 5-digit NYC ZIP code. |
dateFrom | Inclusive start date (YYYY-MM-DD). |
dateTo | Inclusive end date (YYYY-MM-DD). |
keywords | Case-insensitive; a record matches if any keyword appears in the searched text fields. |
grade | Filter by grade. One of: ANY, A, B, C, N, P, Z. |
includeUngraded | By default only rows with a letter grade (A, B, C) are returned. Turn on to also get ungraded rows: blank, N (not yet graded), P/Z (grade pending). Ignored when Grade is set. |
maxResults | Hard cap 10000. |
onlyNew | Return only records not returned by previous runs of this actor (for scheduled alerts). |
appToken | Raises NYC Open Data rate limits. Can also be set with env SOCRATA_APP_TOKEN. |
Sample output
A real record (personal data removed):
{"id": "41631487-2026-10-10-02G","source": "43nn-pn8j","camis": "41631487","name": "TAKE 31","cuisine": "Korean","borough": "MANHATTAN","building": "15","street": "EAST 31 STREET","zip": "10016","inspectionDate": "2026-10-10","inspectionType": "Cycle Inspection / Re-inspection","action": "Violations were cited in the following area(s).","violationCode": "02G","violationDescription": "Cold TCS food item held above 41 °F; smoked or processed fish held above 38 °F; intact raw eggs held above 45 °F; or reduced oxygen packaged (ROP) TCS foods held above required temperatures except during active necessary preparation.","criticalFlag": "Critical","score": 12,"grade": "A","gradeDate": "2026-10-10","bbl": "1008617501","latitude": 40.746103313988,"longitude": -73.984918137915}
Every record has these normalized fields (any can be null): id, source, camis, name, cuisine, borough, building, street, zip, inspectionDate, inspectionType, action, violationCode, violationDescription, criticalFlag, score, grade, gradeDate, bbl, latitude, longitude.
Free sample (100 rows)
Download a free 100-row sample produced by this actor (personal data removed), no account needed:
- CSV: https://api.apify.com/v2/datasets/af8oh6HlDXtXqyFPw/items?format=csv
- JSON: https://api.apify.com/v2/datasets/af8oh6HlDXtXqyFPw/items?format=json
Pricing
Pay per result: $2.00 per 1,000 results. Platform compute is included.
| Results | Cost |
|---|---|
| 100 | $0.20 |
| 1,000 | $2.00 |
| 10,000 | $20.00 |
Use maxResults to cap spending. Charges are billed through the Apify platform only.
Integrations
Connect results to Zapier, Make, Google Sheets, Slack, or your own backend with Apify integrations and webhooks (e.g. trigger on "run succeeded" and fetch the dataset). You can also call the actor through the Apify API or schedule it in Apify Console.
FAQ
What do grades N, P and Z mean? N = not yet graded, P = grade pending after a re-opening inspection, Z = grade pending (under appeal or re-inspection).
Is there one row per violation?
Yes. NYC publishes one row per violation cited at an inspection; group by camis + inspectionDate for one row per inspection.
Is personal data included? No. Personal names, phone numbers, emails and residential/owner mailing addresses are removed and this cannot be switched off. Business names are kept only when they clearly look like a company (INC, LLC, CORP...).
How many results can I get per run?
Up to 10000 per run (maxResults). Narrow by date, borough, ZIP or keywords for larger pulls.
Do I need an NYC Open Data token?
No. An optional Socrata app token (appToken) only raises rate limits.
Is the data official? It is public NYC Open Data, passed through as published. Verify important decisions with the issuing agency.
Running locally
ACTOR_INPUT='{"maxResults":10}' npx tsx actors/restaurant-grades/src/main.ts# results -> ./storage/datasets/default/items.json
Disclaimer
This actor is not affiliated with, endorsed by, or sponsored by the City of New York or any of its agencies. Data is provided "as is" from NYC Open Data and may be incomplete, delayed or inaccurate. Check important information against official sources.