Government Tenders API - EU TED, SAM.gov, UK - New Alerts avatar

Government Tenders API - EU TED, SAM.gov, UK - New Alerts

Pricing

from $2.50 / 1,000 tender extracteds

Go to Apify Store
Government Tenders API - EU TED, SAM.gov, UK - New Alerts

Government Tenders API - EU TED, SAM.gov, UK - New Alerts

Multi-source government tender & public procurement feed. Official open APIs only (EU TED, UK Contracts Finder, SAM.gov). Unified schema, new-tender-only monitor mode, filters by keyword, CPV, country and value.

Pricing

from $2.50 / 1,000 tender extracteds

Rating

0.0

(0)

Developer

Agung Wicaksono

Agung Wicaksono

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Government Tenders API — EU TED, SAM.gov, UK Contracts Finder

Multi-source government tender & public procurement feed as clean JSON, from official government APIs only. No scraping, no proxies, no browser, no customer login. Point it at a schedule and it becomes a new-tender alert feed for your niche.

Sources (all official open APIs, commercial reuse permitted):

SourceCoverageAuth
TEDEU (all 27 member states)none
Contracts FinderUKnone
SAM.govUS federalyour own free API key

AusTender is deliberately not supported: it has no official API, so it is not scraped.

What you get

One row per tender, one schema for every source:

{
"source": "ted",
"raw_id": "674226-2026",
"title": "France – Repair and maintenance services of firefighting equipment",
"organization": "Banque de France",
"country": "FRA",
"published_date": "2026-10-01",
"value": 300000,
"cpv_codes": ["50413200"],
"url": "https://ted.europa.eu/en/notice/-/detail/674226-2026"
}
  • source — ted, uk_cf or sam_gov
  • raw_id — the source's own notice id, unique within the source
  • title, organization — notice title and buying organization, as published
  • country — buyer country, in the code the source uses (TED: ISO3 like DEU; UK: GB; US: US)
  • published_date — YYYY-MM-DD
  • value — estimated contract value, in the source's own currency (EUR / GBP / USD). null when the buyer published no figure
  • cpv_codes — category codes (CPV for TED/UK, NAICS for SAM.gov), de-duplicated
  • url — the notice page

Who this is for

  • Contractors and vendors selling to the public sector — get the notice while it is still open, not from a £1,359/year (Tenders Direct pricing) subscription feed.
  • Bid / tender consultancies — one schema across three jurisdictions to feed your own CRM.
  • Market analysts — track what governments buy, by category and by buyer.
  • Developers — a JSON feed you can filter and forward anywhere: Slack, email, Sheets, a database.

Monitor mode (new tenders only)

Set Only new tenders to true and schedule the Actor. It records every tender it has already delivered, so each run outputs only notices that no earlier run has seen — an alert feed, not a re-export. Tenders already seen are never billed twice, and monitor runs are billed at the cheaper new-tender-alert price instead of tender-extracted.

Filters

All optional. Combine them to narrow a source feed to your niche before anything is billed:

  • Keywords — case-insensitive match on title + buyer name (cloud, cybersecurity, road)
  • CPV codes — prefix match, so 72 catches 72000000, 72200000, … (non-EU sources match their own category code in the same field)
  • Countries — buyer country codes
  • Minimum contract value — drops below-threshold and unpublished-value tenders
  • Published since — earliest publication date
  • Max tenders per source — caps each run so the bill stays predictable

Pricing

Pay per event, no subscription:

  • tender-extracted — $2.50 per 1,000 tenders (primary event)
  • new-tender-alert — $0.50 per 1,000 new tenders (monitor mode)

Only one of the two is charged per tender. A daily monitor run pulling 200 new tenders a day costs about $0.10/day — roughly 10x cheaper than the incumbent subscription alert services, and you pay nothing when there is nothing new.

Usage

Run it from Apify Console, the API, or any scheduler:

curl -X POST "https://api.apify.com/v2/acts/<username>~government-tender-feed/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"sources":["ted","uk_cf"],"keywords":["cloud"],"minValue":100000,"onlyNew":true,"maxItems":500}'

Or with the Apify CLI: apify call <username>/government-tender-feed.

SAM.gov needs your own free key: log in at sam.gov → Account Details → API Key. Paste it into the SAM.gov API key input field; it is stored encrypted and never leaves your run.

Notes

  • Every adapter is a plain HTTP JSON call to the official API — runs in seconds, 256 MB.
  • A source that fails is logged and skipped; the rest of the run still delivers.
  • SAM.gov fails loudly when the key is missing rather than returning fabricated rows.
  • Output is the default dataset, also viewable as the Tenders table view.
  • Cheaper tender feeds exist in Apify Store; this Actor competes on official government APIs (no scraping, no proxies), a monitor mode that bills new tenders separately, and pay-per-use pricing — not on being the cheapest per 1,000 items.

Local development

python test_contract.py # schema + filter + monitor-mode contract, no network
python test_real_fetch.py # 5 live tenders per source -> probe_out/real_tenders.json
python test_only_new.py # monitor mode against a mock KV store

ADAPTER_NOTES.md documents each source's endpoint, auth and field mapping, with the raw probe responses in probe_out/.