UK New Food Business Leads - FHRS Hygiene Ratings avatar

UK New Food Business Leads - FHRS Hygiene Ratings

Pricing

$0.50 / 1,000 per establishment returneds

Go to Apify Store
UK New Food Business Leads - FHRS Hygiene Ratings

UK New Food Business Leads - FHRS Hygiene Ratings

From $0.50 per 1,000 establishments, no start fee. Newly rated and newly registered UK food businesses from the FSA FHRS register, by date window: name, address, postcode, rating, sub-scores, geocode, council. All 363 councils, 613,379 premises, no API key. No business email or phone in this source.

Pricing

$0.50 / 1,000 per establishment returneds

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

๐Ÿฝ๏ธ UK New Food Business Leads โ€” FHRS Hygiene Ratings

Newly rated and newly registered UK food businesses, straight from the Food Standards Agency's official register. Set a date window, get the establishments that were rated in it โ€” plus the businesses that have just registered with their council and are still waiting for a first inspection. All 363 UK councils, 613,379 premises, no API key, no start fee.

This is a dated delta, not a 613,000-row dump. You can have the dump if you want it (lookbackDays: 0), but the point of the Actor is the 8,300-ish businesses that got rated last month and the ones that opened last week.


๐Ÿ“Š What one row contains

Every number below was counted, not estimated โ€” over 84,835 real establishments pulled on 2026-09-16 from 48 councils stratified across all 12 FSA regions (13.8% of the register). Literal "N/A", "-" and "" count as not filled.

FieldFilledNotes
fhrsId100%FSA's permanent id for the premises
businessName100%As published. Only 2.0% arrive in capitals, so nothing is re-cased
businessType / businessTypeId100%One of exactly 14 FSA categories
ratingValue100%0โ€“5 (FHRS) or Pass / Improvement Required / Pass and Eat Safe (Scotland)
ratingStatus100%rated, awaiting-inspection, awaiting-publication, exempt
awaitingInspection100%true on 6.78% โ€” the newest businesses in the country
newRatingPending100%true on 0.55% โ€” a re-rating is already in the pipeline
schemeType100%FHRS (England/Wales/NI) or FHIS (Scotland)
localAuthorityName / Code / Region / Website100%Which council inspects it
localAuthorityEmail100%โš ๏ธ the council's food-safety inbox, not the business's
localAuthorityBusinessId100%The council's own reference โ€” joins to council FOI data
fhrsUrl100%Link to the premises page on ratings.food.gov.uk
postcode97.88%
postcodeIsPartial100%true on 14.22% of postcodes โ€” the council published only the outward code
ratingDate90.49%null on the 9.51% carrying a pre-2000 placeholder
address86.20%The populated address lines, joined
ratingScore78.93%0โ€“5 as an integer; null for Scotland's word ratings
hygieneScore / structuralScore / managementConfidenceScore78.21%FHRS only (88.44% of FHRS rows, 0% of Scottish rows)
latitude / longitude75.53%Numbers, not strings. Never 0 โ€” measured zero fake coordinates

๐ŸŽฏ How many rows a date window actually returns

Measured on the same sample and extrapolated to the full 613,379-row register:

Window% of registerUK-wide rowsCost at $0.0005/row
Rated in last 7 days0.21%~1,272$0.64
Rated in last 14 days0.47%~2,855$1.43
Rated in last 30 days1.36%~8,314$4.16
Rated in last 90 days7.08%~43,453$21.73
Rated in last 365 days37.43%~229,604$114.80
Awaiting first inspection6.78%~41,587$20.79
Rated 0/1/2 or "Improvement Required"3.21%~19,687$9.84
Everything (lookbackDays: 0)100%613,379$306.69

Councils publish in batches, so the most recent fortnight fills in as they upload โ€” a 7-day window run today and re-run next week will not return the same rows.


โ›” The honest limits โ€” read these before you buy

1. There is no business email, and there is no business phone. The FHRS schema has no email field at all. It does have a Phone field: it was filled on 0 of 84,835 records. The bulk XML export omits the element entirely. localAuthorityEmail is 100% filled but holds one address per council (5 councils in our fixtures โ†’ 5 distinct addresses) โ€” it is the town hall's food-safety inbox. This is a premises list, not a contact list. If you need contact details you need a separate name+postcodeโ†’website enrichment step; that is a different product and this Actor does not pretend to do it.

2. Newly registered โ‰  dated. Businesses awaiting a first inspection carry the placeholder 1901-01-01 (measured on 84% of them), so they cannot be filtered by date. They are delivered as a segment (ratingStatus: "awaiting-inspection") and their ratingDate is null, never 1901. If you want a true "appeared since my last run" feed, use onlyNewSinceLastRun.

3. Not every council publishes the awaiting-inspection segment. Measured live on 2026-09-16: Liverpool 1,159, Bristol 595, Cardiff 403, Sheffield 353 โ€” but Birmingham, Leeds and Manchester returned zero. If your target city is one of those, the newly-registered half of this product does not exist there.

4. Scotland is a different scheme. FHIS publishes Pass / Improvement Required and no sub-scores whatsoever โ€” hygieneScore is null on 100% of Scottish rows. It is not missing data, it is not collected. A Scottish Pass is a good result; it is not scored 0.

5. 14.22% of postcodes are outward-code only (SW4, SE11), across 47 of the 48 councils sampled. They are flagged with postcodeIsPartial so you do not post to a postcode district.

6. The cost of a run is fixed, not per row. The FSA API refuses an unfiltered query, so a UK-wide run always reads all 363 council shards (376 requests, ~480 MB) no matter how narrow your date window is. A 1-day national window costs the same compute as a 90-day one โ€” so prefer wider windows, or narrow by localAuthorities/regions instead of by date.

7. ratingDate is the inspection date, not the publication date. A council can publish a three-week-old inspection today. That is why onlyNewSinceLastRun exists.


๐Ÿ”Œ How it reads the register

api.ratings.food.gov.uk, the FSA's own documented API, with the keyless x-api-version: 2 header (omit the header and the same URL returns 404, not 403). Measured on 2026-09-16:

  • The unfiltered query is refused โ€” by design, not by a bot wall. GET /Establishments?pageSize=10 returns HTTP 403 with the body {"Message":"This is a CPU intensive query: please use one of the documented filters in your query (e.g. filter by LocalAuthority)."} No Cloudflare, no JS challenge, no cookie, no CAPTCHA. So the Actor shards by council: 363 shards, 12 of which need a second page and one (Birmingham, 10,239 rows) a third โ€” 376 requests for the whole country.
  • Concurrency is the real constraint. At 8 requests in flight, 8 of 16 came back HTTP 429 ("This is a CPU intensive query. Please either: try again laterโ€ฆ", no Retry-After). At 5 in flight, 24 of 24 were clean; at 4, 48 of 48. The default is 4, and a 429 pauses the whole run briefly rather than retrying one request into the same wall.
  • Every page is checked against its own envelope. The API states itemCount per page and totalCount per council, so a short page is detected exactly instead of being shipped as a small council. Birmingham's three pages reconcile to 10,239 distinct ids with zero overlap.
  • Rows repeated across a page boundary are dropped before billing, so a live insert mid-sweep cannot double-charge you.

๐Ÿ’ท Pricing

$0.0005 per establishment delivered. No run-start fee. No monthly fee.

You are charged once per row that lands in your dataset. Establishments filtered out by your date window, council, business type or rating are never delivered and never charged. A run that matches nothing costs $0.00. Councils that could not be reached are listed in RUN_SUMMARY and charged nothing.

Typical runRowsCost
One city, last 30 days, incl. new registrations~200โ€“900$0.10 โ€“ $0.45
Whole UK, rated in the last 7 days~1,272$0.64
Whole UK, rated in the last 30 days~8,314$4.16
Whole UK, everything awaiting a first inspection~41,587$20.79

โš™๏ธ Recipes

Every food business rated in the last week, nationally

{ "lookbackDays": 7, "includeNewlyRegistered": false, "maxEstablishments": 0 }

Brand-new food businesses in your patch (the freshest lead in the register)

{ "lookbackDays": 0, "ratingValues": ["AwaitingInspection"], "regions": ["North West"] }

Premises that just failed โ€” the remedial-work list for a food-safety consultancy

{ "lookbackDays": 90, "ratingValues": ["0", "1", "2", "Improvement Required"], "maxEstablishments": 0 }

New restaurants and takeaways only, for an EPOS or delivery-platform rep

{ "lookbackDays": 30, "businessTypes": ["Restaurant/Cafe/Canteen", "Takeaway/sandwich shop"] }

A daily feed of what is genuinely new since you last looked

{ "lookbackDays": 0, "onlyNewSinceLastRun": true, "regions": ["London"], "maxEstablishments": 0 }

Run it on a schedule. The first run has no baseline so it returns everything in scope; every run after that returns only what this Actor has never delivered to you before.


โ“ FAQ

Does this give me the restaurant's email address or phone number? No. Neither exists in the source. There is no email field, and Phone measured 0 filled out of 84,835 records. Anyone selling you an FHRS "email list" is enriching it from somewhere else.

Why is ratingDate empty on some rows? Because the source put 1901-01-01 there. 9.51% of records carry a pre-2000 placeholder โ€” almost all of them businesses awaiting a first inspection or exempt from rating. Passing that through would put "last inspected 1901" at the top of your oldest-first sort, so it is null instead.

Why do Scottish rows have no hygiene scores? Scotland runs FHIS, a different scheme. It publishes Pass / Improvement Required and no numeric sub-scores at all. Set schemeType: "FHRS" to exclude Scotland.

What does a hygiene score of 0 mean? The best possible result. FHRS sub-scores are penalty points โ€” lower is better, and a 5-star premises typically scores 0 or 5. A null means not published; it never means 0.

Can I get the whole register? Yes: lookbackDays: 0 with maxEstablishments: 0. That is 613,379 rows, 376 requests, roughly 480 MB and several minutes โ€” and $306.69. Most buyers want a window.

How fresh is it? Each run records the API's own extractDate in RUN_SUMMARY. The register is live; councils upload in batches, and /Authorities reports each council's LastPublishedDate. On 2026-09-16, 345 of 363 councils had published within 7 days.

Why is it slow for a one-day window? Because the FSA refuses unfiltered queries, so the Actor must read every council shard and filter locally. There is no server-side date filter โ€” we tested ratingDateFrom, ratingDate and sortOptionKey=date against the live API and all three were silently ignored, returning exactly the same result as a made-up parameter.

What happens if a council is down? It is retried 5 times on a fresh proxy session, then reported in RUN_SUMMARY under authoritiesUnreachable โ€” kept separate from authoritiesWithNoEstablishments, because "we could not reach it" and "it has none" mean different things to someone working a lead list. Neither is charged for. If more than 20% of councils fail, the run stops rather than presenting a partial country as a complete one.

Can I use a residential proxy? You can, but don't. The source has no anti-bot of any kind and a national sweep reads ~480 MB โ€” datacenter is both sufficient and far cheaper.


Food hygiene ratings are UK public-sector open data, published by the Food Standards Agency under the Open Government Licence v3.0 via the FSA's own documented public API, which requires no key and no account. This Actor reads that API exactly as documented, one council at a time, and honours its stated request limits.

robots.txt: checked on 2026-09-16 โ€” https://api.ratings.food.gov.uk/robots.txt returns HTTP 404, and so does https://ratings.food.gov.uk/robots.txt. Neither host publishes a robots.txt, so there is no crawl directive to honour or breach. The Actor reads only api.ratings.food.gov.uk, the host the FSA publishes for programmatic access, and never the consumer website's search pages.

No personal data is collected: every row describes a food business premises, not an individual. Some sole traders (childminders, mobile caterers) trade under their own name, which is how the FSA publishes it. You are responsible for your own use of the data, including UK GDPR and PECR obligations if you market to these businesses.


Data source: Food Standards Agency, ratings.food.gov.uk. This Actor is not affiliated with or endorsed by the FSA.