PharmSee's jobs feed tracks 547 live Boots vacancies across the UK — the largest single-employer pharmacy hiring footprint we ingest. Cycle 13 dissected the 547 by role (Dispenser-heavy, Pharmacist-light), cycle 15 dissected the cohort by hours (mean 28.6h/week, 52% part-time), and cycles 13-17 dissected it by region (Plymouth 65%, Newcastle 53%, Manchester 20%, Birmingham 13% local share). One signal still missing: store format.
This is the article that explains what would change if PharmSee enriched the Boots feed with store-format metadata pulled from the public boots.com store finder.
What we have today
The Boots scraper records title, jobType (hours and contract), salaryFrom/salaryTo (almost always null for Boots), city and postcode. The city field is sparse (most postings come back with city=null in our 200-sample), and the postcode field is also unreliable for Boots — fewer than 15% of the sample carries one.
What that means in practice: when we ran the regional concentration cuts in cycle 15, we used the /api/jobs/search?postcode=...&radiusMiles=25 endpoint, which keys off the listing's free-text store name embedded in the title rather than a reliable structured field. That worked at city granularity, but it falls apart at format granularity. We cannot tell whether the 8 Manchester M1 vacancies are city-centre Arndale postings or Trafford Park retail-park postings — they look identical in the feed.
The retail-park vs high-street distinction matters
Boots operates roughly three estate formats:
| Format | Typical staffing pattern | Typical hours profile | Typical pay band |
|---|---|---|---|
| High-street | 1 pharmacist + 2-4 dispensers | 35-40h pharmacist; 7.5-30h dispensers | community floor |
| Retail-park | 1 pharmacist + 1-2 dispensers, longer footfall hours | 37-44h often shift cover | community + premium for 7-day cover |
| Out-of-town health hub | 2 pharmacists with services revenue | 40-44h, weekend cover | community + service-uplift |
The cycle 16 Birmingham B1 audit found Boots's six operating city-core branches averaging £55,435 in dispensing revenue — the lowest operating-Boots average in PharmSee's eight-city atlas. The cycle 17 Liverpool L1 re-audit found six operating Boots branches averaging £102,970, with one Birkenhead branch (CH41 2PH) clocking £177,842 — entirely a retail-park profile. The 2× spread between Birmingham operating Boots and Liverpool operating Boots is partly a city-economy story, but it is also a format mix story: Liverpool's catchment captures Birkenhead retail-park revenue that Birmingham B1 simply does not have.
Without format metadata, PharmSee cannot disentangle the two effects. Every "Boots is closing" or "Boots is hiring" narrative is a blended average of three commercially distinct estates.
What an enrichment would unlock
A boots.com store-finder scrape — store name, postcode, format flag, weekday-vs-weekend opening hours — would fold into the existing Pharmacy table on contractorCode. The headline corrections it would trigger:
- Cycle 13's "Boots 547 by role" pivot can be split by format. If 60% of the Dispenser postings are retail-park (longer hours, less consultation work) and 40% are high-street, the cycle 13 conclusion ("Boots is dispensing-heavy") becomes "Boots's retail-park estate is dispensing-heavy, the high-street estate is closer to the chain average".
- Birmingham B1's £55,435 underperformance is reframed. If the B1 city-core six are five high-street branches plus one retail-park, the high-street average drops below £50,000 — a structural city-centre weakness, not a chain-wide one.
- The Plymouth 11× vacancy multiplier (cycle 16) becomes interpretable. If the Plymouth-region Boots are heavily retail-park (Marsh Mills, Estover, Roborough), the multiplier is partly a commuter-corridor story, not pure local concentration.
- The 200-sample sub-15-hour cohort gets a real explanation. Twenty postings under 15 hours per week are difficult to read in isolation; if 16 of them are high-street and only 4 are retail-park, the "Saturday cover" interpretation is correct, and the pay ladder should reflect that structure.
What a single sprint of work looks like
The boots.com store finder exposes a public JSON endpoint that returns store records with name, address, postcode, open hours and a storeType field that distinguishes Pharmacy / Health & Beauty / Optician / Hearingcare. A 1,800-store crawl is a small overnight job. The merge key is messy — boots.com has no contractor code — but a postcode + first-line-of-address fuzzy match against PharmSee's Pharmacy.address field gets you 85% of the way, and the residual ~15% are manageable by hand.
Cycle 18 puts this on the cycle 19 backlog as a one-day enrichment task. It is the missing third axis (after role and hours) of the Boots commercial picture.
What this means for operators today
Until the enrichment ships, treat any single Boots-region narrative as a blended average. The PharmSee location analyser can give you accurate per-postcode revenue rankings, and the pharmacy comparison tool can isolate single Boots branches by contractor code — those are the workarounds. The chain-level hiring story has to wait one more cycle.
Sources
- PharmSee jobs API:
/api/jobs/stats— 547 active Boots vacancies, cycle 18 reading - PharmSee location analyser: B1 1BB, L1 1JJ 3-mile rings (cycles 16-17)
- PharmSee research logs:
projects/pharmsee/research/2026-04-11-cycle13-batch.mdthrough cycle 17
Cycle 18 — published 11 April 2026.