Sam Gov Opportunities Scraper avatar

Sam Gov Opportunities Scraper

Pricing

from $12.50 / 1,000 results

Go to Apify Store
Sam Gov Opportunities Scraper

Sam Gov Opportunities Scraper

Get US federal contract opportunities from SAM.gov with NAICS, PSC, set-asides, contacts, attachments and full descriptions. Search solicitations, monitor new or amended notices, or track contracts awarded to companies and agencies. No API key or login required.

Pricing

from $12.50 / 1,000 results

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Categories

Share

Norm Data

πŸ›οΈ SAM.gov Opportunities Scraper

Pull US federal contract opportunities from SAM.gov as one flat row each. No API key, no login.

Solicitations, combined synopses, sources-sought notices and award notices, with NAICS, PSC, set-aside, contracting-officer contact, place of performance, attachment links and a cleaned description already resolved. Search the board, run a change-detection monitor for a daily feed of what is new or amended, or track every contract a company or an agency has won.

🎯 Who uses it?

πŸ“‹ Capture & pipeline teams

A daily monitor feed of new solicitations in your NAICS codes, with the contracting officer's email already on the row.

πŸ•΅οΈ Competitor intelligence teams

Track every contract a rival has won, the agency, the amount and the date, for a win/loss picture over time.

πŸ“Š Market sizing analysts

Search a NAICS code across the whole board and total the award amounts to size an agency's spend in your space.

🀝 Teaming partners

Find set-aside opportunities you qualify for, or find the small businesses winning them to team with.

πŸ“ Compliance & bid archive teams

Snapshot the full record and attachments of a solicitation you are bidding, before it is amended or archived.

✨ What it does

  • Search: filter the board by keyword, NAICS, notice type and set-aside, with the full resolved detail record and a cleaned description on every row.
  • Monitor: give it a date or a relative window and it returns only the opportunities posted or amended since then, each flagged new or modified. Built for a scheduled "what changed today" feed.
  • Awards: filter to award notices for a company, a keyword or a NAICS code, with the award number, amount, date and awardee on every row.
  • Look up: paste exact notice ids and get the full record for each.
  • Attachment links with direct download URLs and file sizes.
  • Cleaned descriptions: HTML stripped, entities decoded, whitespace collapsed.

Missing source values are returned as null, never invented.

πŸ† Why this scraper

  • A real monitor mode. Point it at "modified since yesterday" on a schedule and it stops as soon as it passes your cutoff, so a daily feed is a few seconds and a handful of rows, not a full re-scrape. Every row is tagged new or modified.
  • A dedicated awards and competitor-intelligence mode. One company name returns every federal contract that company has won, with dollar amounts and the awarding office.
  • Detail resolved, not just the search snippet. NAICS, PSC, set-aside, place of performance, the contracting officer's name, email and phone, and the full description, all on the row.
  • Attachment links with working download URLs and file sizes.
  • One row per look-up input. A notice id that does not resolve comes back as its own error row, so your output lines up with your list.
  • No API key needed.

βš–οΈ How it compares

CapabilityThis actorOther SAM.gov scrapers on Apify
Search opportunities by keyword, NAICS, typeyesyes
Full detail record (NAICS, PSC, set-aside, place of performance)yessome
Contracting-officer name, email and phoneyessome
Attachment links with download URLs and sizesyesrare
Cleaned plain-text descriptionyesoften raw HTML
Monitor mode (only new or modified since a date, tagged)yesno
Awards mode (contracts won by a company or agency, with amounts)yesno
Look up by notice id, with error rows for bad idsyesrare

πŸ“¦ What data you get

EntityUseful fields
IdentityNotice id, solicitation number, title, notice type, status.
TimelinePosted date, response deadline, last modified, amendment count.
AgencyDepartment, sub-tier and office, split into three levels.
ClassificationPrimary and all NAICS codes, PSC code, set-aside code and label.
Place of performanceCity, state, zip, country.
ContactContracting officer name, email, secondary email, phone.
Award dataAward number, amount, date, awardee name and UEI (award notices and Awards mode).
ContentFull cleaned description, and attachment files with direct download links.

Every record includes a url (the SAM.gov page) and scraped_at (UTC). Download your dataset from Apify as CSV, JSON, Excel, or XML.

πŸ’‘ Use cases

πŸ“‹ Monitor a NAICS code for what's new

{ "mode": "monitor", "naicsCodes": ["236220"], "modifiedSince": "2 days", "maxItems": 500 }

πŸ•΅οΈ Track every contract a competitor has won

{ "mode": "awards", "awardee": "Booz Allen", "maxItems": 200 }

πŸ“ Snapshot a solicitation before it's amended

{ "mode": "lookup", "noticeIds": ["b9166d40f0264cbca811fd73bce06885"], "includeAttachments": true }

βš™οΈ How the input is organised

The input form follows the mode you pick, with the matching fields grouped underneath it:

SectionWhat it's for
ModeChoose Search, Monitor, Awards, or Look up.
FiltersKeyword, NAICS codes, notice types, set-asides, active-only, and whether to fetch full detail or attachment links. Apply to Search and Monitor (keyword also applies to Awards).
MonitorThe date or relative window to check for new or amended opportunities since.
AwardsThe company name or exact SAM.gov Unique Entity ID to match on award notices.
Look upThe exact notice ids to fetch.

Apify Free plan: every run is limited to a fixed 10-row sample. Upgrade your Apify plan to run your own settings.

πŸ’° Pricing

Pay-per-event: a one-time 0.003 when the run starts, plus a price per result saved to your dataset. The price depends on your Apify plan tier:

Your Apify planPrice per result
Free0.015
Bronze0.0143
Silver0.0135
Gold / Platinum / Diamond0.0125

Approximate total cost (includes the 0.003 start fee):

Results collectedFreeBronzeSilverGold+
100$1.50$1.43$1.35$1.25
1,000$15.00$14.25$13.50$12.50
10,000$150.00$142.50$135.00$125.00

New Apify accounts start with $5 in free credit.

πŸš€ Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Sam Gov Opportunities Scraper.
  3. Fill in the input (or keep the prefilled example), set the maximum number of results, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python, and schedule it with Apify's built-in Scheduler.

πŸ€– Use with AI agents (MCP)

Give an AI agent live access to the Sam Gov Opportunities Scraper through the Model Context Protocol:

claude mcp add --transport http apify "https://mcp.apify.com?tools=normdata/sam-gov-opportunities-scraper"

Then prompt it in plain language to run the scraper and read back the results.

πŸ”§ Troubleshooting

Set-aside or place of performance is empty. SAM.gov didn't publish it for that notice, common for presolicitations. Values are never guessed.

Award fields are empty. Only award notices carry award data. Use Awards mode.

Monitor returned nothing. Nothing was posted or amended since that date for your filters. Widen the window or the NAICS codes.

❓ FAQ

QuestionAnswer
Do I need a SAM.gov API key?No.
Can I get a daily "what changed" feed?Yes, Monitor mode, scheduled daily; each row is flagged new or modified.
Does it include attachments?Yes, direct download links with file sizes.
Can I track contracts won by a company?Yes, Awards mode by awardee name or UEI.

πŸ›‘οΈ Limits & responsible use

This Actor reads only publicly available SAM.gov opportunity data. No API key, no login and no captcha are required.

A field is null when SAM.gov did not publish it for that notice: presolicitation notices often have no set-aside or place of performance yet, and only award notices carry award data. Values are never guessed. A search is capped at the first 10,000 matching rows by the source itself; narrow the filters (add a NAICS code, a date window, a notice type) if a search matches more than that. An unresolved look-up id still writes its own row with error set to "not found", so your output always matches your input list. Fetching full details or attachment links adds one extra request per opportunity, so leaving both off gives the fastest, shallowest run.

This Actor is independent, not affiliated with SAM.gov or the US government. It reads only data SAM.gov publishes openly.

πŸ“§ Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

πŸ§ͺ Local development

bun install
bun test # offline: normalisation and input logic
bun run src/main.ts # reads storage/key_value_stores/default/INPUT.json
bun scripts/verify-live.mjs # hits sam.gov directly, checks all four modes