EU TED & UK Find a Tender Scraper avatar

EU TED & UK Find a Tender Scraper

Pricing

from $3.00 / 1,000 tender results

Go to Apify Store
EU TED & UK Find a Tender Scraper

EU TED & UK Find a Tender Scraper

Monitor UK and EU public tenders from Find a Tender, Contracts Finder and TED in one clean feed. Filter by keyword, CPV, country, region, value, deadline and status, and get only new tenders on each scheduled run.

Pricing

from $3.00 / 1,000 tender results

Rating

0.0

(0)

Developer

Northloop Labs

Northloop Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Find and monitor UK and EU public tenders from Find a Tender, Contracts Finder and TED in one clean, normalized feed. Enter a keyword like software or a CPV code like 72000000. You get every matching notice with its buyer, country, value, currency, CPV codes, publication date, bid deadline, status and links, in one dataset you can export to JSON, CSV, Excel or Google Sheets.

Turn on Only new since last run and schedule it daily, and it works like a tender alert: each run returns only the tenders you haven't seen yet.

The data comes from the three official sources, through their own open APIs:

SourceCoverage
Find a Tender (FTS)UK public procurement above and below threshold (Procurement Act 2023 notices)
Contracts FinderUK contracts over £12k (central government) and £30k (wider public sector)
TED (Tenders Electronic Daily)All EU/EEA tenders above the EU thresholds, in every EU language

No API key, login or proxy is needed.

What you can use it for

  • Bid and sales teams: get a daily list of new tenders in your sector (CPV) and countries before your competitors see them.
  • Consultancies and bid writers: find opportunities for clients and check who won similar contracts (status awarded, with winning suppliers).
  • Tender alert services and newsletters: feed a Slack channel, CRM, Google Sheet or email digest through the Apify API, a webhook or an integration.
  • Market research: track public spending by category, buyer and country over time.
  • SaaS and data products: one normalized schema for three sources, so you skip writing three integrations.

What data you get

FieldDescription
titleTender title (original language). TED notices also have titleEnglish
buyer, buyerCountry, buyerCityContracting authority, ISO country code and city
regionsNUTS codes (and region names on Contracts Finder) of the place of performance
statusopen, closed, awarded, planned, cancelled, modified or changed
noticeTypeNotice type from the source, e.g. cn-standard, tender, award, contract
published, deadlinePublication date and bid deadline (ISO 8601)
value, valueType, currencyEstimated or awarded value in the notice's currency
valueEurThe value converted to EUR with ECB reference rates (for filtering and sorting)
cpvCodes, cpvDescriptionCPV classification codes and the main CPV label
procurementMethod, categoryProcedure (open, restricted, competitive flexible…) and goods/services/works
awardedSuppliersWinning suppliers on award notices
descriptionDescription of the procurement (cut to 3,000 characters by default)
url, documentsUrlNotice page and the tender documents / bidding portal link
source, sourceId, procedureIdSource, notice ID and procedure ID (OCID on UK sources)
alsoListedOnThe same tender found on another source
matchedKeywordWhich of your keywords found it

How to search UK and EU public tenders

  1. Enter one or more keywords (any of them can match) and/or CPV codes.
  2. Optionally pick countries (GB, DE, FR, …), regions (NUTS codes such as UKI for London), a value range in EUR, and the status.
  3. Choose the date window (default: the last 7 days) and max results.
  4. Click Start. For alerts, turn on Only new since last run and add a schedule (for example every morning) in Apify.

Input example

{
"keywords": ["software", "cloud"],
"cpvCodes": ["72000000"],
"countries": ["GB", "IE", "DE"],
"status": "open",
"publishedWithinDays": 7,
"deadlineNotPassed": true,
"minValueEur": 50000,
"onlyNew": true,
"maxResults": 200
}

Output example

{
"title": "CPRD Feasibility Tool",
"titleEnglish": null,
"buyer": "MHRA",
"buyerCountry": "GB",
"buyerCity": "London",
"regions": ["UK", "UKI42"],
"status": "open",
"noticeType": "tenderUpdate",
"published": "2026-10-19T15:13:59+01:00",
"deadline": "2026-11-19T14:00:00Z",
"value": 3000000,
"valueType": "estimated",
"currency": "GBP",
"valueEur": 3562733.8,
"cpvCodes": ["48517000"],
"cpvDescription": "IT software package",
"procurementMethod": "Open procedure",
"category": "goods",
"awardedSuppliers": [],
"suitableForSme": null,
"description": "The requirement is for a white-labelled feasibility and population analytics platform, deployed within CPRD-managed Microsoft Azure infrastructure…",
"url": "https://www.find-tender.service.gov.uk/Notice/098594-2026",
"documentsUrl": "https://www.find-tender.service.gov.uk/Notice/Attachment/A-24343",
"source": "find-a-tender",
"sourceId": "098594-2026",
"procedureId": "ocds-h6vhtk-0776f0",
"alsoListedOn": [],
"matchedKeyword": "software",
"scrapedAt": "2026-10-19T20:17:42.045Z"
}

Tender alerts: get only new tenders every day

With Only new since last run on, the Actor stores the IDs it has already returned in a named key-value store in your own Apify account (public-tenders-monitor-state). The next run skips them, so a daily schedule gives you a daily list of new tenders only, and you pay only for those. If a tender you have already seen is later awarded, it comes back once more with status awarded (when your status filter includes awarded notices).

The memory is kept per set of filters. Change your filters and you start a fresh list. Set Monitor name if you want to keep the same memory after editing them.

How much does it cost?

This Actor uses pay-per-event pricing, so you only pay for what you get:

  • $0.005 per run (Actor start)
  • $0.003 per tender saved ($3 per 1,000 tenders)

Example: a daily alert that finds 20 new tenders costs about $0.065 per day. Duplicates between sources are merged before saving, so you never pay twice for the same tender. In monitoring mode, tenders you have already received are free. You can cap your spend with the maximum cost per run setting in Apify, and the Actor then saves only as many tenders as fit. Platform usage is included in the price.

Tips

  • Keywords: TED searches the full notice text in every EU language, so an English keyword also finds notices that use the English word anywhere, which gives broad results. Add local-language keywords (Software, logiciel, oprogramowanie) for better coverage, or turn on Strict keyword match for fewer, more relevant results.
  • CPV codes are the most precise filter across languages. 72 = IT services, 48 = software packages, 45 = construction work, 79 = business services, 85 = health and social work.
  • Regions take NUTS codes or prefixes: UKI London, UKM Scotland, DE2 Bayern, FR1 Île-de-France, PL9 Mazowieckie.
  • Values are compared in EUR. Many notices don't publish a value; switch off Keep tenders without a published value to drop them when you set a range.
  • Find a Tender has no keyword search, so the Actor reads every notice in your date window (about 3,000 a week, roughly 30 seconds). Windows over 30 days take a few minutes on that source.
  • Since the Procurement Act 2023 (February 2025) most new UK tenders appear on Find a Tender. Contracts Finder still carries many awards and smaller contracts.

Use with AI agents, MCP, Make, Zapier, n8n and the API

AI agents and the Apify MCP server

Your AI agent can run this Actor as a tool through the Apify MCP server. In Claude, Cursor, VS Code or any other MCP client, add this server URL to load only this Actor:

https://mcp.apify.com?tools=northloop-labs/public-tenders-monitor

You sign in to Apify on first connection. Agents that use the default server can also find the Actor with search-actors and run it with call-actor. Pass maxTotalChargeUsd in callOptions to cap what one run may cost. The Actor uses pay-per-event pricing, so it also works with Apify's agentic payments.

Example prompt: "Find open UK and Irish IT tenders published this week worth over 100,000 EUR, with their deadlines."

Make, Zapier and n8n

Apify has official integrations for Make, Zapier and n8n. Use "Run Actor", pick northloop-labs/public-tenders-monitor, paste your input as JSON, and send the dataset items on to Google Sheets, Slack, a CRM or email. Inside Apify you can also connect Google Sheets or Slack, or add a webhook that fires when a run finishes.

API

Run it and get the results in one call (this endpoint waits up to 5 minutes, which suits small and medium runs):

curl -X POST "https://api.apify.com/v2/acts/northloop-labs~public-tenders-monitor/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": ["software"], "countries": ["GB", "IE"], "publishedWithinDays": 7, "maxResults": 100}'

Or with the Python client (pip install apify-client). The JavaScript client works the same way:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("northloop-labs/public-tenders-monitor").call(run_input={"keywords": ["software"], "countries": ["GB", "IE"], "publishedWithinDays": 7, "maxResults": 100})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Data & privacy

  • The Actor collects only public procurement notices that the UK Government and the EU Publications Office publish as open data for anyone to reuse: titles, buyers (public bodies), values, CPV codes, dates, statuses, awarded supplier names (companies) and links.
  • It deliberately does not collect contact persons: no contact names, email addresses or phone numbers from the buyer sections of the notices. Descriptions are copied as published, and a buyer may have written a contact address into the description text itself.
  • Results are written only to your own Apify account: the run's default dataset, plus, in monitoring mode, a list of seen notice IDs in a named key-value store. The Actor sends the data nowhere else and keeps no copy. A small RUN_SUMMARY record holds only counts, queries and errors per source.

Yes, this is official open data. UK Find a Tender and Contracts Finder data is published under the Open Government Licence v3.0, and TED data can be reused free of charge under the European Commission's reuse policy (Decision 2011/833/EU). The Actor uses the official public APIs and does not log in or bypass access controls. If you republish the data, credit the source (for example "Contains public sector information licensed under the Open Government Licence v3.0"). You are responsible for how you use it, including the GDPR if you contact suppliers.

FAQ

How much do tender alerts cost?

$0.003 per tender saved plus $0.005 per run start, with platform usage included. A daily alert that finds 20 new tenders costs about $0.065 a day, or about $2 a month. In monitoring mode, tenders you already received are free. Apify's free plan includes monthly usage credit you can spend on this Actor.

How do I get new tenders by email or Slack?

Turn on Only new since last run and add a daily schedule in Apify. Then connect the Slack integration in Apify, or send each run's results to email, Google Sheets or a CRM with Make, Zapier or n8n.

Which countries are covered?

The UK through Find a Tender and Contracts Finder, and the EU and EEA through TED, which carries every tender above the EU thresholds. Smaller tenders that appear only on national portals (for example Germany's or France's) aren't covered yet, and neither is the US.

How far back can I search, and how many tenders per run?

Up to 10,000 tenders per run (maxResults). publishedWithinDays goes up to 90 days, or set publishedFrom and publishedTo for a custom window. Windows over 30 days take a few minutes on Find a Tender.

Do I need a TED or Find a Tender account or API key?

No. All three sources are open APIs, so you need only your Apify account.

Can I get every tender without a keyword?

Yes. Without a keyword or CPV code the Actor falls back to the keyword software. Turn on allowNoFilter to get every notice in your date window, and narrow it by country, region, value or status.

Yes, it's official open data. See "Is it legal to use this data?" above for the licences and how to credit the source.

Which export formats can I use?

Results land in an Apify dataset. Download them as JSON, JSONL, CSV, Excel, XML, HTML or RSS from the run page, or read them through the API, Make, Zapier, n8n or Google Sheets.

How this Actor was made

This Actor was made with AI. An AI agent wrote and tested the code, this README and the store listing, and a human owns and maintains the Actor. It uses the official APIs: the Find a Tender OCDS release API, the Contracts Finder search API and the TED API v3 search. It maps all three into one schema and converts values to EUR with ECB reference rates.

More Actors from Northloop Labs

Feedback

Want another source, such as US SAM.gov, Germany's service.bund.de, France's BOAMP or Ireland's eTenders? Open an issue in the Issues tab and we will look at it.