Nutcracker
SearchFor youComing upPipelineSavedBuyers & suppliersGuides
SearchCategoriesPopular topicsBuyersSuppliersGuidesNewsFeaturesPlansSupport
Terms of ServicePrivacy PolicyCookie PolicyData Processing AgreementSubprocessorsImprint
Data: TED (Publications Office of the EU); Hilma (Hansel Oy / State Treasury of Finland); BOAMP – DILA (Licence Ouverte 2.0); Bekanntmachungsservice / Datenservice Öffentlicher Einkauf; TenderNed (CC0); Doffin (DFØ); KIMDIS – Hellenic Republic (CC BY 4.0); simap.ch; PLACSP – Ministerio de Hacienda; ANAC Pubblicità Legale; Kerndatenquellen (data.gv.at); Portal BASE – IMPIC; VVZ – NIPEZ; SICAP – ADR; Riigihangete register (Estonia); IUB (Latvia, CC0); Prozorro (Ukraine); Javne informacije Slovenije – portal javnih naročil; MTender (Moldova); Útboðsvefur (Iceland); BZP – Urząd Zamówień Publicznych (PL); CAIS EOP – Public Procurement Agency (BG, CC0); udbud.dk – Erhvervsstyrelsen (DK); © European Union, EU Funding & Tenders Portal (CC BY 4.0); Find a Tender, Public Contracts Scotland – contains public sector information licensed under the Open Government Licence v3.0. Maps: © OpenStreetMap contributors (ODbL), Protomaps; region boundaries and postcodes © EuroGeographics / Eurostat GISCO (CC BY-SA). ·

We use cookies for two optional purposes: analytics (Google Analytics: how Nutcracker is used) and advertising (measuring which ads bring sign-ups). Nothing optional is used unless you allow it. Privacy policy

Guides › Public bidding
Public bidding7 min readUpdated 27 Oct 2026

CPV codes explained: how to find the right codes for your business

What CPV codes are, how the 8-digit structure works, the main divisions, and how to choose codes that find the tenders you can actually win.

On this page
  • What does CPV stand for?
  • How is a CPV code built?
  • The supplementary vocabulary
  • The main CPV divisions
  • How to choose the right CPV codes for your business
  • Example: a small IT company
  • Example: a construction SME
  • Where CPV codes fall short
  • CPV codes and other classification codes
  • Next steps
  • Frequently asked questions

Every public tender in the EU carries one or more CPV codes. They are the closest thing procurement has to a universal language: a Spanish hospital and a Swedish municipality buying the same thing should use the same code, whatever words they write in the title.

That makes CPV codes very useful for finding tenders, as long as you understand how they work and where they fall short.

What does CPV stand for?#

CPV is the Common Procurement Vocabulary, set up by Regulation (EC) No 2195/2002 and revised by Regulation (EC) No 213/2008, which is the version in use today. It covers works, supplies and services, and it exists in all EU languages, so code 90910000 means "cleaning services" in every one of them.

Buyers must use CPV codes in notices published under the EU directives, and most national portals use them for below-threshold notices too.

How is a CPV code built?#

A CPV code has eight digits followed by a check digit, for example 45000000-7 (construction work). The check digit only verifies the other digits, so you can ignore it when searching.

The eight digits form a tree. Each level narrows the subject:

Contract notice1BuyerWho buys, contact point2SubjectTitle, description, CPV codesCPV3LotsParts you can bid for separately1234DeadlineTime limit for tenders5Award criteriaHow tenders are scored6DocumentsWhere to get the full tender
The six parts to read in every notice
DigitsLevelExampleMeaning
First 2Division45000000Construction work
First 3Group45200000Works for complete or part construction and civil engineering work
First 4Class45210000Building construction work
First 5Category45214000Construction work for buildings relating to education and research
Last 3More precise45214200Construction work for school buildings

The zeros at the end mean "everything under this level". That's why searching with a short prefix such as 45 catches all construction work, while 45214200 is very specific.

The supplementary vocabulary#

There is also a supplementary vocabulary with alphanumeric codes describing extra characteristics, such as the material, the purpose or the way something is delivered. It's used much less often and is rarely useful for searching.

The main CPV divisions#

Here are the divisions small companies most often bid in:

DivisionSubject
03Agricultural, farming, fishing and forestry products
09Petroleum products, fuel, electricity and other sources of energy
15Food, beverages, tobacco and related products
18Clothing, footwear, luggage and accessories
22Printed matter and related products
30Office and computing machinery, equipment and supplies
33Medical equipment, pharmaceuticals and personal care products
34Transport equipment and auxiliary products
39Furniture, furnishings, domestic appliances and cleaning products
44Construction structures and materials
45Construction work
48Software packages and information systems
50Repair and maintenance services
55Hotel, restaurant and retail trade services
60Transport services
64Postal and telecommunications services
71Architectural, construction, engineering and inspection services
72IT services: consulting, software development, internet and support
73Research and development services
77Agricultural, forestry, horticultural services
79Business services: law, marketing, consulting, recruitment, printing and security
80Education and training services
85Health and social work services
90Sewage, refuse, cleaning and environmental services
92Recreational, cultural and sporting services

How to choose the right CPV codes for your business#

  1. 1

    Start with the division.

    Pick the one or two divisions that describe what you deliver. An IT company might start with 72 (IT services) and 48 (software).

  2. 2

    Look at real tenders.

    Find ten recent tenders you would have wanted to bid for and note their main and additional CPV codes. This shows how buyers actually code your type of work.

  3. 3

    Collect neighbouring codes.

    Buyers often code the same work differently. Software development might appear under 72200000 (software programming and consultancy), 72260000 (software-related services) or 48000000 (software packages).

  4. 4

    Decide the level.

    Use a broader prefix where you deliver most things in the group, and specific codes where only a niche fits.

  5. 5

    Add keywords.

    Pair your codes with the words buyers use, to catch tenders coded too broadly or in an unexpected division.

Example: a small IT company#

A software company building case management systems for municipalities first searched only 72000000. It got hundreds of irrelevant results (hardware support, telecoms, IT staffing). By looking at tenders it actually wanted, it found buyers mostly used 48000000 and 72200000 with words like "case management", "e-services" and "system renewal". It narrowed its search to those codes plus keywords and added "municipal" buyers via a country filter.

Example: a construction SME#

A roofing company starts with 45260000 (roof works and other special trade construction works). But many school and housing renovations that include roofing are coded broadly as 45000000 or 45453000 (overhaul and refurbishment work). The company keeps 4526 as its core code and adds a keyword search for "roof" within division 45.

Where CPV codes fall short#

  • Buyers code inconsistently. The same purchase can appear under different codes, and multi-part contracts often get only a broad main code.

  • Codes are old. The vocabulary dates from 2008, so newer things (cloud services, some digital services) don't have neat codes.

  • One main code per notice. A facility management contract may be coded as cleaning even if it includes security and maintenance; check the additional codes and lot descriptions.

  • Mixed contracts. If a contract combines works and services, the main CPV code follows the main subject, which may not be the part you care about.

Tip

Don't use CPV codes alone as a yes/no filter for bidding. Use them to find candidates, then read the description and lots.

CPV codes and other classification codes#

You'll meet a few related codes in notices:

  • NUTS codes show where the contract is performed: for example FI1B is Helsinki-Uusimaa. Use them to filter by region.

  • eForms codes in TED describe the notice type, procedure and other fields in a structured way.

  • National platforms sometimes add their own categories, but they almost always map to CPV.

How Nutcracker helps

In Nutcracker you can filter by CPV code at any level (type "72" for IT services, "45" for construction or a full code like 90910000), or skip codes and describe what you sell in plain language. The search matches by meaning, so tenders coded under an unexpected division still show up. The Categories pages show, for each CPV category, the volumes, the most active buyers and the open tenders.

Next steps#

With your codes and keywords ready, turn them into saved searches so new tenders reach you automatically.

How to find public tenders in the EU: TED, national portals and alerts7 min read
Alerts and e-mail digests5 min read

Frequently asked questions

What is a CPV code?

CPV stands for Common Procurement Vocabulary, the EU's classification of what public buyers purchase. Each code has eight digits plus a check digit, for example 45000000-7 for construction work. Every notice on TED carries a main CPV code and often additional ones.

How do I find the CPV code for my product or service?

Start from the two-digit division that covers your field (for example 72 for IT services or 90 for cleaning and environmental services), then drill down to more specific codes. Check which codes buyers actually used in tenders similar to the ones you want to win.

Do I need to register CPV codes to bid?

No. CPV codes describe the contract, not your company. Some national platforms and bidder registers ask you to choose CPV codes for notifications, but they don't limit what you can bid for.

Should I search by CPV code or by keyword?

Both. CPV codes find notices in any language, but buyers often choose broad or unexpected codes. Keywords catch what the codes miss. A combination of a few divisions and good keywords gives the best coverage.

Put it into practice

Search open tenders across Europe and save your searches to get new ones by email.

Search tendersSet up alerts
← PreviousEU procurement thresholds 2026–2027 (and what happens below them)Next →What is the ESPD? Exclusion grounds, selection criteria and certificates

On this page

  • What does CPV stand for?
  • How is a CPV code built?
  • The supplementary vocabulary
  • The main CPV divisions
  • How to choose the right CPV codes for your business
  • Example: a small IT company
  • Example: a construction SME
  • Where CPV codes fall short
  • CPV codes and other classification codes
  • Next steps
  • Frequently asked questions

Related guides

  • How to find public tenders in the EU: TED, national portals and alerts

    Where public tenders are published in Europe, how TED and national portals differ, and how to set up searches and alerts so you never miss a tender.

    7 min read
  • How to read a tender notice: lots, deadlines, value and documents

    A field-by-field guide to tender notices: buyer, CPV, lots, estimated value, deadlines, procedure and award criteria, and what to check before you bid.

    7 min read
  • Searching for tenders

    How Nutcracker's search works - meaning-based search in any language, filters for country, sector, notice type and CPV, search links and the notice page.

    5 min read