Seattle Restaurant Inspections Scraper avatar

Seattle Restaurant Inspections Scraper

Pricing

Pay per event

Go to Apify Store
Seattle Restaurant Inspections Scraper

Seattle Restaurant Inspections Scraper

Scrape King County / Seattle restaurant safety-rating records with names, grades, locations, phone numbers, and coordinates.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Extract King County / Seattle restaurant safety-rating business records from the public ArcGIS FeatureServer. The actor returns food-business names, addresses, cities, ZIP codes, phone numbers, safety grades, establishment descriptions, statuses, coordinates, parcel identifiers, and source timestamps.

Use it when you need a repeatable dataset for restaurant compliance monitoring, local food-business lead intelligence, reputation tracking, or map-based market research in Seattle and King County.

What does Seattle Restaurant Inspections Scraper do?

Seattle Restaurant Inspections Scraper downloads public restaurant safety-rating records published by King County.

It uses the official ArcGIS JSON endpoint behind the King County restaurant safety ratings search page, so no browser automation, login, CAPTCHA solving, or account is required.

The actor helps you turn a public map/search experience into structured rows that can be exported to CSV, Excel, JSON, Google Sheets, databases, CRMs, or BI tools.

Who is it for?

  • πŸ§‘β€πŸ’Ό Compliance teams monitoring restaurant safety ratings and food-business risk.
  • πŸ“ Local lead-generation teams prospecting restaurants, cafes, convenience stores, and food-service locations.
  • 🏒 Agencies and vendors selling cleaning, pest control, insurance, training, marketing, or reputation services to food businesses.
  • πŸ“Š Data teams building local business intelligence dashboards for Seattle and King County.
  • πŸ“° Journalists and civic researchers tracking food-safety datasets over time.

Why use this actor?

The King County website is useful for manual lookup, but repeated monitoring requires structured data.

This actor gives you:

  • βœ… Direct public-source extraction from ArcGIS.
  • βœ… Configurable city, business-name, status, grade, and date filters.
  • βœ… Coordinates for map and territory workflows.
  • βœ… Stable field names for automated pipelines.
  • βœ… PPE pricing that scales with the number of records saved.

Data source

The actor reads King County's public restaurant safety ratings data.

Source page:

https://kingcounty.gov/en/dept/dph/health-safety/food-safety/search-restaurant-safety-ratings

ArcGIS FeatureServer layer:

EPL_BusinessPoint/FeatureServer/0

The source is public and does not require credentials.

What data can you extract?

FieldDescription
businessRecordIdKing County business record identifier
businessNameRestaurant or food-business name
programIdentifierProgram identifier from the source
establishmentDescriptionEstablishment and risk/category description
addressStreet address
cityBusiness city
zipCodeZIP code
phonePhone number when available
safetyGradeKing County safety grade
businessStatusBusiness status, for example Active
parcelNumberParcel number for matching to property data
latitude / longitudeMap coordinates from ArcGIS geometry
loadDateKing County source load timestamp
sourceUrlPublic source page
scrapedAtActor run timestamp

How much does it cost to scrape Seattle restaurant inspections?

This actor uses pay-per-event pricing.

  • A small start event is charged once per run.
  • A per-record item event is charged for each saved restaurant / food-business record.

The exact tiered prices are shown on the Apify actor page. Keep maxItems low for quick smoke tests, then increase it for production exports.

Input options

You can configure:

  • maxItems β€” maximum number of records to save.
  • city β€” exact city filter such as Seattle, Bellevue, Kent, or Renton.
  • businessName β€” case-insensitive name contains filter.
  • statuses β€” optional King County business status filter, usually Active.
  • grades β€” optional safety-grade filter.
  • loadedFrom and loadedTo β€” filter by King County source load date.
  • includeGeometry β€” include point coordinates in the output.

Example input: active Seattle records

{
"city": "Seattle",
"statuses": ["Active"],
"maxItems": 100,
"includeGeometry": true
}

Example input: find a restaurant or chain

{
"city": "Seattle",
"businessName": "coffee",
"statuses": ["Active"],
"maxItems": 50,
"includeGeometry": true
}

Example input: safety-grade monitoring

{
"city": "Seattle",
"grades": ["Good", "Okay", "Needs to Improve"],
"statuses": ["Active"],
"maxItems": 250,
"includeGeometry": true
}

Output example

{
"businessRecordId": "PFE-PR-3127011",
"businessName": "AM-PM MINI MART",
"programIdentifier": "",
"establishmentDescription": "Seating 0-12 - Risk Category III",
"address": "10822 ROOSEVELT WAY NE",
"city": "Seattle",
"zipCode": "98125",
"phone": null,
"safetyGrade": "Excellent",
"businessStatus": "Active",
"parcelNumber": "1160000025",
"latitude": 47.708294,
"longitude": -122.317333,
"loadDate": "2026-07-04T...Z",
"sourceUrl": "https://kingcounty.gov/en/dept/dph/health-safety/food-safety/search-restaurant-safety-ratings",
"scrapedAt": "2026-07-05T...Z"
}

How to run the actor

  1. Open the actor on Apify.
  2. Set your filters, such as city and maximum records.
  3. Click Start.
  4. Download the dataset as CSV, Excel, JSON, or through the API.
  5. Schedule recurring runs if you want a monitoring feed.

Tips for best results

  • Start with maxItems: 100 to verify the exact filters you want.
  • Use city to reduce export size and focus on a local market.
  • Use businessName for brand monitoring or specific restaurant lookup.
  • Use grades for risk-based outreach workflows.
  • Keep statuses set to Active when you only want currently active businesses.

Integrations

Common workflows include:

  • πŸ“ˆ Send rows to Google Sheets for a local restaurant prospect list.
  • πŸ—ΊοΈ Load coordinates into a map dashboard for territory planning.
  • 🧾 Join parcel numbers to property or permitting datasets.
  • πŸ”” Schedule weekly runs to detect source updates by loadDate.
  • 🧩 Enrich CRM accounts with public safety-grade and location data.

API usage: Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/seattle-restaurant-inspections-scraper').call({
city: 'Seattle',
statuses: ['Active'],
maxItems: 100,
includeGeometry: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage: Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/seattle-restaurant-inspections-scraper').call(run_input={
'city': 'Seattle',
'statuses': ['Active'],
'maxItems': 100,
'includeGeometry': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage: cURL

curl "https://api.apify.com/v2/acts/automation-lab~seattle-restaurant-inspections-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"city":"Seattle","statuses":["Active"],"maxItems":100,"includeGeometry":true}'

MCP usage

Use this actor from MCP-compatible tools through Apify MCP.

Claude Code quick add command:

$claude mcp add apify-seattle-restaurant-inspections --transport http https://mcp.apify.com/?tools=automation-lab/seattle-restaurant-inspections-scraper

Claude Desktop JSON config example:

{
"mcpServers": {
"apify-seattle-restaurant-inspections": {
"url": "https://mcp.apify.com/?tools=automation-lab/seattle-restaurant-inspections-scraper"
}
}
}

Claude Desktop / Claude Code MCP URL:

https://mcp.apify.com/?tools=automation-lab/seattle-restaurant-inspections-scraper

Example prompts:

  • "Run the Seattle restaurant inspections scraper for Active Seattle businesses and summarize records with non-excellent grades."
  • "Export King County restaurant safety records for Bellevue and prepare a lead list grouped by ZIP code."
  • "Find public restaurant safety records where the business name contains coffee."

Scheduling and monitoring

You can schedule the actor daily, weekly, or monthly.

For monitoring, keep input filters stable and compare new exports by businessRecordId, safetyGrade, businessStatus, and loadDate.

Limitations

The current public ArcGIS layer exposes business safety-rating records and related location fields. It does not expose a separate row per individual inspection event in this layer. If King County changes the public ArcGIS service, field availability can change.

Legality

This actor extracts public government data from a public endpoint. You are responsible for using the output lawfully, respecting privacy rules, and following Apify's terms and applicable laws. Avoid using public records for unlawful discrimination, harassment, or spam.

FAQ

The source is public government data, but you remain responsible for compliant use of the exported records.

Troubleshooting

Why did I get fewer records than maxItems?

Your filters may be narrow, or the source may not have that many matching records. Try removing businessName, grades, or date filters.

Why is phone empty for some records?

The King County source does not publish phone numbers for every business record. Empty source values are returned as null.

Why do date filters use loadDate?

The public layer exposes a King County load timestamp. The actor filters on that source timestamp, not on hidden inspection-event dates that are not present in this layer.

Support

If you need a field that is visible on a King County page but missing from the dataset, open an Apify issue with the source page URL and an example business name.

Changelog

Initial version extracts King County restaurant safety-rating business records through the public ArcGIS API.