Government Tenders & RFPs — EU TED, UK, SAM.gov Contracts
Pricing
from $0.70 / 1,000 tenders
Government Tenders & RFPs — EU TED, UK, SAM.gov Contracts
Public procurement notices from EU TED, UK Find a Tender, UK Contracts Finder, SAM.gov and grants.gov in one schema — title, buyer, country, CPV/NAICS, deadline and days left, value, documents and awardee. No API key, filter by keyword, code, country or date.
Pricing
from $0.70 / 1,000 tenders
Rating
0.0
(0)
Developer
Chorelet
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
21 days ago
Last modified
Categories
Share
Government tenders and RFPs from four official registers in one schema: EU TED, UK Find a Tender, UK Contracts Finder and SAM.gov. Buyer, country, publication and deadline dates, days until the deadline, value, CPV and NAICS codes, place of performance, awardee and documents — as JSON, CSV or Excel, or through the Apify API.
No API key anywhere: every source is read through the register's own public API. Point publishedSince at 24 hours, run it on a schedule, and each run returns only what was published since yesterday.
Why this Actor
- Four registers, one schema. EU TED, UK Find a Tender, UK Contracts Finder and SAM.gov normalised into the same fields — most competitors cover a single country.
- Built for a schedule. Only new since the last run remembers every notice id already delivered, so a daily run is an alert about what was published since yesterday — and a quiet day costs only the run start.
- A deadline you can sort by. TED publishes deadlines per lot and multi-lot values lot by lot; this Actor resolves one
deadline, computesdaysUntilDeadlineand sums lot values instead of reporting the first one. - Built for a daily bid desk.
publishedSince: "1 day"plus keyword, CPV, NAICS, country and value filters returns only what is new, and one failing register never fails the run. - No key to request. Every source is read through a public endpoint, including SAM.gov's own site API — no registration, no waiting for approval.
Sample output
One item of the dataset (long values shortened):
See the Output tab of any run.
What you get
- One schema across five registers — title, description, buyer, buyer country and region, published and updated dates, deadline, notice type, status, value and currency, CPV and NAICS codes, place of performance, procedure, awardee and links to the tender documents.
- A single usable deadline. TED publishes a deadline per lot; the row carries the earliest one still open, plus
daysUntilDeadlineas a plain integer so you can sort by urgency or alert on "closes in 7 days". - Filters that behave the same everywhere — keywords, CPV codes, NAICS codes, buyer countries, notice type, value floor, deadline window. Where a register can apply a filter itself it is pushed upstream; where it cannot, the Actor applies it on the way out.
- Open opportunities by default.
activeOnlydrops awards, cancellations and anything whose deadline has passed. Turn it off to collect award notices, winners and contract values instead. - Per-source reporting. Every run writes a
SUMMARYrecord with notices kept, pages scanned and the error per source — so a scheduled run can tell you which register broke, not just that something did. - A failing register never fails the run. The other four keep going.
Input
- Sources —
ted(EU TED, all 27 member states plus the EEA),uk-fts(Find a Tender, above-threshold UK),uk-cf(Contracts Finder, below-threshold UK and awards),us-sam(SAM.gov federal contract opportunities),us-grants(grants.gov federal funding, opt-in). - Keywords —
software,cloud,catering. On TED, SAM.gov and grants.gov these go into the register's own full-text index, which searches the whole notice; on the two UK registers they are matched against the title, summary, buyer and classification. - CPV codes — full or truncated:
72000000, or just72for all IT services,45for construction. European registers only. - NAICS codes —
541511, or5415for all computer services. SAM.gov only. - Buyer countries —
DE,FRA,Poland,United Kingdom; two letters, three letters or the plain name all work. - Published since —
24 hours,7 days,1 monthor an absolute2026-01-31. This is the daily-run setting. - Deadline from / to, Open opportunities only, Notice types (
planning,tender,award,amendment), Minimum contract value + currency, Max results per source. - Only new since the last run — for schedules: the Actor remembers the notice ids it has already returned per register and saves only the ones published since, so a daily run is a bid alert rather than the same page of notices. Skipped notices are dropped before the quota and before the detail pass, so they cost nothing. The state lives in a key-value store on your own account, one per task.
- Fetch full notice text and attachments — one extra request per notice on TED, SAM.gov and grants.gov: the complete notice body instead of the summary, plus links to the tender documents. Charged separately.
Limits and notes
- TED caps a page at 250 notices and rejects anything larger outright. Paging is handled for you;
maxResultsPerSourceis the only knob you need. - TED notices are filed in the buyer's own language. TED translates the standard title header into all 24 EU languages — the Actor keeps the English one — but
descriptionstays in the language the buyer filed in, usually not English.languagetells you which. - Both UK registers rate-limit hard: about a dozen requests and they answer
429with a two-minute lockout, however slowly the requests are spaced. The Actor paces itself to stay inside that and stops after 800 notices scanned per register per run;SUMMARYsetspageLimitHitwhen a source stopped early, so narrow the date window if you need to go deeper. - SAM.gov is read through the public search API sam.gov itself uses. The documented
api.sam.gov/opportunities/v2/searchendpoint needs a registered key and returns404without one, so it is not used. The public endpoint has no server-side date filter and sorts only by last modification, so on SAM.govpublishedSincemeans "published or updated since". NAICS codes and the place of performance only reach the row when "fetch full notice text" is on. - SAM.gov publishes no contract value on opportunity notices, so
valueAmountis null there. grants.gov reports the award ceiling instead of a contract value. - Values are never converted. Each notice carries the currency its buyer published; set the currency alongside a minimum value or you will be comparing euros with pounds.
- CPV exists only on the European registers, NAICS only on SAM.gov. A CPV filter does not silently empty out the US sources, and a NAICS filter does not empty out the European ones.
- grants.gov searches the whole announcement, so a keyword can match text far from the title — expect results that look off-topic until you open them. Its own date window counts whole days, so
publishedSinceis rounded up by one day there rather than cutting a notice off by a few hours. - The two UK registers already publish the full description and document list in the list response, so "fetch full notice text" does nothing extra there and is not charged for them.
Input example
{"sources": ["ted","uk-fts"],"publishedSince": "3 days","onlyNew": false,"activeOnly": true,"minValue": 0,"maxResultsPerSource": 25,"fetchDetails": false}
How much does it cost?
Pay per tender — no subscription, no minimum, no charge for platform usage.
| Volume | Price |
|---|---|
| 1,000 tenders | $1.00 (+ $2.00 with detail) |
| 10,000 tenders | $10.00 (+ $20.00 with detail) |
| 100,000 tenders | $100.00 (+ $200.00 with detail) |
The Apify free plan includes $5 of usage every month — about 5,000 tenders with this Actor, no card needed. Nothing else is charged: platform usage is included in the price, and Apify Bronze, Silver and Gold subscribers get 10%, 20% and 30% off these prices.
Use it from code, n8n, Make, Zapier or an AI agent
Run the Actor and download the dataset in one call (JSON by default; add &format=csv or xlsx):
curl -X POST "https://api.apify.com/v2/acts/chorelet~government-tenders-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"sources": ["ted", "uk-fts"], "publishedSince": "3 days", "onlyNew": false, "activeOnly": true, "minValue": 0, "maxResultsPerSource": 25, "fetchDetails": false}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("chorelet/government-tenders-scraper").call(run_input={"sources": ["ted", "uk-fts"], "publishedSince": "3 days", "onlyNew": false, "activeOnly": true, "minValue": 0, "maxResultsPerSource": 25, "fetchDetails": false})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
- n8n, Make, Zapier — use the Apify node/module: run the Actor, then "get dataset items".
- Google Sheets, Slack, webhooks — add an integration on the run's Integrations tab.
- AI agents — the Actor is available as a tool through the Apify MCP server; the dataset schema describes every field for the model.
- Schedules — run it hourly, daily or weekly from the Schedules tab.
FAQ
Which registers are covered?
EU TED (every EU member state plus the EEA), UK Find a Tender and Contracts Finder, and US SAM.gov federal opportunities. grants.gov is available as an opt-in source for US federal grants.
Can I get only the notices published since my last run?
Yes — switch on Only new since the last run. The Actor remembers the ids it returned per register in a key-value store on your account and drops them before the result cap and before any detail request, so nothing is delivered or charged twice.
Do I need an API key for SAM.gov?
No. The documented api.sam.gov endpoint needs a registered key, so this Actor reads the public search API that sam.gov's own website calls, which needs none.
How do I watch for new tenders every day?
Set Published since to 1 day, add your keywords, CPV or NAICS codes, and schedule the Actor daily. Each run returns only notices published since the last one.
Why is the value empty on some notices?
Because the register does not publish one. SAM.gov opportunity notices carry no value at all, and many UK notices omit it; the field is null rather than guessed.
What does Fetch details add?
The full notice text and the list of attachments, one extra request per notice, charged separately. The search results alone already carry title, buyer, dates, deadline, value and CPV/NAICS codes.
Support
Questions, missing fields or a source that changed? Open an issue on the Issues tab or write to support@chorelet.app — problems are usually fixed within a day, and the Actor is checked every morning by an automated test run. If the Actor saved you time, a short review on its Store page helps other people find it.