Public Tenders Scraper - EU TED & SAM.gov Government Contracts avatar

Public Tenders Scraper - EU TED & SAM.gov Government Contracts

Pricing

from $3.50 / 1,000 notices

Go to Apify Store
Public Tenders Scraper - EU TED & SAM.gov Government Contracts

Public Tenders Scraper - EU TED & SAM.gov Government Contracts

Public tenders scraper for government contracts and procurement: TED tenders (Tenders Electronic Daily, all EU countries) and SAM.gov notices in one unified format - buyer, CPV/NAICS codes, value, deadline, winning supplier, document links. Official APIs only. $3.50 per 1,000 notices.

Pricing

from $3.50 / 1,000 notices

Rating

0.0

(0)

Developer

OFFGRID LABS

OFFGRID LABS

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Public tenders scraper: EU TED and US SAM.gov government contracts in one feed

TL;DR: Public Tenders Scraper finds government tenders, RFPs, contract notices and contract awards in the European Union (TED) and the United States (SAM.gov) and returns them in one unified format: title, buyer, country, CPV / NAICS codes, estimated or awarded value, deadline, winning supplier and links to the official notice and documents. It is built for bid and sales teams, consultants, market-intelligence analysts and AI agents. You pay $3.50 per 1,000 notices saved.

It uses only the official public APIs, with no browser, login or proxy:

  • TED - Tenders Electronic Daily (Publications Office of the EU, TED Search API v3): the online Supplement to the Official Journal of the EU, which carries around 800,000 public procurement notices a year worth more than €815 billion (European Commission). No key needed.
  • SAM.gov Get Opportunities API v2 (US General Services Administration): US federal contract opportunities and awards. Needs your own free SAM.gov public API key.

What data you get

One dataset row per notice, with the same fields whatever the source.

FieldWhat it isExample
source, noticeId, noticeNumberted or sam, notice identifiersted, 760549-2026
title, descriptionNotice title and descriptionGermany – System and support services – ...
noticeType, procedureType, contractNatureNotice stage, procedure, works/supplies/servicescan-standard, open, services
buyerName, buyerCountry, buyerCityContracting authorityInformationstechnikzentrum Bund (ITZBund), DEU, Bonn
cpvCodes, naicsCodes, classificationCodeCPV (TED), NAICS and PSC (SAM.gov) codes["72250000"]
setAsideUS small-business set-aside (SAM.gov)SBA
estimatedValue, awardedValue, currencyValues where the buyer publishes themnumber or null, EUR
awardeeWinning supplier (award notices)SVA System Vertrieb Alexander GmbH
publishedAt, deadlineAtPublication date and submission deadline2026-11-03
placeOfPerformanceWhere the contract is performedDEU
contacts[]Official points of contact (SAM.gov)
url, descriptionUrl, documentUrls[]Official notice page, description link, PDF/XMLhttps://ted.europa.eu/en/notice/-/detail/760549-2026
sourceUrl, scrapedAtAPI endpoint used and scrape time

A run summary (query used, matches, API calls) is saved in the key-value store record RUN_SUMMARY.

TED (EU)SAM.gov (US)
CoverageEU/EEA above-threshold procurement + other countries publishing on TEDUS federal contract opportunities and awards
KeyNoneYour free SAM.gov public API key
FiltersKeywords (full text), buyer countries, CPV codes, notice type, valueKeywords (titles), NAICS codes, US states, notice type, value
Max per query15,000 noticesDaily quota of your key

Use cases

  • Bid and sales teams: a daily list of new tenders for your keywords, CPV or NAICS codes.
  • Market intelligence: see who buys what, for how much, and who wins (award notices with winner and value).
  • Consultants and bid writers: monitor several countries in one feed instead of many national portals.
  • Data and AI: build procurement datasets with consistent fields across the EU and US.

How to scrape public tenders

  1. Choose Sources: ted (EU, no key) and/or sam (US, needs your free key).
  2. Add Keywords (for example cybersecurity, road maintenance). TED searches the full notice text; SAM.gov searches titles.
  3. Set the date range: Published within last N days (default 7) or Published on or after.
  4. Optional filters: Notice type (open tenders / awards / planning), Buyer countries and CPV codes for TED, NAICS codes and US states for SAM.gov, Minimum value.
  5. Click Start. Schedule it daily with Published within last N days = 1 to get only new notices.

How to get a SAM.gov API key (free)

Sign in at sam.gov, open Account Details, and request a Public API Key. Paste it into SAM.gov API key (stored encrypted, never written to the dataset). Public keys have small daily quotas, so the scraper asks for 1,000 records per call and filters locally to use as few calls as possible.

Input example

{
"sources": ["ted", "sam"],
"keywords": ["cloud services", "cybersecurity"],
"postedWithinDays": 7,
"noticeCategory": "competition",
"countries": ["DE", "FR", "NL"],
"cpvCodes": ["72", "48000000"],
"naicsCodes": ["5415"],
"usStates": ["VA", "DC"],
"samApiKey": "<your SAM.gov key>",
"maxItemsPerSource": 500
}

Output example

{
"source": "ted",
"noticeId": "760549-2026",
"noticeNumber": "760549-2026",
"title": "Germany – System and support services – Rahmenvertrag für Dienstleistungen Systemmanagement pServer/AIX",
"description": "Das ITZBund möchte einen Rahmenvertrag schließen und benötigt externe Unterstützung im Bereich Systemmanagement ...",
"noticeType": "can-standard",
"procedureType": "open",
"contractNature": "services",
"buyerName": "Informationstechnikzentrum Bund (ITZBund)",
"buyerCountry": "DEU",
"buyerCity": "Bonn",
"cpvCodes": ["72250000", "72200000", "72220000", "72514000"],
"naicsCodes": [],
"classificationCode": null,
"setAside": null,
"estimatedValue": null,
"awardedValue": null,
"currency": null,
"awardee": "SVA System Vertrieb Alexander GmbH",
"publishedAt": "2026-11-03",
"deadlineAt": null,
"placeOfPerformance": "DEU",
"contacts": [],
"url": "https://ted.europa.eu/en/notice/-/detail/760549-2026",
"descriptionUrl": null,
"documentUrls": ["https://ted.europa.eu/en/notice/760549-2026/pdf", "https://ted.europa.eu/en/notice/760549-2026/xml"],
"sourceUrl": "https://api.ted.europa.eu/v3/notices/search#page=1",
"scrapedAt": "2026-11-03T01:19:09.552Z"
}

SAM.gov records also fill naicsCodes, classificationCode (PSC), setAside, contacts, awardee/awardedValue for award notices, and descriptionUrl. The dataset has two views: Overview - one row per notice and All fields - tenders and awards.

How much does it cost to scrape tenders?

Pay per event: you pay only for notices saved. Compute and proxy costs are included. The price is the same on every Apify plan.

EventCharged whenPrice
resultOne tender or award notice saved$3.50 per 1,000 ($0.0035 each)
apify-actor-startOnce per run (Apify's standard start fee)$0.00005

Worked examples

  • 1,000 notices = 1,000 × $0.0035 = $3.50 (+ $0.00005 start fee).
  • A daily alert for one market with 20-50 new notices a day: 600-1,500 notices a month = about $2.10-$5.25 per month.
  • A one-off award-notice study of 10,000 notices: $35.00.

Set Maximum cost per run in the run options; the scraper stops cleanly at the limit.

How it compares

This actorOfficial portals (TED, SAM.gov websites)Commercial tender-alert services
EU + US in one schemaYesSeparate sites and formatsOften, plus more national sources
AutomationAPI, schedules, webhooks, integrationsManual search / saved alertsEmail alerts, platform
Award winners and valuesYes, where publishedYesYes
National below-threshold portalsNot includedSeparate national sitesOften included
Cost$3.50 per 1,000 notices, pay as you goFreeSubscription

FAQ

How do I find government tenders for my industry?

Use CPV codes (TED, for example 72 for IT services or 45 for construction) or NAICS codes (SAM.gov, for example 5415), plus Keywords. Set Notice type to competition for tenders you can still bid on.

Which countries does TED cover?

All EU member states plus EEA and other countries that publish on TED (Norway, Iceland, Switzerland, North Macedonia, Serbia, Montenegro, Albania, Ukraine and others). National below-threshold tenders that are not published on TED are not included.

How do I see who won a public contract?

Set Notice type to award. Award notices fill awardee and, where published, awardedValue and currency.

Do I need an API key?

Not for TED. For SAM.gov you need your own free public API key from sam.gov (Account Details > Public API Key).

Why are some values empty?

Buyers are not required to publish every field. Many contract notices have no estimated value, and SAM.gov opportunities have no estimated value field at all.

Can I get the full SAM.gov description?

The API returns a description link (descriptionUrl); add &api_key=<your key> to read it. The scraper does not fetch it automatically, to save your daily quota.

TED data is published by the EU Publications Office for free reuse (Commission Decision 2011/833/EU), and the TED API is the official machine access. SAM.gov data is US federal public information accessed through GSA's official API with your own key. Contacts are official business contacts published on the notices; use them in line with applicable law (for example GDPR, CAN-SPAM).

Can an AI agent search tenders with this actor?

Yes. Through the Apify MCP server an agent can find it with search-actors, read the input schema and run it, for example "open IT-services tenders in Germany published this week". See Integrations.

Something wrong?

Open an issue on the Issues tab; we aim to respond within 24 hours.

Integrations

  • API: POST https://api.apify.com/v2/acts/offgrid-labs~public-tenders-eu-us/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN> with the input JSON as the body returns the notices directly (runs under 5 minutes; otherwise start a run and read its dataset).
  • Python / JavaScript: pip install apify-client / npm install apify-client, then client.actor("offgrid-labs/public-tenders-eu-us").call(run_input={...}).
  • No-code: Apify's integrations for Make, Zapier and n8n, plus Google Sheets, Slack, email, webhooks and Schedules (for example a daily tender alert in Slack).
  • MCP / AI agents: add https://mcp.apify.com?tools=offgrid-labs/public-tenders-eu-us to your MCP client to expose this actor as a tool.

Changelog

  • 2026-11-03 · README restructured (source table, cost examples, comparison, FAQ, integrations); input field descriptions rewritten with formats, defaults and examples for AI agents; output schema and dataset views described; Store title "Public Tenders Scraper - EU TED & SAM.gov Government Contracts". Removed an incorrect line about plan discounts: the price is a flat $3.50 per 1,000 notices on every plan.
  • 2026-11-03 · Output schema with Overview and All fields views; Store title aligned with search intent.
  • 2026-11-03 · First release: TED Search API v3 (no key) and SAM.gov Get Opportunities API v2 (your key), unified schema, keyword/country/CPV/NAICS/state/value/notice-type filters, RUN_SUMMARY.
ActorWhat it does
US Building Permits ScraperIssued building permits from 12 US city open-data portals
Company Registry Lookup (KYB)Company records from official business registers (UK, France, Norway, Finland) for buyers and winners
SEC EDGAR ScraperFilings, Form 4 insider transactions and XBRL financials from the SEC

// OFFGRID LABS ─────────────────────────────────────────────
// status: monitored 24/7 by a self-hosted agent swarm
// health checks: every 6h · auto-repair + rollback on failure
// sources: official public APIs and open data only
// support: open an issue — human-reviewed response within 24h
// ───────────────────────────────────────────────────────────