How we build these listings
The full method, including the parts that do not work well. If you are going to rely on this data, you should know how it was made.
The short version
Every UK food business has to register with its local council. Those registrations are published by the Food Standards Agency as the Food Hygiene Rating Scheme, under an open licence. We search that register nationally for farm-related businesses, classify what we find, attach proper geography from the ONS postcode directory, and publish one page per business.
Nothing is scraped from another directory. Nothing is written by pulling facts out of the air. If a fact is on a listing page, it came from a named source that page links to.
Step 1 — Harvest
We query the FSA API for eleven farm-related terms across the whole UK: farm, farm shop, pick your own, pyo, farm park, creamery, vineyard, orchard, smallholding, market garden and dairy. That returned 9,295 unique registered businesses on the last run.
This is a name-based search, and that is a real limitation: a farm shop registered as “Hill House Ltd” will not be found. We accept that miss in exchange for not sweeping in thousands of businesses that have nothing to do with farming.
Step 2 — Classify, and throw most of it away
Of those 9,295 records, 3,024 survive to publication. The rest are removed, in this order:
| Rule | Why |
|---|---|
| Drop care homes, schools, colleges, hospitals | “Orchard House Nursing Home” matches orchard. It is not a farm. |
| Drop a name blocklist | Farmfoods branches, pubs called The Farmers Arms, pharmacies, sheltered housing. |
| Drop “Exempt” businesses with generic names | An Exempt rating usually means low-risk primary production — a farm gate, not a shop counter. This one matters: Dumfries and Galloway council registers 230 dairy holdings this way, against 10–18 in comparable counties. Left in, they would have made it the best-served county in Britain for places to visit, which is nonsense. |
| Drop production-only premises | A business registered as “Manufacturers/packers” with a generic name is a processing unit the public cannot walk into. Explicitly named farm shops and creameries are kept whatever their registration type. |
| Drop records with no postcode | We cannot place them, so we cannot honestly list them. |
| Deduplicate on name + postcode | Businesses re-register; the register keeps both rows. |
What survives is sorted into 6 categories:
- Farm shops (2475) — Buy meat, veg, dairy and store cupboard goods direct from the people who grew them.
- Pick your own farms (16) — Pick strawberries, pumpkins and more straight from the field, in season.
- Farm parks (48) — Working farms open to visitors, with animals to meet and space for children to run.
- Vineyards (201) — English and Welsh wine at the source, with tastings and cellar door sales.
- Creameries and farm dairies (88) — Farmhouse cheese, milk and butter sold where it is made.
- Farm cafes (196) — Breakfast, lunch and cake on the farm, usually attached to a shop.
Step 3 — Locate
Each postcode goes through postcodes.io, which is built on the ONS Postcode Directory and OS Code-Point Open, to get its district, county, region and country. Where the FSA record has no coordinates, we use the postcode centroid instead.
About 15% of FSA records carry only an outward code — “NR21” rather than “NR21 7PL”. Those are placed using the outward code centroid and labelled Approximate location on the listing. We would rather show that badge than quietly drop a pin in the wrong village.
County means the administrative county where there is one, and the unitary or council area otherwise. So Devon is Devon, but Cornwall and Bristol appear as themselves. That is why there are 206 “counties” here rather than the 48 ceremonial counties of England.
Step 4 — Decide what deserves to be in Google
Not every page we build is offered to search engines. Two thresholds apply:
- Area pages need at least 3
listings. Below that the page still exists, still works, and still links
onward — but carries a
noindextag. - Listing pages are scored 0–5 on completeness: exact
location, a published hygiene rating, an inspection date, a full address,
a named registering council. Below 3 out of 5,
the page carries
noindex. The score is printed on every listing so you can see what it scored.
2,942 of 3,024 listings currently clear that bar.
Step 5 — Joining the business layer
The farm business profiles are built from a different set of sources: Companies House filings, Defra farm subsidy payments and the Environment Agency's permit register. None of these share a common identifier — Defra publishes a recipient name and a postcode district, not a company number — so the join is a matching problem, and matching problems produce wrong answers unless you are strict.
Names are normalised first: lower-cased, punctuation removed, and legal suffixes (Limited, Ltd, LLP, & Sons) stripped, so “J SMITH & SONS LTD” and “J Smith and Sons” become the same string. Candidates are then blocked by postcode district and scored:
| Evidence | Confidence | Used? |
|---|---|---|
| Exact name + exact full postcode | 97% | Yes |
| Near-exact name + exact full postcode | 90% | Yes |
| Exact name + same postcode district | 88% | Yes |
| Near-exact name + same postcode district | 74% | No |
| Exact name, no location match | 55% | No |
Anything below 85% is discarded. Every profile page prints the evidence and the confidence figure for each source it used, so you can see what the link actually rests on rather than taking the join on trust.
A company page is only offered to search engines if it has facts from at
least two sources and four joined facts overall. Companies House records on
their own — around 32,000 of them — still get a page so the record exists and
is linkable, but carry noindex.
Step 6 — Photographs and Wikipedia
A small number of listings match an entity in Wikidata. Farm names are extremely repetitive, so a name match on its own is worthless: “Rose Farm” matches a dozen unrelated articles. Every match therefore requires a strong name similarity and coordinates within about 2km of the farm itself. An earlier, looser version of this rule put a photograph of the wrong Rose Farm on a listing, which is precisely the failure the current thresholds exist to prevent.
Twenty of roughly three thousand listings clear that bar. Twelve have a photograph. Everything else has none, and the pages are built to look correct without one rather than reaching for a substitute.
We do not put stock photos on listings. Generic farm photographs appear only as headers on category pages, captioned “Illustration only — not a photograph of this business”. A pretty picture of someone else's farm shop on your listing would be a small lie told thousands of times.
Step 7 — Finding farms' own websites
The registers hold no website address, so we look for one. Candidate domains
are generated from the business name, checked by DNS, and only then fetched —
one homepage, plus at most two pages the site's own navigation points at for
contact details. We identify ourselves as StackyardBot and honour
robots.txt.
The interesting part is how many of those guesses are wrong. In a 250-farm test, 80% of guessed domains responded with a real web page, but only 22% belonged to the farm we were looking for. The rest included an advertising broker, a graphic design studio, an electronics distributor and two dozen parked domains advertising themselves for sale. Publishing on "the domain resolved" would have put a wrong link on roughly three listings in every four.
So a link is only shown once the page corroborates the match:
| Evidence | Confidence | Link shown? |
|---|---|---|
| The farm's full postcode appears on the site | 97% | Yes |
| Whole name in the page title, plus its town | 90% | Yes |
| Whole name in the page title, plus postcode district | 88% | Yes |
| Whole name in the page text, plus its town | 80% | No |
| Name in the page title and nothing else | 60% | No |
The postcode test does most of the work, and it is close to unfakeable: a stranger's website has no reason to carry this farm's postcode.
Step 8 — What we take from those sites
Opening hours, a phone number, and flags for things the site mentions — a butchery counter, raw milk, a cafe, pick-your-own. Those are facts, and facts are free to state. What we do not take is the farm's own writing. There is no summary of their site here, because a directory that saves you from visiting the business is working against the business.
Every hours listing shows the date we read it. Farm hours move with lambing, harvest and the weather, so treat anything on this site as a prompt to check rather than a timetable.
What this data is bad at
Stated plainly, because you will find these limits yourself otherwise:
- It is a register, not a directory. Businesses appear under legal names customers never see. “C M G Tucker and Son” may be the farm shop locals call something else entirely.
- Coverage follows council behaviour. Counts per county partly reflect how diligently each council registers and publishes, not just how many farms there are.
- Categories are inferred from names. A business called “X Farm Shop” that is really a wholesale depot will be miscategorised here.
- Closures lag. A business that shut last month may still be on the register, and therefore still on this site, until the next refresh.
- Hygiene ratings age. Some inspection dates are several years old. The date is always shown; judge it accordingly.
- No opening hours, ever. We do not hold them and will not guess at them.
Updates
The pipeline is three scripts — harvest, classify, enrich — and re-running it rebuilds the whole site. Data was last retrieved on 1 August 2026, and every page shows that date so you can tell how stale you are looking at.
Found something wrong? Report it here — corrections are free and so is removal.