Skip to content

SAM.gov Contracts Scraper

Try for free

Scrape federal contract opportunities from SAM.gov by keyword, NAICS, PSC, set-aside, agency, state and dates: contacts with email and phone, deadlines, place of performance, descriptions, awards and attachment links.

🏛️ SAM.gov Contracts Scraper

Find US federal contract opportunities on SAM.gov and get them as clean, ready-to-use rows: title, solicitation number, agency, NAICS and PSC codes, set-aside, deadlines, place of performance, contracting officer name, email and phone, the full description and every attachment link. Award notices add the winner, amount and date. No SAM.gov account or API key needed.

✨ Why use SAM.gov Contracts Scraper?

  • 🔑 No API key — no SAM.gov registration, no key rotation, no 10-requests-a-day limits.
  • 📇 Contacts included — primary and secondary points of contact with email and phone, ready for outreach.
  • 🎯 All the filters that matter — keywords, NAICS, PSC, set-aside, notice type, agency, place of performance state, posted and response dates.
  • 📎 Attachments — direct download links for RFPs, SOWs, pricing sheets and Q&A documents, plus external links.
  • 🏆 Awards too — award notices with awardee name, UEI, CAGE code, amount and award date.
  • ⚡ Fast — runs on SAM.gov's own JSON endpoints, about 20 opportunities with full details in seconds.

🎯 Use cases

  • 💼 Business development — a daily feed of new solicitations in your NAICS codes and set-aside category.
  • 📧 Lead generation — contracting officer emails and phones by agency, office and industry.
  • 🏆 Competitive intelligence — who wins awards in your space, for how much, at which agency.
  • 📅 Bid calendars — upcoming response deadlines for the next 30 days.
  • 📊 Market research — federal demand by agency, state, NAICS and PSC.

🚀 How to use

  1. Enter keywords (e.g. cybersecurity) and/or filters such as NAICS 541512, set-aside Total Small Business or state VA.
  2. Optionally limit by posted date or response deadline, or paste sam.gov opportunity links.
  3. Set Max opportunities and click Start.
  4. Export the results as JSON, CSV or Excel, or read them through the API.

📥 Input

FieldDescription
keywordsSearch terms, one search per line
maxResultsMax opportunities to save (default 20, 0 = no limit)
startUrlssam.gov opportunity links to fetch directly
naicsCodes, pscCodesIndustry and product/service codes
setAsideTypesSBA, 8A, HZC, SDVOSBC, WOSB, EDWOSB, ...
noticeTypesSolicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Special Notice, Award Notice, ...
agenciesAgency names or abbreviations (NASA, DEPT OF THE ARMY)
statesPlace of performance states (VA, MD, DC, ...)
postedFrom / postedTo / postedWithinDaysPosted date window
responseDeadlineFrom / responseDeadlineToResponse deadline window (today, in 30 days)
activeOnlyOnly active notices (default on)
includeDetails, includeAttachmentsContacts/description/award data and attachment links (default on)
{
  "keywords": ["cybersecurity"],
  "naicsCodes": ["541512", "541519"],
  "setAsideTypes": ["SBA"],
  "noticeTypes": ["o", "k"],
  "responseDeadlineFrom": "today",
  "maxResults": 100
}

📤 Output

FieldDescription
title, solicitationNumber, noticeId, urlThe notice and its SAM.gov page
noticeType, noticeTypeCodeSolicitation, Combined Synopsis/Solicitation, Award Notice, ...
department, subTier, office, agencyPath, officeAddressContracting organization
naicsCode, naicsCodes, pscCodeClassification codes
setAside, setAsideCodeSet-aside
postedDate, modifiedDate, responseDeadline, responseTimeZone, archiveDateDates
placeOfPerformanceCity, state, ZIP, country
primaryContactName, primaryContactEmail, primaryContactPhone, pointsOfContactContracting contacts
description, descriptionSnippetFull description as plain text
attachments, attachmentCountFiles (download URL, name, type, size) and links
awardeeName, awardeeUei, awardeeCageCode, awardAmount, awardDate, awardNumberAward data (award notices)
isActive, isCanceled, isArchived, parentNoticeId, modificationCountStatus

Example (contacts are fictional):

{
  "noticeId": "0a1b2c3d4e5f60718293a4b5c6d7e8f9",
  "title": "Cybersecurity Support Services",
  "solicitationNumber": "W000XX27R0001",
  "noticeType": "Combined Synopsis/Solicitation",
  "noticeTypeCode": "k",
  "department": "DEPT OF DEFENSE",
  "subTier": "DEPT OF THE ARMY",
  "office": "EXAMPLE CONTRACTING OFFICE",
  "naicsCode": "541512",
  "pscCode": "J059",
  "setAsideCode": "SBA",
  "setAside": "Total Small Business Set-Aside (FAR 19.5)",
  "postedDate": "2026-10-15T21:32:37.825+00:00",
  "responseDeadline": "2026-11-20T09:00:00-05:00",
  "responseTimeZone": "America/Chicago",
  "placeOfPerformance": {"city": "Huntsville", "state": "Alabama", "stateCode": "AL", "zip": "35898", "country": "UNITED STATES", "countryCode": "USA"},
  "primaryContactName": "Jordan Smith",
  "primaryContactEmail": "jordan.smith@example.mil",
  "primaryContactPhone": "2565550100",
  "description": "The purpose of this procurement is ...",
  "attachments": [
    {"name": "Solicitation.pdf", "type": "file", "url": "https://sam.gov/api/prod/opps/v3/opportunities/resources/files/<resourceId>/download", "mimeType": ".pdf", "sizeBytes": 285800}
  ],
  "attachmentCount": 1,
  "isActive": true,
  "url": "https://sam.gov/opp/0a1b2c3d4e5f60718293a4b5c6d7e8f9/view"
}

💰 Pricing

$2.50 per 1,000 opportunities ($0.0025 each), plus a small amount of platform usage (compute and datacenter proxy). Example: 1,000 opportunities with full details ≈ $2.50 plus a few cents of usage.

❓ FAQ

Is it legal? Yes. Contract opportunities on SAM.gov are public US government information published for anyone to read.

Do I need a SAM.gov account, API key or proxy? No. The default datacenter proxy works.

How many results can I get? SAM.gov returns up to 10,000 results per search. Split bigger jobs by date range, NAICS or agency (each keyword line is its own search).

Why is a field empty? Agencies fill different fields: many notices have no set-aside, place of performance or attachments, and award fields exist only on award notices.

Can I schedule it or use the API? Yes. A daily run with postedWithinDays: 1 gives you a feed of new notices. Read results over the API or send them to Sheets, Slack or your CRM.

⚠️ Limits

  • Attachments that SAM.gov marks as controlled (not public) are listed with their access level; downloading them may need a SAM.gov login.
  • Up to 10,000 results per search (a SAM.gov limit).
  • Entity registrations and exclusions are not included.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.