Vet Fee Benchmark

What the practice down the road charges

UK veterinary price comparison, from the fee lists practices publish themselves

Every figure on this site comes from a price list a veterinary practice published on its own website. We read it politely, keep the source URL and the date, and turn the practice-by-practice prices into percentile bands — so you can see the range without anyone being named as expensive.

We use the postcode only to pick a region. It is not stored against anything you tell us, and there is nothing to sign up for.

178practices read
1030published prices
349pages read
1postcode areas with a band

The published range right now

ServiceMedianMiddle halfPracticesAreas with a band
Consultation£56.00£50.00 – £62.501191
Dog vaccination / annual booster£62.37£52.00 – £72.32820
Cat vaccination / annual booster£65.00£55.24 – £75.00810
Puppy vaccination course£90.00£78.42 – £100.62760
Kitten vaccination course£91.41£80.00 – £110.00740
Male cat neuter (castration)£99.00£87.24 – £110.13870
as published · read 29 Sep 2026
178 practices · 1030 price rows

Median and middle half of what practices publish, each practice counted once at its most recent reading. A band is published only from 5 or more practices in a region, and 10 or more nationally.

For veterinary practices

The benchmark is free to read. A practice account (£39/mo) puts your own prices into the same table: your position against your region, the movements we detected in your area with their sources and dates, CSV export, and a weekly digest by email.

It is built for independent practices — the ones who cannot see what the practice down the road charges, and who are asked to price against a market they have no visibility of. SPVS's own 2025 fee survey drew 148 practices and still could not publish a regional breakdown; this is the same job done from public lists.

Subscribe — £39/mo What the £39/mo plan includes Create an account

The button is the payment link itself: a test-mode Stripe checkout. No money moves during the pilot.

How this is built

  1. Read only what a practice publishes. Its own price list pages, one host at a time, respecting robots.txt, cached so a re-parse never means a second visit.
  2. Keep the provenance. Every price row carries its source URL and the date it was read; the method page says which pages, and the sources page lists every practice whose list we read.
  3. Normalise conservatively. "Small animal consultation", "Consult", "Standard appointment" all become one service; a line that does not clearly name a service stays out of the numbers.
  4. Queue, then approve. Nothing reaches a published band without a human approving the row against the page it came from.

No estimates, no interpolated prices, no data bought from an aggregator. A missing price stays missing.

Postcode areas with a published band

Bands are published where at least five practices in the area publish that service. 1 area currently qualify — RM (Romford).

All regions with published prices