Public Tenders API: EU TED & UK Find a Tender, No Login
Pricing
from $2.80 / 1,000 notices
Public Tenders API: EU TED & UK Find a Tender, No Login
Search public tenders from TED (EU) and Find a Tender (UK) by keyword, CPV code, country, value and date. $4.00 per 1,000 notices. One row per notice with buyer, CPV codes, deadline and estimated value. New-notice mode, Slack or webhook alerts. MCP-ready, no login or API key.
Pricing
from $2.80 / 1,000 notices
Rating
0.0
(0)
Developer
Don Mangu
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
This public tenders API searches tender notices from three official sources in one run: TED (Tenders Electronic Daily, the EU's Official Journal S), Find a Tender (the UK's public procurement notice service) and Contracts Finder (UK contracts in England, mostly the smaller ones below the Find a Tender value thresholds). You filter by keywords, CPV codes, buyer country, notice type, estimated value and publication date. It needs no login, no API key and no account on TED, Find a Tender or Contracts Finder.
You get one row per notice: title, short description, buyer organisation and country, CPV codes, procedure type, deadline, estimated value and currency, number of lots, place of performance, whether the buyer marked it suitable for SMEs, and a link to the official notice. Contact persons, e-mail addresses and phone numbers are removed from every row. The price is $4.00 per 1,000 notices.
Daily tender alerts from TED and Find a Tender
Turn on Only new notices, give the search a monitor name, schedule it once a day, and each run returns only the notices it has not returned before. Add a Slack webhook or your own webhook URL to get the new notices posted where your bid team works. Small businesses bidding for UK public sector work should add Contracts Finder under Sources, because it lists many council, school and NHS contracts that are not published on Find a Tender.
How to search EU and UK public tenders, step by step
- Open the Actor and enter one or more Keywords, for example
softwareorroad maintenance. A notice matches when it contains any of them. - Optionally add CPV codes (8 digits, such as
72000000for IT services) and Buyer countries (ISO codes such asDE,FR,IE,GB). - Keep Notice types on Contract notices to get open calls for tenders, or add prior information, award, design contest or modification notices.
- Set Published in the last (days), for example 1 for a daily alert or 30 for a first market scan.
- Set Maximum notices per source to cap the run and the cost.
- Click Start. Results appear in the Notices table and can be downloaded as JSON, CSV or Excel.
- For alerts: open Monitoring and alerts, turn on Only new notices, choose a Monitor name, add a Slack or webhook URL if you want pushes, then create a daily schedule for the Actor with this input.
Small businesses bidding for UK public sector work should add Contracts Finder under Sources, because it lists many council, school and NHS contracts that are not published on Find a Tender.
How much does it cost to search public tenders?
The Actor uses pay-per-event pricing: you pay for each notice row delivered, plus the standard Actor start event. Notices that are filtered out, notices already seen by a monitor, and failed requests are not charged.
The price is $4.00 per 1,000 notices ($0.004 per notice) on every plan. Worked example: a daily monitor that returns 25 new notices a day costs 25 x $0.004 = $0.10 per day, about $3.00 per month. A one-off scan of 2,000 contract notices from the last 30 days costs about $8.00. Set a spending limit on the run and the Actor stops cleanly when it is reached.
Input example for a public tenders search
{"keywords": ["software", "cloud hosting"],"cpvCodes": ["72000000"],"countries": ["DE", "IE", "GB"],"noticeTypes": ["contract"],"publishedSinceDays": 7,"sources": ["ted", "find-a-tender", "contracts-finder"],"maxResults": 100,"onlyNew": true,"monitorName": "it-tenders"}
All input fields:
| Field | Console name | What it does |
|---|---|---|
keywords | Keywords | Words or phrases; a notice matches any one |
cpvCodes | CPV codes | 8-digit CPV codes; children are included |
countries | Buyer countries | Buyer country codes such as DE or GB |
noticeTypes | Notice types | contract, prior, award, contest, modification |
publishedSinceDays | Published in the last (days) | 1 to 365 |
sources | Sources | ted, find-a-tender, contracts-finder (default: ted and find-a-tender) |
maxResults | Maximum notices per source | Per source, up to 10,000 |
onlyNew | Only new notices | Return only notices this monitor has not returned before |
monitorName | Monitor name | Name of the saved search for Only new notices |
slackWebhookUrl | Slack webhook URL | Slack incoming webhook for alerts |
webhookUrl | Webhook URL | Your https endpoint for alerts |
valueMin | Minimum estimated value | Lowest estimated value, notice currency |
valueMax | Maximum estimated value | Highest estimated value, notice currency |
Output example: one public tender notice
{"source": "find-a-tender","noticeId": "040001-2026","url": "https://www.find-tender.service.gov.uk/Notice/040001-2026","title": "Software framework","description": "Framework for software licences. Contact procurement on [phone removed].","buyerName": "Example NHS Trust","buyerCountry": "GBR","cpvCodes": ["72212000"],"procedureType": "open: Open procedure","noticeType": "tender","publicationDate": "2026-09-25","deadline": "2026-10-17T12:00:00Z","estimatedValue": 240000,"currency": "GBP","lotsCount": 1,"placeOfPerformance": "UKE42, United Kingdom","suitableForSme": null,"sourceAttribution": "Source: Find a Tender, https://www.find-tender.service.gov.uk. Contains public sector information licensed under the Open Government Licence v3.0."}
| Field | Meaning |
|---|---|
| source | ted, find-a-tender or contracts-finder |
| noticeId | Publication number (TED), notice ID (Find a Tender) or notice GUID (Contracts Finder) |
| url | Link to the official notice |
| title, description | Notice title and a short description (up to 500 characters) |
| buyerName, buyerCountry | Buying organisation and its country (ISO 3166 alpha-3 code, such as DEU or GBR) |
| cpvCodes | CPV codes listed in the notice |
| procedureType, noticeType | Procedure (open, restricted, ...) and notice kind |
| publicationDate, deadline | Publication day, and the earliest deadline for tenders as date and time (for restricted procedures without one, the deadline for requests to participate) |
| estimatedValue, currency | Estimated value as published, in the notice currency (empty when the notice gives none; about half of TED contract notices do not) |
| lotsCount | Number of lots |
| placeOfPerformance | Region or country where the work is done |
| suitableForSme | true when the buyer marked the contract as suitable for small and medium-sized enterprises, false when not, empty when the notice does not say (always empty for TED) |
| sourceAttribution | Source and licence line for the row |
A STATS record in the key-value store lists notices delivered and scanned per source, requests, retries, failed requests, charges and warnings.
Attribution for TED, Find a Tender and Contracts Finder data
- TED data: Source: TED, Tenders Electronic Daily, (c) European Union, https://ted.europa.eu. Reused under the TED legal notice.
- Find a Tender data: Contains public sector information licensed under the Open Government Licence v3.0.
- Contracts Finder data: Contains public sector information licensed under the Open Government Licence v3.0.
Each row carries the matching line in sourceAttribution.
Related Actors
- Company Registry Search: Use it to look up company records in the GLEIF, Norwegian (Brreg) and Finnish (PRH) registers.
- Company Name to Domain: Use it to turn a list of company names into official website domains.
- Form D Funding Rounds: Use it to find startup and fund raises from SEC Form D filings.
- Crossref Works Search: Use it to search scholarly works, DOIs and citations on Crossref.
FAQ about EU and UK public tenders
Is it legal to use this tender data? The TED legal notice says notices "can be freely reused, for commercial or non-commercial purposes" (https://ted.europa.eu/en/legal-notice). Find a Tender says "Notice data is available under the Open Government Licence" (https://www.find-tender.service.gov.uk/Developer/Documentation). Every Contracts Finder API answer carries the Open Government Licence v3 as its licence. Rows carry the attribution these terms ask for. This Actor is not affiliated with the Publications Office of the European Union, the UK Cabinet Office or any government body.
Does it return personal data? No. Contact persons, e-mail addresses and phone numbers are dropped, and e-mail addresses or phone numbers inside descriptions are replaced with [email removed] or [phone removed].
What are the limits? Up to 10,000 notices per source per run. Estimated values are shown in the notice currency without conversion; notices without a stated value are left out when you set a value range. Find a Tender and Contracts Finder cover UK notices only, so they are skipped when your countries do not include GB. Some larger UK contracts appear on both Find a Tender and Contracts Finder under different notice IDs, so choose one of the two if you do not want both copies. A Find a Tender search takes about 20 seconds per week of notices searched and looks back at most about 100 days.
How do CPV codes match? On all three sources a code covers its children: 72000000 also returns notices listed under 72321000 or 72267200.
How do keywords match? On TED, keywords match the full text of the notice in every language it is published in. A phrase such as cloud hosting must appear as written. On Find a Tender and Contracts Finder, keywords are matched in the title and description.
Why did I get zero results? Widen the keywords, remove a CPV code or a country, or raise the number of days. With Only new notices on, zero means nothing new was published since the last run of that monitor.
What if a source is slow or refuses requests? The Actor paces its reads, tries again a few times and waits when a source asks it to. If a source keeps refusing, the Actor stops reading it and says so in the status message and the STATS record, and the other sources still run. Contracts Finder asks callers to wait 5 minutes after a refusal, so the Actor stops that source at the first refusal and you can run again later.