UK Food Hygiene Ratings Scraper — FSA Establishments avatar

UK Food Hygiene Ratings Scraper — FSA Establishments

Pricing

Pay per event

Go to Apify Store
UK Food Hygiene Ratings Scraper — FSA Establishments

UK Food Hygiene Ratings Scraper — FSA Establishments

Export UK Food Standards Agency hygiene ratings — business name, type, rating, rating date, full address, postcode, phone and local authority — as clean JSON, CSV or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share


🎯 What this scrapes

The FSA publishes a hygiene rating for every food business in the UK, which makes it one of the few open datasets with a name, an address and a phone number for hundreds of thousands of hospitality venues. The API is fussy — it needs a version header, refuses unfiltered queries outright, and splits the address across four numbered fields. This Actor handles all three and hands back one clean row per establishment.

🔥 What we handle for you

sends the x-api-version header the API requires, avoiding its misleading 404 joins the FSA's four numbered address lines into one readable field keeps Scotland's non-numeric FHIS ratings instead of dropping them on a numeric filter

💡 Use cases

  • Build a hospitality prospect list with names, addresses and phone numbers by council area.
  • Screen suppliers or franchise sites against their current hygiene rating.
  • Track rating changes across a chain or a town over time.
  • Map food businesses in a catchment area using the published coordinates.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
businessNamestringno'cafe'Match establishments whose name contains this text. Leave empty to filter by authority or town instead.
localAuthorityIdstringno'—'FSA local authority ID, e.g. 413. Use this to pull a whole council area.
addressstringno'—'Match on address text — a town, street or postcode fragment.
minRatingintegerno0Only establishments rated at least this (0-5). Leave at 0 for every rating. Non-numeric ratings (Scotland's…
maxResultsintegerno100Stop after this many establishments. Each one is one billed result row.
proxyConfigurationobjectno{'useApifyProxy': False}The FSA API is public and does not need a proxy. Leave this off unless your account requires egress through Apify Proxy.

Example input

{
"businessName": "cafe",
"maxResults": 3,
"proxyConfiguration": {
"useApifyProxy": false
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
fhrs_idintegerFSA establishment identifier.
business_namestringTrading name.
business_typestringFSA business category.
rating_valuestringHygiene rating: 0-5, or Pass / Improvement Required in Scotland.
rating_datestringDate of the rating inspection.
addressstringStreet address, joined from the FSA's four address lines.
postcodestringPostcode.
phonestringRegistered phone number, when published.
local_authoritystringLocal authority name.
local_authority_websitestringLocal authority website.
latitudenumberLatitude, when geocoded.
longitudenumberLongitude, when geocoded.
scheme_typestringFHRS (England/Wales/NI) or FHIS (Scotland).

Example output

{}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.05One-off warm-up charge per run
result$0.002Per dataset item

Example: 1 000 results at the rates above ≈ $2.05. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

  • Returns the current rating only — the API does not expose full inspection history.
  • Phone numbers and coordinates are published for most but not all establishments.

❓ FAQ

Do I need an API key?

No. The FSA API is open. The Actor sends the version header the API requires, which is the usual reason a hand-rolled request gets a confusing 404.

Why must I set a filter?

The API rejects an unfiltered query with a 403 explaining it is CPU intensive. Give it a name, an authority or an address and it answers immediately.

What about Scottish ratings?

Scotland uses FHIS (Pass / Improvement Required) rather than 0-5. Those rows come through unchanged and are never dropped by the minimum-rating filter.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.