DEV Community

M. Alan
M. Alan

Posted on

How to export SAM.gov contract opportunities to Excel (no API key)

SAM.gov publishes thousands of new contract opportunities every week. The work for a bid or capture manager is not "finding the website." It is getting your notices — the right NAICS codes, set-asides, states and notice types — into a spreadsheet or CRM before the bid/no-bid meeting.

This walkthrough covers three ways to do that, and the tradeoffs of each.

Why a spreadsheet beats another browser search

In the week of 23–29 October 2026, SAM.gov posted 6,121 new notices. 2,618 of them (43%) were set aside, including 1,488 small-business set-asides. That same week carried 552 Sources Sought notices — early conversations with a contracting officer, before an RFP exists.

Saved searches on SAM.gov help. They still leave you clicking through pages, copying fields, and wondering whether you already logged yesterday's row.

A useful export has, at minimum:

  • notice title, type and posted date
  • NAICS and set-aside
  • department, office and place of performance
  • response deadline
  • the notice URL
  • the contracting officer's name, email and phone when SAM publishes them

Option 1: download from SAM.gov itself

SAM.gov lets you search and download results. This is the official path, it is free, and it is the right starting point if you only need a one-off list.

The limits show up when you want the same filter every morning, only the notices you have not already seen, and a file that lands in Excel, Google Sheets or a CRM without extra cleanup.

Option 2: the official SAM.gov API

The official API is built for integrators. It requires an API key and some engineering time. If you already have developers maintaining an internal pipeline, this is often the cleanest long-term option.

Many capture teams do not have that pipeline. They need a daily file, not a new integration project.

Option 3: a ready-to-run SAM.gov Actor (no API key)

This is the workflow I built for TenderFeed, as a pay-per-result Actor on the Apify Store.

You set the same filters a capture team already uses — keywords, NAICS, set-aside, state, notice type (including Sources Sought and Presolicitation) — and run it. The Actor returns one row per notice and exports to Excel, Google Sheets, or another format Apify supports. You can schedule it each morning and keep only notices it has not sent you before.

It does not need a SAM.gov API key. Pricing is $2.50 per 1,000 results, plus a small start fee.

The Actor page, with input fields and example tasks: https://apify.com/tenderfeed/sam-gov-opportunities

A practical morning workflow

  1. Start from the notice types that change a capture calendar first: Sources Sought and Presolicitation.
  2. Add the NAICS codes you actually bid, not a broad list that buries the signal.
  3. Filter set-asides if that is how you compete (small business, 8(a), HUBZone, SDVOSB, WOSB, and so on).
  4. Export to Excel and sort by posted date and response deadline.
  5. Schedule the same input daily with an "only new" flag so the spreadsheet stays an inbox, not a dump of the whole archive.

If you already work EU tenders as well as US federal work, the same pattern applies on TED: filter by CPV, country and keywords, then export. A CPV 72 (IT services) filter returned 617 new EU competitions in that same week of 23–29 October 2026. The TED Actor is here: https://apify.com/tenderfeed/ted-eu-tenders ($2 per 1,000 results).

What this is not

This is not a replacement for reading the notice, talking to the contracting officer, or making a bid/no-bid call. It is a way to stop losing Sources Sought inside 6,000 other rows.

TenderFeed also publishes Actors for Grants.gov, USAspending, UK Contracts Finder, CanadaBuys and other public sources: https://apify.com/tenderfeed

SAM.gov figures above come from the public contract opportunities extract for notices posted 23–29 October 2026, compiled 30 October 2026. TED figure: TED Search API v3, competition notices, CPV 72*, publication dates 23–29 October 2026, queried 30 October 2026.

Top comments (0)