San Francisco Historical Inspection Scores: Find the Current Record

A San Francisco restaurant score copied from the 2016–2019 LIVES dataset is evidence about a historical inspection, not a current health result. The city’s archive description says that file is no longer updated and that LIVES ceased to be used for restaurant evaluation as of 2021. Its metadata changed later than its inspection data. To answer a present-day question, move to the 2024–present dataset and the San Francisco Department of Public Health inspection portal, then match the actual establishment and dated visit.

Choose the publication era before interpreting a number

The city publishes separate datasets for different periods. Start with the inspection date, not the date a dataset page was modified. A file title identifies the period it is intended to cover; a newer portal timestamp describes publishing activity and does not create another visit.

Official sourceRecord it helps locateDate or field that needs care
2016–2019 LIVES scoresHistorical inspection score and violations, with business_id, inspection_id, and inspection_dateInspection data last updated in 2021; later metadata changes do not update those visits
2020–2023 health inspectionsDated inspection, type, observed violations, and status after that inspectionThis historical file is no longer updated; its later metadata date is not a new result
2024–present health inspection scoresCurrent-series inspection rows with post-inspection status, notes, and violation fieldsdata_as_of and data_loaded_at describe source currency and portal loading; neither is the inspection date

Read the scope on the destination page when you open a saved link. An older label may say “2023–Present” while the current official dataset says 2024–Present. Check the destination rather than inventing a migration day or assuming complete boundary-year coverage. The 2020–2023 page is the historical route for that era.

Keep a historical score attached to its inspection

If you have an old CSV row or screenshot, preserve the business name and address, business_id, inspection_id, inspection_date, inspection_type, and score as labelled. The LIVES schema also exposes violation descriptions and risk categories. A high, moderate, or low risk label belongs to the cited item, not to an all-purpose rating of today’s restaurant. Do not convert an old numerical score or a violation count into a current placard or a new safety score.

Imagine a saved 2018 row with a score and inspection ID. The archive page may show a 2025 metadata update; that does not mean another inspection occurred in 2025. If your copy lacks the address, recover the official source record before attaching it to a present-day business with a similar name.

Do not substitute the archive’s business_id for the newer dataset’s permit_number. The current schema lists a permit number when applicable, plus a business name, permit type, street address, and inspection date. Those are fields to compare, not an official old-to-new identifier crosswalk. An unchanged name or storefront cannot prove continuous ownership or permit identity. Keep old and new IDs in separate columns until an official record connects them.

Check the current establishment and later actions

The public health department’s inspection portal offers an establishment search, date range, and inspection-purpose choices including routine and reinspection. Search for the specific location, compare its name and street address, and open the dated result that answers your question. Our San Francisco inspection lookup guide covers current placards, violations, and matching the right facility; it is the starting point for a visit decision rather than a historical LIVES score.

Keep routine visits, reinspections, and any closure as separate events. Pass, Conditional Pass, or Closure in the 2020–2023 file describes the facility after that recorded inspection, not today. In the newer dataset, read facility_rating_status, notes, and dated violations together where present. Our reinspection follow-up check shows how to pair an earlier finding with later verification without merging reports.

If no current result matches, note the exact name, address, date range, and source you checked. Include the historical business_id and inspection_id alongside any newer permit number, but label which system supplied each. An empty search cannot establish that a restaurant was never inspected or is currently closed. Ask the issuing department about a missing report or identifier relationship rather than forcing an archive row onto a similar current listing. A historical score, a current dataset row, and a portal report each answer a dated record question; none guarantees the restaurant’s food-safety conditions today.

Sources checked September 30, 2026.