Public Tenders & Government Contracts Scraper: TED, UK, US, SA avatar

Public Tenders & Government Contracts Scraper: TED, UK, US, SA

Pricing

from $4.00 / 1,000 tender notices

Go to Apify Store
Public Tenders & Government Contracts Scraper: TED, UK, US, SA

Public Tenders & Government Contracts Scraper: TED, UK, US, SA

Scrape government tenders, RFPs and contract awards from EU TED, UK Find a Tender, Contracts Finder, US SAM.gov federal contract opportunities and South Africa eTenders in one schema. Filter by keyword, CPV, country, value. Daily alerts. $6 per 1,000 notices.

Pricing

from $4.00 / 1,000 tender notices

Rating

0.0

(0)

Developer

ARIA Data

ARIA Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Security

Limited permissions

Share

Public Tenders & Government Contracts Scraper: EU TED, UK, US SAM.gov & South Africa eTenders

Scrape government tenders, RFPs, public procurement notices and contract awards from five official portals in one run, in one clean schema. Search EU TED (Tenders Electronic Daily), UK Find a Tender, UK Contracts Finder, US SAM.gov (federal contract opportunities) and South Africa eTenders by keywords, CPV codes, buyer country, contract value and publication date. Then switch on monitor mode (onlyNew) and schedule it daily for tender alerts with no duplicates. From $6 per 1,000 notices ($4 on Gold), platform usage included.

Use it for: bid & tender pipelines · government sales prospecting · competitor award tracking (who won what, for how much) · GovTech / tender-alert apps · public-spending research · feeding AI agents a daily procurement feed.

SourceCoverageAPI used
🇪🇺 TED (Tenders Electronic Daily)All EU/EEA above-threshold public procurement (~3,000+ notices per working day)Official TED Search API v3
🇬🇧 UK Find a TenderUK above-threshold notices (Procurement Act 2023)Official OCDS API
🇬🇧 UK Contracts FinderLower-value UK public sector contracts (England)Official OCDS API
🇿🇦 South Africa eTendersNational Treasury eTender Publication PortalOfficial OCDS API
🇺🇸 SAM.govUS federal contract opportunities: solicitations, presolicitations, sources sought, awardssam.gov public JSON search (no API key needed)

No browser, no proxies, no scraping of HTML. This Actor uses the official open-data APIs published by the European Union, the UK Government (Open Government Licence) and South Africa's National Treasury, plus the public JSON endpoints that power the sam.gov search page. That makes it fast, cheap to run and reliable.


What does Public Tenders Monitor do?

  • 🔎 One search, five portals. Each portal is queried in parallel and normalised to the same fields: title, buyer, country, cpv, value, currency, publishedAt, deadline, procedureType, url, documents and more.
  • 🔔 Tender alerts without duplicates. With onlyNew, the Actor remembers every notice it has returned (in a named key-value store) and next time returns only new notices. You are never charged twice for the same tender.
  • 🎯 Precise filters. Keywords (whole-word, phrases allowed), hierarchical CPV codes (72000000 = all IT services), buyer countries, min/max value, notice stage (open tenders, pipeline or awards) and "only with a future deadline".
  • 🏆 Award intelligence. Switch noticeStage to award to see who won what, for how much: winners (suppliers), awarded value and buyer. That's competitor intelligence for B2B sales teams.
  • 📎 Document links. Notice PDFs, eForms XML, procurement-document portals and South African bid packs (PDF/ZIP) are listed in documents.
  • 🛡️ Robust by design. Polite per-portal rate limits, automatic retries with back-off (honours Retry-After), and per-source error isolation: if one government portal is down, the others still deliver and the run summary tells you exactly what happened.

Who is it for?

  • Bid and tender consultants: a morning feed of every relevant opportunity across the EU, UK, US federal government and South Africa, ready to triage in a spreadsheet.
  • B2B sales teams selling to government: spot buyers who are about to purchase what you sell, and use award notices to see which competitors win and at what price.
  • Tender-alert and GovTech startups: one normalised JSON feed instead of maintaining five integrations. Plug it into your app, Make, Zapier, n8n or a CRM through the Apify API and webhooks.
  • Market researchers and analysts: track public spending by CPV category, country or buyer over time.

How to use it

  1. Pick your sources (all five are selected by default).
  2. Add keywords (for example software, cyber security, cloud hosting) and/or CPV codes (for example 72000000).
  3. Optionally narrow by countries (DE, NL, GB, US, ZA…), value and stage.
  4. Choose the window: Days back (default 3) or a fixed Published since date.
  5. Click Start. Results appear in the dataset, with ready-made views: Overview, Bid pipeline and Awards & competitors. Export to Excel, CSV, JSON, or pull them via API.

⏰ Daily tender alerts (scheduling tip)

  1. Set onlyNew: true and give the search a name in monitorId (for example it-services-dach).
  2. Set daysBack to 2 or 3. The overlap means nothing is missed if a portal publishes late, and onlyNew removes the repeats.
  3. In Apify Console go to Schedules → Create schedule, pick this Actor and its saved input, and run it daily at 07:00.
  4. Add an integration (email, Slack, Google Sheets, Make, Zapier or a webhook) to receive each day's new notices automatically.

Each run then returns only the notices published since the last run, and you only pay for those.

Input example

{
"sources": ["ted", "uk_find_a_tender", "uk_contracts_finder", "za_etenders"],
"keywords": ["software", "cyber security", "cloud hosting"],
"cpvCodes": [],
"countries": [],
"noticeStage": "tender",
"daysBack": 3,
"minValue": 50000,
"includeUnknownValue": true,
"onlyOpen": true,
"maxResults": 200,
"onlyNew": true,
"monitorId": "it-services",
"includeDocuments": true
}
FieldWhat it does
sourcested, uk_find_a_tender, uk_contracts_finder, za_etenders
keywordsMatches ANY keyword; whole-word, case-insensitive, phrases allowed
keywordScopetitle_description (precise, default) or full_text (broader)
cpvCodesHierarchical: 72000000 matches all 72xxxxxx codes
countriesISO alpha-2 buyer countries; portals that can't match are skipped
noticeStagetender (open opportunities), planning, award, all
publishedSince / daysBackPublication window
minValue / maxValueCompared in the notice's own currency (no FX conversion)
includeUnknownValueKeep notices that don't publish a value (default on)
onlyOpenDrop notices whose deadline has passed
maxResultsMax notices per source
onlyNew + monitorId + stateStoreNameMonitor mode: return only notices not returned before
includeDocumentsAdd document links

Output example

One item per notice (real record from UK Find a Tender, description shortened):

{
"source": "uk_find_a_tender",
"sourceName": "UK Find a Tender",
"id": "uk_find_a_tender:100749-2026",
"noticeId": "100749-2026",
"ocid": "ocds-h6vhtk-078f99",
"reference": "ID 6637252",
"stage": "tender",
"noticeType": "tender",
"status": "active",
"title": "ID 6637252 - DfE - SRC - High Performance Liquid Chromatography (HPLC)",
"titleEnglish": null,
"description": "Southern Regional College (SRC) requires the Supply, Delivery and Commissioning of two Hi…",
"buyer": "Southern Regional College",
"buyerId": "GB-PPON-PBTJ-5492-VBGW",
"country": "GB",
"region": "Newry",
"cpv": ["38000000", "38300000", "38540000", "38434000", "51430000"],
"cpvMain": "38000000",
"cpvDescriptions": { "38000000": "Laboratory, optical and precision equipments (excl. glasses)" },
"mainCategory": "goods",
"value": 201667.0,
"currency": "GBP",
"valueType": "estimated",
"publishedAt": "2026-10-23T17:22:17+01:00",
"deadline": "2026-11-18T15:00:00+00:00",
"procedureType": "Open procedure",
"procurementMethod": "open",
"url": "https://www.find-tender.service.gov.uk/Notice/100749-2026",
"documents": [
{ "title": "Tender notice on Find a Tender", "type": "tenderNotice", "url": "https://www.find-tender.service.gov.uk/Notice/100749-2026", "format": "text/html" }
],
"suppliers": [],
"contractStart": "2027-02-26T00:00:00+00:00",
"contractEnd": "2029-02-25T23:59:59+00:00",
"language": "en",
"scrapedAt": "2026-10-23T16:30:24+00:00"
}

Every field is always present (null or [] when a portal doesn't publish it). Key fields:

  • id: globally unique <source>:<noticeId>, safe to use as a primary key in your database or CRM.
  • stage: tender, planning or award. noticeType keeps the portal's original type (e.g. TED cn-standard, OCDS tenderUpdate).
  • title is in the original language. For TED, titleEnglish adds the official English label ("Germany – Servers – …").
  • value / currency / valueType: estimated for open tenders, awarded for award notices.
  • suppliers: winning companies on award notices.

A per-run RUN_SUMMARY record in the default key-value store lists each source's status (ok / failed / skipped), notices returned, records scanned, requests made, and any error message.

UK portal rate limits. UK Find a Tender (and Contracts Finder) enforce a strict limit of about 12 API requests per window and answer extra requests with HTTP 429 plus a 2-minute Retry-After. The Actor paces UK requests about 6 s apart and reads at most 10 Find a Tender pages per run. If a UK portal still throttles (2 consecutive 429s, or it asks to wait more than 30 s), the Actor stops querying that portal for the rest of the run, logs a warning, and lists it under skippedSources (e.g. {"source": "uk_find_a_tender", "reason": "rate limited"}) in the RUN_SUMMARY / OUTPUT record. The other sources carry on, and every source has a time budget (sourceTimeBudgetSecs, default 120 s), so runs finish in a few minutes instead of timing out. Tip: avoid running several Find a Tender searches at the same moment; stagger scheduled runs by a few minutes.

Pricing

Pay-per-event, platform usage included. You pay only for notices saved to your dataset; pages scanned and filtered-out records are free.

EventFree / BronzeSilverGold
notice-result (per notice returned)$0.006$0.005$0.004
Cost per 1,000 notices$6.00$5.00$4.00
apify-actor-start (per run)$0.00005$0.00005$0.00005
  • With onlyNew, notices you already received are skipped and never charged again.
  • Set a maximum charge per run in Apify Console. The Actor stops cleanly when the budget is reached.
  • Example: a daily IT-services alert returning 40 new notices per day costs about **$0.24/day ($7/month)** on the base price.

Ready-made examples (one click to run)

US federal contract opportunities (SAM.gov scraper)

SAM.gov is the official US government system where every federal agency (DoD, Army, Navy, VA, DHS, GSA, NASA…) posts federal contract opportunities: solicitations, combined synopsis/solicitations, presolicitations, sources sought / RFIs and award notices. Select the sam_gov source to get them in the same schema as the other portals:

  • No API key needed. The Actor reads the same public JSON search the sam.gov website uses. Optionally add your own free api.data.gov key in samGovApiKey (SAM.gov → Account Details → Public API Key); it is only used as a fallback if the public route is ever blocked.
  • Keywords are searched server-side on SAM.gov (phrases in quotes) and, with the default keywordScope, re-checked on title and description.
  • Codes: SAM.gov uses NAICS and PSC instead of CPV, so they appear in cpv as NAICS:541512 and PSC:DA01 (cpvMain is the primary NAICS). When you set a CPV filter, SAM.gov is skipped automatically; use keywords for the US.
  • Stages: tender = Solicitation + Combined Synopsis/Solicitation, planning = Presolicitation, Sources Sought, Special Notice, award = Award Notices (with awardee in suppliers and the awarded amount in value, USD).
  • buyer is the department and contracting office (e.g. DEPT OF DEFENSE – NAVSUP FLT LOG CTR NORFOLK), region the US state of performance, mainCategory the small-business set-aside when there is one, url the sam.gov notice page. Attachments are on the notice page (not listed in documents).
  • Each SAM.gov notice needs one detail request for NAICS/PSC, so very broad searches (no keywords, long windows) are bounded by maxResults and the per-source time budget.

Source notes and limitations

  • TED: keyword search runs server-side across the original-language title and description and TED's English title. Notices are written in the buyer's language, so add translations (software, Software, logiciel, programvara…) or use CPV codes for best EU coverage.
  • UK Find a Tender / Contracts Finder: the official APIs have no keyword or CPV search, so the Actor pages through the date window and filters locally. Both portals enforce roughly 12 requests per minute, so the Actor paces itself; long windows (30+ days) take a few minutes. Notice pages on these sites may block non-browser traffic, but the links open normally in a browser.
  • South Africa eTenders: publishes open tenders only (no awards, no CPV codes, values usually not stated). When you set a CPV filter, eTenders is skipped automatically, so use keywords for South Africa. eTenders has no per-tender web page, so url links to the official bid document (PDF), and all bid documents are in documents. A few records occasionally break the eTenders API (HTTP 500). The Actor isolates and skips only those records and reports the count in RUN_SUMMARY.
  • US SAM.gov: see the section below.
  • Values are compared in each notice's own currency (EUR, GBP, SEK, PLN, ZAR, USD…). No currency conversion is applied.

FAQ

Is this legal? Yes. All data comes from official open-data APIs that governments publish for re-use: the EU TED reuse policy, the UK Open Government Licence, and South Africa's open data licence (PDDL) for OCDS data. SAM.gov opportunity data is public US government information. Notices describe public bodies and contracts. Contact e-mails or phone numbers included by buyers in notices are not extracted.

How fresh is the data? As fresh as the portals. TED publishes every working day, and the UK and SA portals publish continuously. A daily schedule catches everything.

Can I get only tenders I can still bid on? Yes. Keep noticeStage: "tender" and turn on onlyOpen to drop notices whose deadline has passed.

How do I track competitors? Run with noticeStage: "award" and keywords or CPV codes for your market. Use the Awards & competitors view to see winners, buyers and awarded values.

How does onlyNew work across runs? Notice ids are stored in a named key-value store (tenders-monitor-state by default, one record per monitorId) and kept for 180 days. Use a different monitorId for each saved search. To reset an alert, delete that record or change the monitorId.

What happens if a portal is down? That source is marked failed in RUN_SUMMARY and the other sources still return results. The run only fails if every selected source fails.

How do I schedule daily tender alerts? Set onlyNew: true, a monitorId and daysBack: 2, then in Apify Console open Schedules → Create schedule and run the saved input daily (e.g. 07:00). Each run returns only notices published since the last one.

Which integrations work? Any Apify integration: e-mail, Slack, Google Sheets, Google Drive, Make, Zapier, n8n, Airbyte, webhooks, plus the REST API and Python/JavaScript clients. Export to Excel, CSV, JSON or XML.

How much does a first test run cost? The prefilled input returns at most 10 notices per portal (40 max), i.e. under $0.25, and usually finishes in under two minutes.

Can I use it from my own code or an AI agent? Yes. Call it through the Apify API, the Python/JS clients or Apify's MCP server, and read the dataset as JSON.

Do you plan more countries? US SAM.gov (bring your own free api.data.gov key) is next. Open an issue to request a portal.