Summary
CPV codes — Common Procurement Vocabulary — are the EU's standardised eight-digit classification system for public contracts, established by Regulation (EC) No 2195/2002. With over 9,000 individual codes covering every category of goods, services, and works, CPV codes are how contracting authorities describe what they are buying and how suppliers find relevant opportunities. Knowing which CPV codes apply to your business is essential for efficiently tracking and winning EU public contracts.
What Are CPV Codes?
The Common Procurement Vocabulary (CPV) is a single classification system for public procurement established by Regulation (EC) No 2195/2002 and last substantially revised in 2008 (Regulation (EC) No 213/2008). Every procurement notice published in TED Europa must include at least one CPV code describing the subject of the contract.
CPV codes replace the patchwork of national classification systems that previously made cross-border procurement comparison almost impossible. A German ministry, a Greek hospital, and a French university all use the same CPV code to describe, for example, desktop computers (CPV 30213300-8) or security consultancy services (CPV 79993000-1).
Each CPV code consists of an eight-digit main code plus a one-digit check digit separated by a hyphen — for example, 72000000-5 (IT services). The check digit has no classification meaning; it exists solely for data integrity.
How CPV Codes Are Structured
CPV codes follow a strict hierarchical structure:
- Division (XX000000): The broadest category. For example, 72 covers IT services and related products. There are 45 divisions.
- Group (XXX00000): A broad subcategory within the division. For example, 724 covers internet services.
- Class (XXXX0000): A more specific category. For example, 7241 covers world wide web services.
- Category (XXXXX000): A detailed category. For example, 72413 covers website design services.
- Full code (XXXXXXXX): The most specific level. For example, 72413000 covers website design services specifically.
When searching for contracts, searching at the division or group level (ending in multiple zeros) will capture all contracts within a broad sector. For highly targeted monitoring, use full eight-digit codes.
Key CPV Code Divisions by Sector
Below are the most important CPV divisions for major procurement sectors:
- 03 — Agricultural, farming, fishing, forestry: Food supplies, livestock, crop services
- 09 — Petroleum products, fuel, electricity: Energy procurement
- 15 — Food, beverages, tobacco: Catering supplies for schools, hospitals, prisons
- 33 — Medical equipment, pharmaceuticals: Healthcare procurement (CPV 33100000 = medical devices)
- 45 — Construction works: All types of construction (CPV 45000000 = general construction)
- 48 — Software packages: Enterprise software, applications, databases
- 50 — Repair and maintenance: Equipment maintenance, vehicle servicing
- 60 — Transport services: Air, road, rail, maritime logistics
- 71 — Architectural, construction and engineering services: Professional design services
- 72 — IT services: Software development, system integration, IT consulting
- 73 — Research and development: R&D services and studies
- 79 — Business services: Consulting, legal, HR, marketing, security
- 80 — Education and training: eLearning, vocational training, language courses
- 85 — Health and social work: Healthcare services, social care
- 90 — Sewage, refuse, cleaning: Environmental and cleaning services
Complete CPV Code List: All 45 Divisions
The full CPV code system has 45 divisions, each covering a distinct procurement category. Every TED contract notice must cite at least one code from this list:
| Division | Category |
|---|---|
| 03xxxxxx | Agricultural, farming, fishing, forestry and related products |
| 09xxxxxx | Petroleum products, fuel, electricity and other energy sources |
| 14xxxxxx | Mining, basic metals and related products |
| 15xxxxxx | Food, beverages, tobacco and related products |
| 16xxxxxx | Agricultural machinery |
| 18xxxxxx | Clothing, footwear, luggage articles and accessories |
| 19xxxxxx | Leather and textile fabrics, plastic and rubber materials |
| 22xxxxxx | Printed matter and related products |
| 24xxxxxx | Chemical products |
| 30xxxxxx | Office and computing machinery, equipment and supplies (excl. software) |
| 31xxxxxx | Electrical machinery, apparatus, equipment and consumables; lighting |
| 32xxxxxx | Radio, television, communication and telecommunication equipment |
| 33xxxxxx | Medical equipment, pharmaceuticals and personal care products |
| 34xxxxxx | Transport equipment and auxiliary products to transportation |
| 35xxxxxx | Security, fire-fighting, police and defence equipment |
| 37xxxxxx | Musical instruments, sport goods, games, toys, handicraft, art materials |
| 38xxxxxx | Laboratory, optical and precision equipment (excl. glasses) |
| 39xxxxxx | Furniture (incl. office furniture), furnishings, domestic appliances, cleaning products |
| 41xxxxxx | Collected and purified water |
| 42xxxxxx | Industrial machinery |
| 43xxxxxx | Mining and construction machinery |
| 44xxxxxx | Construction structures and materials; auxiliary products to construction |
| 45xxxxxx | Construction work — highest TED notice volume by division |
| 48xxxxxx | Software packages and information systems |
| 50xxxxxx | Repair and maintenance services |
| 51xxxxxx | Installation services (except software) |
| 55xxxxxx | Hotel, restaurant and retail trade services |
| 60xxxxxx | Transport services (excl. waste transport) |
| 63xxxxxx | Supporting and auxiliary transport services; travel agencies services |
| 64xxxxxx | Postal and telecommunications services |
| 65xxxxxx | Public utilities (water, electricity, gas) |
| 66xxxxxx | Financial and insurance services |
| 70xxxxxx | Real estate services |
| 71xxxxxx | Architectural, construction, engineering and inspection services |
| 72xxxxxx | IT services: consulting, software development, internet and support |
| 73xxxxxx | Research and development services and related consultancy |
| 75xxxxxx | Administration, defence and social security services |
| 76xxxxxx | Services related to the oil and gas industry |
| 77xxxxxx | Agricultural, forestry, horticultural, aquaculture and apiculture services |
| 79xxxxxx | Business services: law, marketing, consulting, recruitment, printing and security |
| 80xxxxxx | Education and training services |
| 85xxxxxx | Health and social work services |
| 90xxxxxx | Sewage, refuse, cleaning and environmental services |
| 92xxxxxx | Recreational, cultural and sporting services |
| 98xxxxxx | Other community, social and personal services |
Source: Regulation (EC) No 213/2008. The EU's CPV browser at simap.ted.europa.eu/cpv allows full-text search within any division.
How to Find the Right CPV Codes for Your Business
The EU Publications Office maintains a searchable CPV dictionary at simap.ted.europa.eu/cpv. You can search by keyword to find relevant codes. For example, searching "cybersecurity" returns CPV 72212730-5 (cybersecurity software development), 79999100 (scanning services with security implications), and related codes.
A practical approach to building your CPV code list:
- Search the CPV dictionary using 3–5 keywords that describe your core products or services
- Look at contract award notices for recently won contracts by your competitors — the CPV codes they appear under indicate relevant categories for your business
- Include both the specific code and the broader parent codes — contracting authorities sometimes use division-level codes for contracts that could reasonably be assigned a more specific code
- Review at least 20–30 recently published relevant contracts to identify all CPV codes in use for your sector
CPV Codes in Practice: Multiple Codes per Notice
A single procurement notice can include multiple CPV codes: one main CPV code that describes the primary subject of the contract, and multiple supplementary CPV codes for secondary elements. For example, a contract for IT infrastructure services might carry:
- Main CPV: 72315000-6 (Data network management and support services)
- Supplementary CPV: 72700000-7 (Computer network services)
- Supplementary CPV: 48820000-2 (Servers)
When building your search strategy on TED or on TenderMetric, search for both main and supplementary CPV codes — limiting to main CPV only risks missing relevant contracts where your sector appears as a secondary element.
CPV Code Search: How to Find Tenders by Code on TED
Knowing your CPV codes is only the first step — you then need to search TED effectively. The TED search engine at ted.europa.eu supports CPV code search as a primary filter. Here's how the most common search scenarios map to CPV inputs:
| Goal | CPV Input Strategy | Example |
|---|---|---|
| Broad sector scan | Use division-level code (XX000000) | 72000000 — all IT services |
| Specific service targeting | Use full 8-digit code | 72413000-8 — website design |
| Multiple related codes | Add several CPV codes in one search (OR logic) | 72200000 + 72300000 + 72400000 |
| Cross-sector contracts | Include supplementary CPV codes — search both main and secondary | 79410000 (consulting) often supplemented with 72000000 on digital projects |
| Unknown CPV for new product | Search the EU CPV browser by keyword, then confirm with TED results | Search "drone" → CPV 35613000-4 (unmanned aerial vehicles) |
| Market intelligence | Search Contract Award Notices (CANs) by CPV to see who has won similar contracts | 45215000 (hospital construction) CANs show award values and winning bidders |
The EU Publications Office also maintains a standalone CPV code search tool at simap.ted.europa.eu/cpv — enter any keyword and it returns matching codes with their full descriptions and hierarchy level. This is the fastest way to identify codes for unfamiliar product or service categories.
CPV Code Limitations
CPV codes are powerful but imperfect. Contracting authorities do not always assign the most accurate or specific code, particularly for multi-disciplinary contracts. A digital transformation project might be coded under consultancy services (79410000) by one authority and IT services (72000000) by another. This inconsistency means keyword searches and free-text alerts should complement CPV code monitoring rather than replace it.
The CPV system is also under periodic review. The current 2008 version of the CPV does not reflect new technology categories well — there are no codes specifically for artificial intelligence, cloud computing, or cybersecurity services as distinct procurement categories, meaning these contracts are distributed across older generic codes (primarily 72000000 and 48000000). The European Commission has been conducting a formal review of the CPV since 2022, with a focus on whether the vocabulary should be updated to reflect modern service categories including AI, cloud, and managed security services. Until an updated CPV is published, keyword search on TED remains an essential complement to code-based monitoring for technology contracts.
Key Takeaways
- CPV codes are mandatory on every TED contract notice — every supplier should know their 3–7 core codes that match their service offering.
- The main CPV determines the applicable procurement threshold; supplementary CPVs describe additional scope — both are fully searchable on TED.
- CPV assignment is inconsistent across contracting authorities — always combine CPV code alerts with keyword searches and buyer-name monitoring.
- The 2008 CPV vocabulary has no dedicated codes for AI, cloud computing, or blockchain — these contracts appear under 72000000 (IT services) and 72200000 (software programming).
- Monitoring adjacent CPV codes (one level up in the hierarchy) captures contracts your core codes miss due to inconsistent classification.
Actionable Steps
- Identify your 3–5 core CPV codes by searching TED for similar contracts you have won or competed for — check both main and supplementary codes used.
- Set up free TED email alerts with your core CPV codes and target country filters at ted.europa.eu/en/search/latest-opportunities/search.
- Add parent-level CPV codes (e.g., 72200000 for all software) as secondary alerts — they catch contracts with imprecise classification.
- Cross-check your CPV selection against the EU's official CPV browser at simap.ted.europa.eu/cpv/ — verify your codes match current descriptions.
- Use TenderMetric's CPV filter to browse live EU tenders by code — filter by CPV prefix to see volume and contract values in your category.
Frequently Asked Questions
What are CPV codes in EU procurement?
CPV codes (Common Procurement Vocabulary) are the EU's standardised 8-digit classification system for public contracts, established by Regulation (EC) No 2195/2002. Every procurement notice on TED Europa must include at least one CPV code. There are over 9,454 individual codes across 45 divisions, covering every category of goods, services, and works purchased by public authorities.
How do I find the right CPV code for my business?
Use the EU's official CPV browser at simap.ted.europa.eu/cpv — search by keyword and it returns matching codes with full descriptions. Also check contract award notices for recently won contracts by competitors to see which CPV codes they appear under. Build a list of 3–7 core codes, including both specific full codes and broader parent division codes.
What CPV codes cover IT and software services?
IT services fall under division 72xxxxxx (IT services) and 48xxxxxx (software packages). Key codes: 72000000-5 (IT services general), 72200000-7 (software programming & consultancy), 72413000-8 (website design), 72315000-6 (data network management), 48000000-8 (software packages). There are no dedicated CPV codes for AI or cloud — these appear under 72000000.
How many CPV codes are there?
The current CPV system (Regulation EC 213/2008) contains 9,454 individual codes organised into 45 divisions. The hierarchy runs from Division (2-digit, broadest) through Group, Class, and Category to the full 8-digit code. The CPV was last substantially revised in 2008 and has no dedicated codes for AI, cloud computing, or blockchain.
Can I search for EU tenders by CPV code on TED?
Yes. TED Europa (ted.europa.eu) supports CPV code as a primary search filter. Use division-level codes (e.g. 72000000) for a broad sector scan, or full 8-digit codes for specific targeting. Add multiple CPV codes in a single search using OR logic. Always search both main CPV and supplementary CPV codes — limiting to main CPV only misses contracts where your sector appears as a secondary element.