Las Vegas Restaurant Inspections API (SNHD)
Pricing
from $2.10 / 1,000 inspections
Las Vegas Restaurant Inspections API (SNHD)
Restaurant inspection grades, demerits & violations for Las Vegas & Clark County from official SNHD data — for food-safety checks, lead lists, apps. Filter by city, ZIP, grade. Free sample (100 rows, real output): https://drive.google.com/uc?export=download&id=1PhQ3V-d3vi8uCSzJcWwIL7NK5biRCoKO
Pricing
from $2.10 / 1,000 inspections
Rating
0.0
(0)
Developer
Groundplane Labs
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Features
Share
The Las Vegas restaurant inspections scraper gives you one row per restaurant inspection for Las Vegas & Clark County, NV, straight from the Southern Nevada Health District (SNHD) official developer download. No login or coding needed: run it in your browser, on a schedule, or through the Apify API, and export results as JSON, CSV or Excel.
Get food-establishment inspections in Clark County, NV (Las Vegas, Henderson, North Las Vegas, Boulder City, Mesquite, Laughlin and more) as clean JSON (default window: the last 30 days; set inspectedSince for history back to September 2020): grade, demerits, result, violation descriptions, current and previous grade, and coordinates. Monitor mode returns only inspections not delivered in an earlier run (only rows actually delivered on a healthy run are marked as seen; if a run ends PARTIAL because the SNHD file looks wrong, its rows are not marked and are delivered again once the source recovers), so you can schedule it daily and send alerts to Slack, email or n8n.
Who uses it
- Food-safety consultants and researchers tracking grade trends, closures (grade
X) and common violations by area - Hospitality groups monitoring their own locations and nearby venues on the Strip
- Delivery, review and data apps that need Southern Nevada grades
Free sample
Download a free sample (100 rows, real actor output, CSV): https://drive.google.com/uc?export=download&id=1PhQ3V-d3vi8uCSzJcWwIL7NK5biRCoKO — check the columns and data quality before you run anything.
How to scrape Las Vegas restaurant inspections
- Click Try for free (or Start) on this page. A free Apify account is enough.
- Leave the prefilled input (Las Vegas, 100 rows) to get a quick sample, or set the filters described below.
- Set maxItems to cap how many rows (and how much) a run returns.
- Click Start. A normal run takes about 10–30 seconds.
- Download the results as JSON, CSV or Excel, or connect them to Google Sheets, Zapier, Make or a webhook.
Input
| Field | What it does |
|---|---|
cities | City names, case- and space-insensitive (Las Vegas does not include North Las Vegas). Default ["Las Vegas"]; empty list = all of Clark County. Cities come from SNHD's city list, so spelling variants in the source are normalised. An unknown city is named in the status message. |
zipCodes | 5-digit ZIP codes. Other formats stop the run with a clear message. |
nameContains | Restaurant or location name contains this text (case-insensitive). |
grades | A, B, C or X (closed). |
minDemerits | At least this many demerits. |
inspectedSince | Real YYYY-MM-DD date, not in the future. Default: 30 days ago. |
includeViolations | Add cited violations (code, demerits, description). Default on. |
monitorMode, monitorKey | Only inspections not delivered before (per key). |
maxItems | Max rows, newest inspections first. Default 1,000 (prefill 100). |
maxScanSeconds | Time budget (default 240 s, always capped at the run timeout minus 30 s). |
Output (one row per inspection)
inspectionId, permitNumber, restaurantName, locationName, category, address, city, zip, latitude, longitude, inspectionDate, inspectionType, grade, demerits, result, violationCount, violations[{code, demerits, description}], currentGrade, currentGradeDate, previousGrade
Rows are sorted by inspectionDate, newest first, and de-duplicated on inspectionId (SNHD's inspection serial number). currentGrade / currentGradeDate are the establishment's grade today; grade is the grade from that inspection.
Data source, durability & responsible use
- Source: SNHD's official developer download (southernnevadahealthdistrict.org › Restaurant Inspections › Developers): one zip of CSV exports, refreshed nightly, with table definitions in SNHD's
restaurants.sql. This is an official bulk file, not a scraped web page. Each run makes one download (about 9 MB). - Freshness: inspections usually appear in the file a few days after they happen (SNHD says about 5 business days). The Actor checks that the file is current on every run.
- Quality checks on every run: every file's columns, every row, and the value patterns (grades, dates, coordinates, joins, current-grade freshness) are checked against known baselines. If SNHD changes the file, the run ends PARTIAL with the reason instead of returning wrong data.
- Known source quirks handled: the latitude/longitude columns are swapped in the source (corrected per row, so a future fix by SNHD can't break it); about 3% of establishments have blank or 0,0 coordinates (output
null); a few names contain;and are repaired; city spelling variants are normalised from SNHD's city id. - Known gaps: about 1% of recent inspections reference a permit that isn't in SNHD's establishment file yet. Those rows are skipped and counted in the status message. The online summary isn't the full inspection report (SNHD provides full reports only through a records request).
- Privacy: inspector IDs and owner IDs are never output. Output is business permit data; some permit-holder or business names may be a person's name as listed by SNHD. No contact details.
- Terms: SNHD publishes this file on its developer page. SNHD's site policy says: "Permission to use documents such as reports and data sheets from this website is granted provided that: 1. Use of such documents from this website is for informational or personal use only. 2. No modifications of any documents are made." It provides documents "as is" with no warranty and asks you to contact SNHD for other uses. This Actor reformats the data (joins tables and fixes the coordinate swap), so check SNHD's policy for your use case. SNHD does not guarantee accuracy. Not affiliated with or endorsed by SNHD.
Pricing (pay per event)
$3 per 1,000 inspections ($0.003 each), plus Apify's minimal $0.00005 start fee. Example: the prefilled 100 inspections cost about $0.30; an empty input (Las Vegas, up to 1,000 rows) costs at most about $3.00. If a run hits your max charge limit, it stops cleanly and reports how many rows it delivered.
Sample output
{"inspectionId": "34622905","permitNumber": "PR0157146","restaurantName": "SAMPLE TACO TRUCK","locationName": "SAMPLE TACO TRUCK","category": "Food Trucks / Mobile Vendor","address": "100 EXAMPLE ST","city": "Las Vegas","zip": "89101","latitude": 36.1436578,"longitude": -115.1217495,"inspectionDate": "2026-10-10","inspectionType": "Routine Inspection","grade": "A","demerits": 3,"result": "A Grade","violationCount": 1,"currentGrade": "A","currentGradeDate": "2026-10-10","previousGrade": null,"violations": [{"code": "92116", "demerits": 3, "description": "Food wholesome; not spoiled, contaminated, or adulterated."}]}
Status messages & troubleshooting
Complete: N inspections, newest first (...)means the run finished and the source passed every check.Complete: 0 ...always says why (filters too narrow, unknown city, or all already delivered in monitor mode).PARTIAL: N inspections. <reason>means something went wrong (download failed after retries, the SNHD file changed, a stale file, or the time budget ran out). Rows already collected are kept. If you see a PARTIAL run, please report it on this Actor's Issues tab.- A PARTIAL caused only by your own limits (max charge limit, the row limit for the run memory, or the run's time budget) just tells you which limit to raise.
- Rows SNHD lists without a matching establishment record (about 1% of recent inspections) cannot be filtered by city, so they are excluded; the status note counts them across all cities in the date window and says why.
- Big history pulls: a 256 MB run returns up to 40,000 rows; set memory to 1024 MB for the full history since 2020 (~128,000 rows; measured locally at about 1 minute, not yet timed on the Apify platform).
- Quick self-test (canary):
{"cities": ["Las Vegas"], "maxItems": 5}should finishComplete: 5in under 30 seconds. - Found a problem or need a field? Open an issue on the Issues tab; we respond quickly.
FAQ
How much does it cost to scrape Las Vegas restaurant inspections?
You pay $0.003 per result ($3 per 1,000) plus a $0.00005 start fee, and nothing else. That is the free-plan price: on paid Apify plans you pay less per result (Bronze 10%, Silver 20%, Gold and above 30% off). Apify's free plan includes $5 of monthly credit, which covers about 1,600 results. See Pricing above for a worked example.
Is it legal to scrape Las Vegas restaurant inspections?
This Actor reads public records from the Southern Nevada Health District (SNHD) official developer download, using only public endpoints (no login, no CAPTCHA bypass, no private accounts). See the data source section above for SNHD's terms. You are responsible for how you use the data; this is not legal advice.
How fresh is the data?
Each run downloads SNHD's file live. SNHD refreshes it nightly, and inspections usually appear a few days after they happen. Each run checks that the file is current and reports PARTIAL if it looks stale.
Can I use it via API, on a schedule, or with Google Sheets?
Yes. Every Apify Actor has a REST API and client libraries for Python and JavaScript. You can schedule daily or weekly runs, and send results to Google Sheets, Slack, Zapier, Make, n8n, webhooks, or an AI agent via the Apify MCP server.
I need another city, county or field. Can you add it?
Open an issue on the Issues tab with the city or data source you need. We build new public-records scrapers regularly.
How do I check the Actor is working?
Run the canary input {"cities": ["Las Vegas"], "maxItems": 5}. It should finish Complete: 5 in under 30 seconds. If it ends PARTIAL, please open an issue on the Issues tab.
More public-records scrapers by Groundplanes
Same clean output, pay-per-result pricing and official public data sources:
Restaurant & food inspections
- Maricopa County (Phoenix) Restaurant Inspections Scraper
- Pittsburgh Restaurant Inspections Scraper (Allegheny County)
- Delaware Restaurant Inspections Scraper — Statewide Violations
- Boulder CO Restaurant Inspections Scraper — 2013–2026 Snapshot
- Montgomery County MD Restaurant & Food Inspections Scraper
- NY State Restaurant Inspections Scraper — NYSDOH, Non-NYC
- Boston Restaurant Inspections Scraper — Health Violations
- Santa Clara County Restaurant Inspections Scraper — San Jose
Code violations & property records
- Pittsburgh Code Violations Scraper
- Orlando FL Code Enforcement Cases Scraper
- New Orleans Code Enforcement Violations Scraper
Business licenses & registrations
- Delaware Business Licenses Scraper
- Norfolk VA Business Licenses Scraper
- Berkeley CA Business Licenses Scraper
- New Orleans Occupational Business Licenses Scraper
Changelog
-
0.3 (2026-10-27): docs: free-sample section + store refresh; no code changes.
-
0.2.2 (2026-10-25): damaged zip members end PARTIAL instead of crashing; monitor mode no longer marks rows seen on a source-problem PARTIAL; tighter blank-grade (3%) and stale-current-grade (5%) checks plus an establishments-file freshness check; per-city volume checks for requested cities; name/address swap detection; duplicate permits keep the first row and are reported; honest orphan note; extra-column detection.
-
0.2 (2026-10-25): download retries with backoff and Retry-After; time budget; file/column/row/value checks with Complete:/PARTIAL: status; fixed a crash on old history (malformed SNHD rows), truncated violation descriptions (text after
;was cut), 0,0 coordinates (nownull), and city spelling variants; per-row coordinate orientation; ZIP/grade/date input validation; bounded memory. -
0.1 (2026-10-10): first release.