US Restaurant Inspection & Food Establishment Scraper avatar

US Restaurant Inspection & Food Establishment Scraper

Pricing

$5.00 / 1,000 food establishment leads

Go to Apify Store
US Restaurant Inspection & Food Establishment Scraper

US Restaurant Inspection & Food Establishment Scraper

Scrape US restaurant & food-establishment leads with official health-inspection data from 5 city portals (NYC, Chicago, Seattle, Austin, SF): name, address, phone, cuisine, latest grade/score, violations, risk, closures, new-opening signals + lead score & monitoring. No browser.

Pricing

$5.00 / 1,000 food establishment leads

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

US Restaurant Inspection & Food Establishment Scraper — Leads + Health Inspections

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by US city and state health-inspection portals or any government body. All trademarks mentioned are the property of their respective owners. "US city and state health-inspection portals" is referenced only to describe the public data source this Actor collects from.

Turn official city health-department open data into the richest US restaurant & food-establishment lead list anywhere — every record is one food business with its firmographics and its full health-inspection intelligence: name, address, phone, cuisine / facility type, geo, the latest letter grade & score, critical-violation counts, risk level, closures, inspection history, a new-opening signal, and a 0–100 lead score.

Covers five major metros across NY, IL, WA, TX and CA — New York City, Chicago, Seattle/King County, Austin/Travis County and San Francisco — in one unified schema, with monitoring. No login, no API key, no browser.

Why this food-establishment scraper?

Generic Google-Maps and directory scrapers give you a name and a pin — and every competitor already sells that exact list. This actor reads the official regulatory record straight from each city's health department, so you get the data no Maps scraper has: who just opened, who's a high-risk high-volume kitchen, who got critical violations, and who was closed — the signals that make a food-service lead list convert.

DataGoogle-Maps / directory scrapersThis actor
Business name + full address
Phone✅ (NYC, Seattle, SF)
Cuisine / facility typepartial
Latitude / longitude✅ (where published)
Latest health-inspection grade / score
Unified compliance tier (good → closed)
Critical vs non-critical violation counts + detail
Risk level (high-volume kitchens)
Closed-by-health-dept / out-of-business flag
Inspection history + accurate first-inspection date
Newly-opened signal (GTM intent)
Official, citable government source
Lead score (0–100)
Monitoring — only new / re-inspected / changed

Use cases

  • Food-service B2B lead generation — restaurants are active buyers of POS systems, online-ordering & delivery tech, broadline food distributors & suppliers, packaging, commercial kitchen equipment, payroll, insurance, pest control and marketing. Export name, address, phone, cuisine and lead score, filter with withPhoneOnly, and feed your CRM.
  • Reach new openings first — a brand-new restaurant needs everything. Turn on newlyOpenedOnly to get establishments whose first inspection is recent — the highest-intent leads in the market, before your competitors find them.
  • Compliance, pest-control & remediation prospecting — filter to complianceTiers: ["needs_improvement","poor"] or hasCriticalViolationsOnly to reach operators with an active hygiene problem and budget to fix it.
  • Food-safety & insurance risk scoring — append official grades, scores, violation counts and risk levels to your underwriting or supplier-vetting models.
  • Market & competitor intelligence — map every food venue in a metro by cuisine, facility type, grade distribution and closure rate; track openings and closures over time.
  • Turnover & distressed-asset signalsclosedOnly surfaces establishments shut by the health department or marked out of business (great for equipment liquidators, brokers and landlords).

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the US Restaurant Inspection & Food Establishment Scraper, pick the cities you want, add any filters (cuisine, ZIP, compliance tier, newly-opened…), set Max results, and click Start.
  3. Watch establishment leads stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"sources": ["nyc", "chicago", "king-wa", "austin", "sf"],
"categoryQuery": "Pizza",
"complianceTiers": ["needs_improvement", "poor"],
"withPhoneOnly": true,
"sortBy": "recentInspection",
"maxResults": 500
}
  • sources (default all 5) — which city portals to query: nyc, chicago, king-wa (Seattle/King County), austin, sf.
  • nameQuery — business name contains (e.g. Starbucks, Taqueria).
  • categoryQuery — cuisine or facility type contains (Italian, Bakery, Grocery Store, Mobile Food).
  • cities / zipCodes — narrow to boroughs / suburbs / ZIPs inside a metro.
  • complianceTiersgood, needs_improvement, poor, closed, unknown.
  • grades — source letter grades (NYC A/B/C; Seattle 14).
  • hasCriticalViolationsOnly / highRiskOnly — target operators with active problems / high-volume kitchens.
  • newlyOpenedOnly (+ newOpeningDays, default 365) — only recently-opened establishments (top GTM intent).
  • excludeClosed / closedOnly / withPhoneOnly — list hygiene.
  • inspectionDateFrom / inspectionDateTo — inspection date window (YYYY-MM-DD).
  • includeInspectionHistory (default true) — attach per-establishment history + the accurate first-inspection date & total inspection count.
  • sortByrecentInspection, newlyOpened, leadScore, worstCompliance, none.
  • maxResults / maxResultsPerSource — caps (per source and overall).
  • monitorMode (+ monitorKey) — only emit establishments new / re-inspected / changed since the last run.
  • proxyConfiguration — optional; the government portals are fetched directly and need no proxy.

Output

One clean record per establishment (recordType: "establishment"), aggregated from its entire inspection history:

{
"recordType": "establishment",
"source": "nyc",
"sourceLabel": "DOHMH New York City Restaurant Inspection Results",
"city": "New York City",
"state": "NY",
"establishmentId": "50090295",
"businessName": "Kabayan Restaurant And Bakery",
"cuisine": "Filipino",
"facilityType": null,
"businessCategory": "Filipino",
"address": "161-18 Union Turnpike, Queens, NY 11366",
"street": "161-18 Union Turnpike",
"addressCity": "Queens",
"addressState": "NY",
"zip": "11366",
"latitude": 40.7211,
"longitude": -73.7896,
"phone": "(718) 380-0802",
"hasPhone": true,
"latestInspectionDate": "2026-06-17",
"latestInspectionType": "Cycle Inspection / Initial Inspection",
"latestResult": "Violations were cited in the following area(s).",
"complianceTier": "poor",
"latestScore": 41,
"scoreScale": "lower_better",
"latestGrade": "Z",
"latestGradeLabel": "Grade Pending",
"riskLevel": null,
"isClosed": false,
"criticalViolationCount": 6,
"nonCriticalViolationCount": 3,
"totalViolationsLatest": 9,
"violations": [
{ "code": "06C", "description": "Food not protected from contamination during storage, preparation, transportation or display.", "critical": true, "points": null }
],
"totalInspectionsOnRecord": 7,
"firstInspectionDate": "2023-12-08",
"historyScope": "complete",
"inspectionHistory": [
{ "date": "2026-06-17", "type": "Cycle Inspection / Initial Inspection", "result": "Violations were cited in the following area(s).", "score": 41, "grade": "Z", "riskRaw": null, "closed": false, "criticalViolationCount": 6, "violationCount": 9 }
],
"isNewlyOpened": false,
"recentlyInspected": true,
"hasCriticalViolations": true,
"isHighRisk": false,
"recentlyClosed": false,
"leadScore": 72,
"sourceFields": { "camis": "50090295", "dba": "BO's Bagels", "boro": "Manhattan" },
"scrapedAt": "2026-06-20T18:00:00.000Z"
}

sourceFields carries the full raw inspection row from the portal, so nothing is lost.

What to expect (field coverage)

This is official government data, so each city publishes a different subset of fields. Across the five sources you can expect:

FieldSource coverage
Business name, address, latest inspection, grade/score, compliance tier, lead scoreall sources, ~100%
PhoneNYC, Seattle/King County, San Francisco
CuisineNYC
Facility typeChicago, Seattle/King County
Risk levelChicago, Seattle/King County, San Francisco
Letter gradeNYC (A/B/C), Seattle (1–4)
Violation detailNYC, Chicago, Seattle/King County, San Francisco
Closure flagNYC, Chicago, Seattle/King County
Accurate first-inspection date & historyall sources (resolved server-side)

A field is blank only when that city doesn't publish it — never because scraping failed. Note: NYC, Chicago, Seattle and Austin update daily/weekly; San Francisco's LIVES dataset refreshes less often, so its records skew older.

Compliance tier

Every source grades differently (NYC = A/B/C letters + a lower-is-better score; Chicago = Pass/Fail; Seattle = 1–4 + score; Austin/SF = higher-is-better 0–100). The actor normalizes them into one portable complianceTiergood · needs_improvement · poor · closed · unknown — while always keeping the raw latestGrade / latestScore / scoreScale so you can read the original.

How much does it cost to scrape US city and state health-inspection portals?

This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:

  • Food establishment lead - One food-establishment lead record aggregated from an official city/county health-inspection portal: business name, address, phone, cuisine / facility type & geo, plus the latest inspection (result, letter grade, score, compliance tier, risk level, violation counts and detail, closure flag), inspection history with the first-inspection date, GTM signals and a derived 0–100 lead score.

The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/us-restaurant-inspection-scraper').call({
sources: ['nyc', 'chicago'],
newlyOpenedOnly: true,
sortBy: 'newlyOpened',
maxResults: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} food-establishment leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new establishment leads straight into your CRM.
  • Slack — get notified when a monitored city gets new openings or closures.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "list every restaurant in Chicago that just opened, with its address and latest inspection result" and let it run the scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete food-service & local-business lead-gen stack:

Tips

  • Newly-opened leads: set newlyOpenedOnly: true and sortBy: "newlyOpened" to get the freshest, highest-intent restaurants first. For exhaustive coverage of a big metro, narrow with cities, categoryQuery or zipCodes.
  • Contactable lists: turn on withPhoneOnly and prefer the nyc, king-wa and sf sources, which publish phone numbers. Then run the results through the Website Contact Scraper to add emails.
  • Compliance targeting: complianceTiers: ["poor"] or hasCriticalViolationsOnly: true finds operators with an active problem — ideal for pest control, food-safety consulting and remediation.
  • Bigger free portals (NYC, Chicago) are also rate-limit friendly. For very large recurring runs, add a free Socrata app token for higher limits.
  • Recurring monitoring: combine Schedules with monitorMode to capture only new openings, re-inspections, grade changes and closures each run.

FAQ

Which cities are covered? New York City (DOHMH), Chicago, Seattle / King County WA, Austin / Travis County TX, and San Francisco — five major metros across five states, in one unified schema. More cities are added over time.

Where does the data come from? Each city's official health-department inspection dataset, served over the public Socrata open-data API. No key, login or browser required — and the source is fully citable.

How is one establishment built from many inspections? The raw data is one row per inspection (often one row per violation). The actor groups every row for a business into a single record: its latest inspection (grade, score, violations, result), its full inspection history, and — resolved directly from the portal — its accurate first-inspection date and total inspection count.

What is the "newly opened" signal? An establishment whose first inspection on record falls within newOpeningDays (default 365). New food businesses are inspected right after opening, so this is a reliable new-opening proxy and the strongest GTM-intent signal in the dataset.

Do all records have a phone or email? Phone is published by NYC, Seattle/King County and San Francisco. No city publishes business emails — pair this actor with the Website Contact Scraper to add emails and socials from each establishment's website.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How does monitoring mode work? It remembers each establishment's inspection fingerprint in a named key-value store and re-emits a record only when it's new, re-inspected, or its grade/result changed — ideal for tracking openings and closures on a Schedule.

Is this legal? This actor collects publicly available government records only. You are responsible for using the data in compliance with applicable laws (e.g. CCPA, and CAN-SPAM/TCPA for outreach) and each portal's terms.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by US city and state health-inspection portals or any government body. All trademarks mentioned are the property of their respective owners.

"US city and state health-inspection portals" is referenced only in a descriptive, nominative sense - to identify the public data source this Actor collects from. This Actor is not an official product or service of US city and state health-inspection portals and is not authorised or certified by it. It collects only publicly available records; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the source's own terms of use or reuse conditions.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.