TED · SAM.gov · Grants.gov
SAM.gov scraper — TED tenders, Grants.gov notices, and bid alerts
SAM.gov Scraper (Store actor taroyamada/procurement-intel-actor) is the TED / SAM.gov / Grants.gov bid-alert queue. It searches official TED, SAM.gov, and Grants.gov / Simpler.Grants.gov notice APIs.
Start TED-only with no API key, then add Grants.gov, then the US lane once a SAM.gov key is available. This Actor is a public-sector bid-alert queue — not Google News RSS, not PubMed citation watch, and not a website or article HTML extractor. If the job is cleaning page URLs for RAG, see Article Content Extractor vs Website Content Extractor for RAG.
Open Input → Start. 1 TED opportunity + report/export OFF ≈ $0.008 if one row delivers. From $8.00 / 1,000 rows. No live start charge.
Open Input → Start Store listing
Cheapest first paid run · NAICS bid alerts as CSV · TED + SAM desk deadlines · Need article HTML instead?
What is SAM.gov Scraper Apify?
SAM.gov Scraper Apify is the taroyamada Store actor procurement-intel-actor (TED, SAM.gov & Grants Bid Alerts Scraper). It searches official TED, SAM.gov, and Grants.gov / Simpler.Grants.gov notice APIs and returns source-linked bid alerts. The live listing is https://apify.com/taroyamada/procurement-intel-actor.
How do I use SAM.gov Scraper Apify?
Start TED-only with no external key. The cheapest first paid cap is maxItemsPerSource 1 on one source ($0.008 if one row is delivered; empty queues are $0). See the cheapest first paid run.
Where is the SAM.gov Scraper Apify Store page?
The live listing is https://apify.com/taroyamada/procurement-intel-actor. This page is the English landing.
Public-sector bid alerts, not Google News RSS and not PubMed literature
Use this page when the job is monitoring official TED, SAM.gov, and Grants.gov / Simpler.Grants.gov notice feeds into one reviewable queue. Use Google News Scraper when the job is query-based Google News RSS headlines and article URLs. Use PubMed Literature Watch & Research Report when the job is NCBI E-utilities citation metadata. Use Article Content Extractor or Website Content Extractor when the input is a list of page URLs to clean — Article vs Website Content Extractor for RAG. G2 or Capterra review pages are a different source: G2 + Capterra dual-source vs single-source.
| This Actor | Google News Scraper | PubMed Literature Watch | |
|---|---|---|---|
| Intent | TED / SAM.gov / Grants.gov bid-alert queue, award watch, rebid signals, deadline and status deltas | Discover current article URLs by news query | PubMed literature watch, citation reports, and new-PMID alerts |
| What it reads | TED, SAM.gov, and Grants.gov / Simpler.Grants.gov notice APIs | Google News RSS | Official NCBI ESearch and ESummary JSON |
| Primary input | Jurisdictions, keywords, CPV/NAICS codes | News queries (max 50) |
PubMed searchTerms or known pmids |
| Primary output | Normalized tenders/grants, alerts, optional procurement report/export | Headline, article URL, publisher, timestamps, snippet | Citation metadata, literature-update reports, citation exports, new-publication alerts |
| HTML / full text | Not a page extractor | No. Discovery only; not article bodies | No. Citation metadata only; not abstracts or full text |
Use cases
- Business development teams: turn TED, SAM.gov, and Grants.gov opportunity noise into one shortlist of current bids worth opening today.
- Capture / bid managers: spot deadline pressure, strategic-value tenders, award-watch rows, and rebid hints in one queue.
- Public-sector consultants: keep a reusable buyer/framework watchlist without maintaining source-specific scrapers.
- RevOps / automation teams: push recurring procurement summaries into CRM, Slack, webhook routers, or internal dashboards.
- Grants teams: add Grants.gov closing-soon and status-delta alerts once the TED starter lane is already useful.
How is TED, SAM.gov & Grants Bid Alerts different from Google News Scraper and PubMed Literature Watch?
This Actor is a public-sector procurement queue. It searches official TED, SAM.gov, and Grants.gov / Simpler.Grants.gov notice APIs and returns normalized TED tenders, SAM.gov opportunities, Grants.gov notices, deadline/status alerts, and optional award-watch or rebid signals. Google News Scraper is query-based Google News RSS discovery of headlines and article URLs; it does not read procurement notice APIs and it does not clean HTML. PubMed Literature Watch & Research Report queries NCBI E-utilities for citation metadata, literature-update reports, and new-PMID alerts; it is not a bid queue. This page is TED/SAM.gov/Grants.gov bid alerts, not news RSS and not PubMed. Page-URL HTML cleanup: Article vs Website Content Extractor for RAG.
What is the TED-only first run for a bid-alert queue?
Start TED-only. Live Input needs no external key:
{
"jurisdictions": "eu",
"keywords": "cybersecurity",
"daysAhead": 7,
"maxItemsPerSource": 1,
"generateReport": false,
"emitExport": false,
"delivery": "dataset",
"dryRun": false
}
jurisdictionsdefault iseu(TED tenders). Addgrantsfor Grants.gov notices, thenusfor SAM.gov opportunities when you have a SAM.gov API key.keywordsdefault iscybersecurity. Keep terms narrow enough that the first queue feels reviewable.daysAheaddefault is 7.minValuedefault is 100000 and can empty the first queue — lower it or widen CPV before raisingmaxItemsPerSource.maxItemsPerSourcedefault is 1 (≈ $0.008 if one row delivers). Raise it only after the first proof is useful.
If us is present without a SAM.gov key, the actor warns and skips that source instead of failing the whole run. Leave generateReport and emitExport off on the first paid run ($5 and $7 events). See SAM.gov scraper & grants scraper: cheapest first paid run.
Run this TED-only first paid input on Apify
What bid-alert payload surfaces does a procurement run emit?
A normal run returns four surfaces:
meta.executiveSummary— current queue size, top buyers, review urgency, source mix, and whether the run isstable,watch, oraction_needed.notices[]— one normalized tender or grant row per opportunity, withsource,noticeId,title,buyer,deadlineAt,estimatedValue,signalTags,lanePriority, and a source-derivedrecommendedAction.alerts[]— recurring delta events such asdeadline_changed,status_changed, orclosing_soon, plus award-watch or rebid events when enabled. Empty starter runs still returnalerts: [].warnings[]/errors[]— missing API keys, skipped sources, throttling, or degraded upstream responses.
Dataset delivery attaches the opportunity_record event name to each notices[] row. procurement_summary and alert_event are additive compatibility labels under meta and alerts[]. The actor continues to return top-level meta, errors, notices, and alerts; it does not emit top-level PPE-name aliases.
Published README sample (TED starter shape):
{
"meta": {
"generatedAt": "2026-04-23T11:48:39.536Z",
"warnings": [],
"executiveSummary": {
"overallStatus": "action_needed",
"brief": "Tracked 40 tender / grant notice(s) this run. 1 notice(s) need same-day bid review. Source mix: 40 TED.",
"recommendedCadence": "daily",
"trackedNoticeCount": 40,
"immediateReviewCount": 1,
"strategicValueCount": 14,
"sourceMix": { "ted": 40 }
}
},
"notices": [
{
"source": "ted",
"noticeId": "c97dfecb-0cf9-4ba7-800d-685dbd87bbda",
"title": "Sweden – IT services: consulting, software development, Internet and support – Upphandling - IT-konsulttjänster ramavtal",
"buyer": "Transportstyrelsen",
"deadlineAt": "2026-04-23T22:00:00.000Z",
"estimatedValue": 736000000,
"urgencyLevel": "critical",
"signalTags": ["urgent_deadline", "strategic_value"],
"lanePriority": "now",
"recommendedAction": "Triage before the deadline"
}
],
"alerts": []
}
That sample is the published README illustration of the starter payload, not a live coverage guarantee.
What happens when SAM.gov or Grants.gov lanes are skipped or throttled?
The actor does not pretend coverage is complete. It returns the useful sources it could fetch, then surfaces explicit warnings or source errors for the missing lane. If us is present without a SAM.gov key, the actor warns and skips that source instead of failing the whole run. SAM.gov and Grants.gov are additive, not required. Official endpoints used by the schema defaults are https://api.ted.europa.eu/v3/notices/search, https://api.sam.gov/opportunities/v2/search, and https://api.simpler.grants.gov/v1/opportunities/search.
When should award-watch or rebid-watch be turned on?
After the starter or recurring TED queue already proves useful. Those workflows are best when you care about incumbent movement, renewals, or follow-on phrasing more than net-new open bids. includeAwarded defaults to false. Turn it on for award watch, incumbent movement, or rebid monitoring.
How are overlapping TED, SAM.gov, and Grants.gov notices deduplicated?
The actor normalizes notices and deduplicates them across comparable identifiers so recurring queues stay cleaner when similar records appear across sources. Bid-alert prioritization rolls deadline pressure, value, award/rebid phrasing, and watch-term hits into the review queue.
How do recurring bid-alert runs and Grants.gov state snapshots work?
The actor is designed for daily or weekly recurring runs. datasetMode all emits the current matched opportunity queue. changes_only emits only stateful alert rows and writes zero rows when nothing changed. Grants.gov closing-soon and status-delta alerts persist snapshots in a named Apify key-value store (default procurement-intel-grants-state) so deadline and status alerts stay comparable. grantsOpportunityStatuses default is posted,forecasted. grantsAlertClosingSoonDays default is 7.
How is TED, SAM.gov & Grants Bid Alerts Scraper priced on the live Store PPE tab?
Billing is pay-per-event. The live Store card is $8.00 / 1,000 procurement opportunity or alert rows. Current live PPE:
| Event | Price | Emitted when |
|---|---|---|
apify-default-dataset-item (Procurement opportunity or alert row) |
$0.008 | One delivered source-linked procurement opportunity or stateful alert row |
| Procurement summary report | $5.00 | One source-linked executive report when generateReport is true and matched notices exist |
| Procurement opportunity export | $7.00 | One source-linked export when emitExport is true and matched notices exist |
There is no live start charge. The live pricing tab lists Platform usage as included. An empty result emits zero rows and zero charges. Unchanged changes_only polls emit zero rows and zero charge. maxChargeUsd fails closed before delivery when the planned charge would exceed the cap; zero means no cap. The cheapest first paid cap is one source × maxItemsPerSource 1 = $0.008 if one row is delivered. Leave generateReport and emitExport off until that proof is useful.
Open Input → Start. 1 TED opportunity + report/export OFF ≈ $0.008 if one row delivers. From $8.00 / 1,000 rows.
See TED, SAM.gov & Grants Bid Alerts Scraper pricing on Apify
How do dataset, webhook, and dry-run delivery bill procurement rows?
delivery defaults to dataset and writes billed output. Webhook mode first writes and bills the same canonical dataset/value rows through Actor.pushData, verifies chargedCount, then forwards the run payload. Webhook delivery never replaces dataset billing and does not create a free webhook-only path. Downstream webhook failure is treated as a warning without rebilling on retry. dryRun skips dataset writes and webhook delivery side effects while validating inputs. Runtime is Node.js 20+.
Do generateReport and emitExport create live billed events today?
Use the report/export path only after the narrow TED queue is useful. generateReport true charges one procurement summary report at $5.00 when matched notices exist. emitExport true charges one opportunity export at $7.00. Leave both false for the first paid proof (~$0.008 per delivered row).
{
"jurisdictions": "eu",
"keywords": "cloud,cybersecurity",
"cpvCodes": "72000000,72220000",
"daysAhead": 21,
"maxItemsPerSource": 40,
"minValue": 100000,
"delivery": "dataset",
"datasetMode": "all",
"emitRawRows": false,
"generateReport": true,
"emitExport": true,
"maxChargeUsd": 12,
"dryRun": false
}
Set emitRawRows false when the report/export bundle is the only required deliverable. An empty result emits zero rows and zero charges, including for report/export mode. maxChargeUsd is checked before any dataset write, so the actor fails closed instead of delivering a partial bundle. Zero means no cap.
Configure a report or export run on Apify
Which live input fields does the schema accept?
The live input schema has an empty required list. additionalProperties is false; send only the published field names.
| Field | Type | Default | Notes |
|---|---|---|---|
jurisdictions |
string | eu |
eu for TED, grants for Grants.gov, us for SAM.gov. Missing SAM.gov key skips us with a warning. |
keywords |
string | cybersecurity |
Themes sent to TED titles, SAM.gov titles, and Grants.gov queries. |
watchTerms |
string | — | Highlights buyers, incumbents, frameworks, or competitor terms without changing upstream queries. |
cpvCodes |
string | 72000000,72220000 |
Optional TED CPV filters. |
naicsCodes |
string | 541512,541519 |
Optional SAM.gov NAICS filters. |
minValue |
number | 100000 | Hide smaller notices when an estimated value is present. |
daysAhead |
integer | 7 | Keep notices closing within this window. Live default is 7. |
maxItemsPerSource |
integer | 1 | Upper bound fetched per source request. Live default is 1 (≈ $0.008 if one row delivers). |
delivery |
string | dataset |
dataset or webhook. Webhook still bills dataset/value rows first. |
datasetMode |
string | all |
all or changes_only. |
generateReport |
boolean | false | Opt in to one source-linked executive procurement report when matched notices or alerts exist. |
emitExport |
boolean | false | Opt in to one source-linked JSON opportunity export when matched notices or alerts exist. |
emitRawRows |
boolean | true | Keep individual opportunity rows. Turn off when the report/export bundle is the only deliverable. |
maxChargeUsd |
number | 0 | Fail closed before delivery when the planned charge would exceed this cap. Zero means no cap. |
includeAwarded |
boolean | false | Turn on for award watch, incumbent movement, or rebid monitoring. |
samApiKey |
string | — | Required for the US lane. Missing key warns and skips SAM.gov. |
grantsOpportunityStatuses |
string | posted,forecasted |
Optional Simpler.Grants.gov opportunity_status filters. |
grantsAlertClosingSoonDays |
integer | 7 | Emit closing_soon when a tracked grant crosses inside this deadline window. |
grantsAlertStateStoreName |
string | procurement-intel-grants-state |
Named key-value store for grants snapshots across recurring runs. |
dryRun |
boolean | false | Skip dataset writes and webhook delivery side effects while validating inputs. |
Other live fields: tedFields, webhookUrl, samApiUrl, tedApiUrl, grantsApiKey, grantsApiUrl, grantsApplicantTypes, grantsFundingInstruments, grantsAlertStateKey, plus testing fixture paths and nowIso.
Which official notice APIs does this Actor call?
Schema defaults are the TED notices search API at https://api.ted.europa.eu/v3/notices/search, the SAM.gov opportunities API at https://api.sam.gov/opportunities/v2/search, and the Grants.gov / Simpler.Grants.gov opportunities search API at https://api.simpler.grants.gov/v1/opportunities/search. This Actor does not scrape a procurement HTML UI, does not query Google News RSS, and does not call NCBI E-utilities. It is not a page HTML extractor.
Do watch terms change upstream TED, SAM.gov, or Grants.gov queries?
No. watchTerms highlight buyers, incumbents, frameworks, or competitor names in summaries and notice signals without changing upstream source queries. Add them after the first useful run. keywords, cpvCodes, and naicsCodes are the filters sent to source APIs.
Are empty bid queues or unchanged changes_only polls billed?
No. An empty result emits zero rows and zero charges, including for report/export mode. datasetMode changes_only writes zero rows when nothing changed, so unchanged polls incur zero row charges. maxChargeUsd is checked before any dataset write; if the cap is too low, the actor fails closed instead of delivering a partial bundle. Zero means no cap.
Limits to keep in mind
- Official TED / SAM.gov / Grants.gov (Simpler.Grants.gov) notice APIs only — not Google News RSS, not NCBI E-utilities, not page HTML cleanup.
- TED-only first run needs no external key. The US lane needs a SAM.gov API key; missing key skips that source with a warning.
- Live schema names only.
additionalPropertiesis false. - Live billed event is
apify-default-dataset-itemat $0.008. Empty queues and unchangedchanges_onlypolls emit zero rows and zero charge. - If
maxChargeUsdis too low for the planned delivery, no rows are delivered. - A partial source response is never presented as complete coverage.
Try Input: maxItemsPerSource 1 on Apify
Related actors
- Google News Scraper Apify — news RSS headlines, not TED/SAM.gov APIs
- PubMed Literature Watch & Research Report — NCBI citation watch, not bid queues
- HHS Healthcare Data Breach Change Scraper — HHS OCR disclosures
- Trade Show Exhibitor Intelligence — exhibitor directories you supply
- Article Content Extractor Apify — article HTML cleanup, not notice APIs
Related pages
- SAM.gov and TED bid-alert queue
- SAM.gov scraper & grants scraper: cheapest first paid run — 1 source × maxItemsPerSource 1 = $0.008
- Get SAM.gov NAICS bid alerts as CSV without building the API
- TED and SAM bid desk deadlines and CPV alerts in one CSV queue
- Article vs Website Content Extractor for RAG — page HTML cleanup, not TED/SAM.gov/Grants.gov bids
- G2 + Capterra dual-source vs single-source — B2B review pages, not procurement notices
- Google News Scraper — Google News RSS headlines and article URLs, not TED/SAM.gov/Grants.gov bids
- PubMed Literature Watch & Research Report — NCBI E-utilities citation watch, not procurement queues
- NIH RePORTER Funding Landscape Report — NIH RePORTER awards, not TED/SAM.gov/Grants.gov bids
- HHS Healthcare Data Breach Change Scraper — HHS OCR healthcare breach disclosures, not TED/SAM.gov/Grants.gov bids
- RSS & Atom Feed Extractor — known-publisher feed XML, not procurement notice APIs
- Article Content Extractor — article HTML cleanup, not bid queues
- Website Content Extractor — docs and product HTML cleanup
- Content Intelligence pack — RSS, Google News, article, and website extractors
- Government Contract Award Change Report — TED/USASpending award changes, not open bid queues
- Campaign Finance Scraper — FEC/LDA filings, not TED/SAM.gov notices
- HTS Tariff & Trade Scraper — HTS/USTR, not procurement notices
- Grants.gov Scraper — Grants.gov-only funding notices, not the multi-source TED/SAM queue
- SAM.gov Vendor Pursuit Intelligence — keyword opportunity scrape.
- Industrial Supplier Intelligence — B2B enrichment from URLs you supply.
- Public RFP Rebid Watch Report — snapshot and rebid timing.
- Public Vendor Registry Intelligence — supplier portal pages you list.
- GovCon Recompete & Spend Shift Watch — award windows and concentration.
- Government Tender & Grants Alert Report — TED/Grants.gov/UK/World Bank watches.
- Tools