Search TED by CPV code and catch every code below yours

On TED, a CPV code that ends in zeros also finds every code below it. Search for 90910000, cleaning services, and the results include notices tagged 90919200, office cleaning services, without you listing that code. The search does not reach the codes beside yours or the code above it.

Before you start, write down each code and the level above it

A CPV code is read from the left. The first two digits are the division, the first three the group, the first four the class and the first five the category. The zeros on the right show how broad a code is. For a cleaning firm the chain looks like this:

  • 90000000 Sewage, refuse, cleaning and environmental services (division)
  • 90900000 Cleaning and sanitation services (group)
  • 90910000 Cleaning services (class)
  • 90919000 Office, school and office equipment cleaning services (category)
  • 90919200 Office cleaning services

An IT consultancy starts from 72000000 (IT services: consulting, software development, Internet and support) and goes down to codes such as 72220000 (systems and technical consultancy services). Note the codes that describe what you sell, then the code one level up from the most precise of them. Each division, with its official wording, is set out in our full list of CPV divisions and how to read the eight digits.

Choose the search scope yourself

TED offers three search scopes, and the choice decides what a result count means:

  • “Latest OJ S issue”: notices in the most recent issue of the Supplement to the Official Journal of the EU.
  • “Active notices”: planning notices sent for publication in the past 364 days, competition notices whose deadline has not passed, and result notices sent for publication in the past 99 days.
  • “All notices”: everything published over the last 10 years.

Do not rely on the default. For guests without a TED account, quick search starts in “all notices”, according to TED’s help page on search and browse in October 2026. In March 2026 the same page gave “Active notices”. Signed-in users get whatever scope they chose in their site preferences. Pick “Active notices” when you are looking for something to bid on, and “All notices” when you want to see what a buyer has bought before and who won.

Tick “include only the latest versions” as well. When a buyer has published change notices, TED then shows only the latest one instead of every earlier version.

Enter the code in advanced search

Advanced search has nine groups of criteria. The CPV field sits in the group “Subject matter of the contract”, under “Common procurement vocabulary (CPV)”. In the same group you can add “Nature of contract” (services, supplies or works) and “Place of performance”.

Use the group “Business opportunities” to keep the results to the stage you care about. “Competition” covers contract notices and other calls for competition, “Planning” covers prior information notices, and “Result” covers award notices.

Before you run the search, click “Switch to expert mode”. The link turns the advanced search into an expert search.

A code ending in zeros catches the codes below it, not those beside it

In expert search, classification-cpv = 30* finds any CPV code beginning with 30. According to TED’s help, classification-cpv = 30* and classification-cpv = 30000000 are the two ways to search all notices in CPV tree 30. The same rule holds further down the tree: 90910000 returns the same notices as 9091*, and 72000000 the same as 72*.

The rule only runs downwards. A search on 90910000 misses notices tagged only with the group above, 90900000, or with a neighbouring code such as another class in that group. In the same way, a search on 90911200, building-cleaning services, does not return a notice tagged only 90919200, office cleaning services.

So search one level above your most precise code, and sort the results by reading the buyer’s description. Watching only the narrowest codes is one of the CPV code mistakes that quietly hide public tenders: a contract the buyer has tagged broadly never shows up. If you prefer to see the rule in the query itself, write the code with an asterisk, such as 9091*. The asterisk means the same thing and makes the rule visible in the query.

Browse the CPV tree when you are not sure of the code

Under “Browse by subject”, choose “Business sector (CPV)”. TED shows the business sectors as a tree built on the CPV. Expand the tree, or type a sector name or a code in the “Filter box”. Clicking a sector takes you to a results page with the notices for that sector.

Browsing returns “all notices” by default. Check the scope on the results page before you read anything into the number of hits. The tree is also the quickest way to find the parent code you then type into advanced search.

Combine several codes and a country in expert search

An expert query is built from field expressions. Each one has a search field, a term operator and search terms, for example publication-number = 1234-2024. Join expressions with AND, OR and NOT, and group them with parentheses. The IN operator searches a list and puts an implicit OR between the values.

A cleaning firm in Rotterdam that also works across the Belgian border could enter:

classification-cpv = 90910000 AND place-of-performance IN (NLD BEL)

An IT consultancy in Hamburg that wants both IT services and software contracts in Germany could enter:

classification-cpv IN (72000000 48000000) AND place-of-performance = DEU

Countries are written as three-letter codes, as in the help page’s own example place-of-performance IN (GRC BEL). Many fields also have shorter aliases: PC means the same as classification-cpv, and RC the same as place-of-performance. For a single region, use its NUTS code, the EU’s code for regions; RC = FRF11 is the French department of Bas-Rhin. While you type a field name, TED suggests matching fields. Click “Check syntax” before you run the query.

Save the search and let TED send you new notices

Saving needs a TED account, which you create through EU Login. Once you are signed in, the “Actions” button above the search scope gets two more options: “Save search criteria” and “Load saved search”. Anyone can print the search criteria, but only signed-in users can save them.

Up to 25 saved searches then appear in “My Dashboard”. Each has an RSS feed, switched on by default. The same dashboard lists your search alerts, also up to 25, which run daily, weekly, fortnightly or monthly. From the dashboard you can rename an alert, change its frequency, edit its query or delete it, according to TED’s help page on the TED account. Alerts arrive in the language you set as your preferred language.

Keep the account alive. TED deletes an account that stays inactive for more than 120 days and sends warning emails 90, 60 and 30 days before the deletion. Log in when one of them arrives.

Common mistakes that hide tenders on TED

  • Trusting the default scope. Set it yourself each time, or in your site preferences.
  • Searching only the most precise code. Search one level up and read the results.
  • Reading a count under “All notices” as the number of open tenders. That scope covers 10 years.
  • Mixing up buyer and place. The buyer’s “Country” is where the buyer is based. “Place of performance” is where the work is done or the goods are delivered.
  • Letting the account lapse after 120 days without activity, and the saved searches with it.

Once the alerts start arriving, the next job is choosing which notices to answer. A weighted bid/no-bid decision sorts the tenders worth your time from the rest; for the steps after that, see how the public procurement process works.

Last fact-checked: 15 October 2026