The classification buyers file under

CPV Codes Explained: Find Yours, Win More Alerts

A CPV code is the eight-digit number a public buyer attaches to a contract to say what it is buying. CPV stands for Common Procurement Vocabulary, and every regulated notice on Find a Tender carries at least one. They look like dry administrative metadata, and most suppliers ignore them - which is exactly why they are one of the most useful things a small business can master.

The reason is simple: keyword alerts miss badly titled notices, but CPV codes do not. A buyer who titles a contract "Provision of Specialist External Works Package 4B" has still tagged it with a works CPV code. If your alerts are built on the right codes, you catch it. If they are built on the word "groundworks", you never see it. This guide explains what the codes are, how to find yours, and how to turn them into alerts that actually fire.

What a CPV code actually is

The Common Procurement Vocabulary is a standardised list of around 9,000 codes that classifies goods, services and works. Each code is eight digits plus a check digit, and the structure is hierarchical: the first two digits name a broad division, and each digit after that narrows the meaning. So 45000000 is "Construction work" in general, 45300000 is "Building installation work", and 45310000 is "Electrical installation work". The deeper you go, the more specific the category.

Buyers pick the code (or codes) that best describe their requirement and attach them to the notice. Because the vocabulary is shared across the whole system, a code means the same thing whether the buyer is a London borough or a Welsh health board. That shared meaning is what makes the codes searchable in a way free-text titles never are.

How to find the right codes for your business

Start from what you actually sell, then work down the hierarchy until the code is specific enough to be useful but broad enough not to miss adjacent work. A common mistake is going too narrow - picking one leaf code and missing every contract filed one branch over.

  • List your three or four core offerings in plain words first - "electrical testing", "kitchen refurbishment", "HR consultancy"
  • Search the CPV list on the Find a Tender service, or use the EU SIMAP CPV browser, and match each offering to a code
  • Capture the parent code as well as the precise one - the parent catches related work the buyer may have classified slightly differently
  • Check what codes appear on contracts you have already won or lost - the buyer has told you which codes your market uses
  • Build a shortlist of perhaps 5 to 15 codes, not one and not fifty - precision beats both extremes

Why they matter for alerts

Title-based searching fails in two directions. It misses relevant notices whose titles use words you did not think of, and it floods you with irrelevant ones that happen to share a word. CPV-based alerts fix both: they are anchored to what the contract is, not how it was worded. Setting alerts on your shortlist of codes across Find a Tender (and Contracts Finder for legacy and below-threshold notices) is the single most reliable way to make sure the right opportunities reach you.

There is a second, subtler benefit. Because buyers must classify their notices, reading the CPV codes on live tenders tells you which codes your buyers genuinely use - intelligence you can feed straight back into tightening your alerts. Over a few weeks the codes teach you the shape of your own market.

It is worth knowing that the same code family travels across the whole system. The CPV code on a Find a Tender notice means the same thing on Contracts Finder and on the devolved portals, so a shortlist you build once can drive alerts everywhere you sell. That portability is part of why codes outperform keywords - a keyword that works on one portal's search box may behave differently on another, but a code is a fixed reference point.

Where CPV codes stop being enough

CPV codes are powerful but blunt. They tell you a contract is "building installation work"; they do not tell you whether it is the right size for you, in your region, or worth bidding. A broad code can still surface dozens of notices a week, most of which you would never pursue. The codes get the opportunity in front of you; judgement still decides what to do with it.

That gap - between "this matched my code" and "this is worth my time" - is where a scored feed earns its keep. Classification is the start of the filter, not the end of it.

There is also a maintenance cost worth naming. Your business changes - you add a service line, drop another, decide a neighbouring region is now worth travelling to - and a code shortlist that was right last year quietly drifts out of date. A short review every few months, checking your codes still match what you actually sell and chase, keeps the alerts honest. Codes set once and never revisited slowly stop reflecting the firm they were built for.

Frequently asked questions

How many CPV codes should I use for alerts?

Usually between 5 and 15. One code misses adjacent work classified a branch over; fifty codes drown you in noise. Pick the codes that describe your core offerings plus their immediate parents, then refine as you see what they catch.

Are CPV codes the same across the whole UK?

Yes. The Common Procurement Vocabulary is a shared standard, so a code means the same thing on Find a Tender, Contracts Finder and the devolved portals. That consistency is exactly why code-based alerts travel better than keyword searches.

Do buyers always pick the right CPV code?

Not always - misclassification happens, which is why capturing parent codes as well as precise ones matters. Combining a sensible code shortlist with occasional keyword sweeps catches the notices a single approach would miss.

Let your codes work while you do the job

BidSquirrel turns your CPV codes into a single scored feed across every UK portal, then ranks each match against your business so you only read the ones worth bidding. We surface and score the work; the bid is always yours to write.

Get started 7-day free trial, then £49.99/mo. Cancel any time.