Guide

CPV codes search: find yours and the tenders that use them

CPV codes are the EU's Common Procurement Vocabulary: an eight-digit code on EU tender notices, where the first two digits name the division. Search by division plus a few words, not by one exact code: on 24 September 2026 the exact code for software maintenance was on 250 open notice rows, while its division was on 3,325.

· 7 min read

A single classification system applicable to public procurement, known as the "Common Procurement Vocabulary" or "CPV" is hereby established.

Source: eur-lex.europa.eu

On 24 September 2026, 17,666 open notice rows in Victano carried a construction code (division 45), 3,325 an IT services code (72), and 3,433 carried no CPV code at all.

Tender notices published under the EU procurement directives describe what is being bought with CPV codes. Buyers pick the codes; suppliers search and set alerts by them. The usual mistake is to find one "right" code, filter by it and assume that is the market.

What is a CPV code?

The Common Procurement Vocabulary is set by Regulation (EC) No 2195/2002. Its Article 1 opens: "A single classification system applicable to public procurement, known as the "Common Procurement Vocabulary" or "CPV" is hereby established." Each code means the same thing in every EU language, which is why one code finds a German, a Spanish and a Lithuanian notice in one search.

A code has eight digits and a check digit after a dash. The more leading digits two codes share, the closer the work:

LevelDigitsExampleCovers
Division272IT services: consulting, software development, Internet and support
Group3722software programming and consultancy
Class and category4 and 57226, 72267narrower software service types
Code872267000software maintenance and repair services
How a CPV code narrows. Labels as Victano's search returns them; the full list is in the regulation's annex and on TED's CPV search.

How many open tenders carry each division?

We counted open notices by division across Victano's 18 sources on 24 September 2026. The numbers are notice rows, so one procurement published on TED and on its national portal counts twice.

Open notice rows by CPV division, 24 September 2026

  1. 45 Construction work17,666
  2. 71 Architectural, engineering and inspection services7,974
  3. 33 Medical equipment and pharmaceuticals5,300
  4. 90 Sewage, refuse, cleaning and environmental services5,034
  5. 79 Business services3,810
  6. 72 IT services3,325
Victano search_opportunities with status open and one cpv_divisions filter per bar; the count is cpv_coverage.carry_a_cpv_code. Read 2026-09-24; the keyless trial sees data 24 hours late.

Construction is more than twice the next division. The useful part for a supplier is the next table.

Why does one exact code miss most tenders?

Because the buyer chooses the code, not you. Searching for open software maintenance work three ways on the same day:

How we searchedOpen notice rows
Exact code 72267000 only250
Division 723,325
Rows with no CPV code at all, which no code filter can select3,433
Victano search_opportunities, status open, 2026-09-24. Of the rows with no code, 2,576 come from France's BOAMP, 337 from Germany and 227 from Lithuania's CVP IS, where Victano reads the code from each notice page and had not yet read these.

In the same search, a Spanish buyer coded an Oracle maintenance contract 72267000, while a French buyer put its application maintenance contract under both 72267000 and the general IT services code. A company filtering on one code sees whichever choice happens to match its own.

Recorded run · 1tool calls

You

Find open software maintenance tenders by CPV code 72267000.

search_opportunitiesquery "software maintenance", cpv 72267000, status open

250 rows carry the code; 3,433 rows in scope carry no code and cannot be selected by any code filter

Your assistant

Top results: a German VMware vSphere Foundation maintenance subscription (closes 2 October), a German OpenText (Micro Focus) maintenance renewal (30 September), and a Spanish Oracle maintenance service worth EUR 991,000 (21 October).

The same work is often coded elsewhere in division 72, which holds 3,325 open rows. Search the division and add the words "maintenance" or "support".

One real call to mcp.victano.com on the keyless trial, 2026-09-24. We wrote the answer's wording; every title, date and sum in it is from the tool's output.

How do you find your own codes?

  1. Start from contracts you have won. Open two or three and copy the codes the buyer used. That is your most accurate list.
  2. Go up one level. Keep the first three or four digits of each code, so the codes other buyers choose for the same work are in.
  3. Check the neighbouring divisions. IT firms often fit 48 (software packages and information systems) as well as 72; builders often fit 71 as well as 45.
  4. Add words. Two or three words the buyer would write catch the notices coded unexpectedly and the ones with no code.

The TED explainer covers where these notices are published, and the bid/no-bid checklist covers what to do once the search finds one.

Do this in your assistant

Paste this

Read https://victano.com/start.md and follow the onboarding instructions. Then search open tenders in CPV division [your two digits] with the words [two or three words], in [countries], and tell me how many rows carry no code.

Connector address

https://mcp.victano.com/mcp

Search and notice records work without an account. Every source and its last read time is on /coverage; setup for each assistant is on /install.

What does code search not tell you?

Whether you may bid and whether you should. The code says what is being bought; the selection criteria, value and deadlines say who can win it. The keyless trial also sees data 24 hours late, and national portals below the EU thresholds are only as complete as the sources Victano reads, which are listed with their dates on /coverage.

Questions people ask

Do I have to put a CPV code in my bid? Usually not. The buyer states the codes in the notice; you use them to find notices and set alerts.

How many codes should I track? As many divisions and groups as match your work, usually two to five, plus a few words. Dozens of exact codes still miss the notices coded unexpectedly.

Are CPV codes the same in every EU country? Yes. It is one EU vocabulary, so a code that finds Lithuanian notices also finds German and Spanish ones.

No sign-up form. Your assistant does the rest.

Say this to Claude Code, Cursor or any assistant that sets itself up, and it connects itself.

Read https://victano.com/start.md and follow the onboarding instructions.