SAM.gov Scraper - Federal Contracts & Grants, No API Key avatar

SAM.gov Scraper - Federal Contracts & Grants, No API Key

Pricing

from $2.00 / 1,000 results

Go to Apify Store
SAM.gov Scraper - Federal Contracts & Grants, No API Key

SAM.gov Scraper - Federal Contracts & Grants, No API Key

Scrape SAM.gov federal contract opportunities (RFPs, solicitations, sources sought, awards) plus Grants.gov grants. Filter by NAICS, set-aside, agency, state, keyword. No API key, no rate cap. Daily bid alerts. $2/1k.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Loomwise

Loomwise

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

SAM.gov Scraper: federal contract opportunities, RFPs and grants (no API key)

A SAM.gov scraper alternative and government contracts API for GovCon BD teams, bid-alert services and AI agents. Get a clean, filtered feed of US federal contract opportunities from SAM.gov, with optional federal grant opportunities from Grants.gov. Filter by keyword, NAICS code, set-aside, agency, place-of-performance state, notice type and posted date. Export to JSON, CSV or Excel, or schedule a daily alert.

  • No SAM.gov API key and no 10-requests-per-day cap. The Actor reads SAM.gov's official public daily extract of all active opportunities.
  • Fast: a "last 7 days" search usually finishes in a few seconds. The source file is newest-first, so the Actor stops reading as soon as it passes your date window.
  • Privacy-safe: contact names, e-mails and phone numbers are never included. E-mails and phone numbers are also removed from description snippets.
  • One schema for both sources, so contracts and grants land in the same spreadsheet.
  • Simple pricing: $2 per 1,000 results. You pay only for opportunities that are delivered.

What data does it return?

One row per opportunity:

FieldExample
id045e7a7863ff4ef2845155e13504c4c6
sourcesam.gov or grants.gov
titleBoiler Inspection Services
solicitationNumber36C26026Q0977
agency / subAgency / officeVETERANS AFFAIRS, DEPARTMENT OF / …
noticeTypeSolicitation, Combined Synopsis/Solicitation, Sources Sought, Award Notice, Grant (posted)…
naicsCode238220
classificationCode (PSC)H345
setAsideCode / setAsideSDVOSBC / Service-Disabled Veteran-Owned Small Business Set-Aside
postedDate2026-10-16
responseDeadline2026-10-23T12:00:00-04:00
archiveDate2026-11-07
popCity / popState / popZip / popCountryplace of performance
linklink to the notice on SAM.gov or Grants.gov
descriptionSnippetfirst ~300 characters of the description as plain text
fundingInstrument, assistanceListings, awardCeiling, awardFloorGrants.gov only (null for contracts)

Who uses it

  • Small and mid-size government contractors: get every new solicitation in your NAICS codes and set-aside programs (8(a), HUBZone, SDVOSB, WOSB) each morning.
  • Bid and proposal consultants and BD teams: track several clients' NAICS/agency profiles with one scheduled task per client.
  • Bid-alert and lead-gen services: feed fresh opportunities into your CRM, newsletter or Slack through the Apify API, webhooks or integrations.
  • Grant writers and nonprofits: turn on Grants.gov to see posted and forecasted grants next to contract work.
  • Market researchers and AI agents: structured, deduplicated federal demand signals by agency, NAICS and region.

How to use it

  1. Enter keywords and/or NAICS codes. Leave everything empty to get all recent notices.
  2. Optionally narrow by set-aside, agency, state and notice type.
  3. Choose a date window. The default is the last 7 days.
  4. Run it, then download the results as JSON, CSV, Excel or HTML, or read them through the API.
  5. For daily alerts, schedule the Actor with postedWithinDays: 1 and connect a webhook, e-mail or Slack integration.

Input example

{
"keywords": ["HVAC", "boiler"],
"naicsCodes": ["238220"],
"setAsideTypes": ["SBA", "SDVOSBC"],
"agencies": ["VETERANS AFFAIRS"],
"placeOfPerformanceStates": ["TX", "OK"],
"noticeTypes": ["Solicitation", "Combined Synopsis/Solicitation"],
"postedWithinDays": 14,
"excludeExpired": true,
"maxResults": 500,
"includeGrants": false
}
InputWhat it does
keywordsMatches any keyword in the title, solicitation number or full description (case-insensitive).
naicsCodesExact codes or prefixes (5415 matches every 5415xx code).
setAsideTypesSBA, 8A, HZC, SDVOSBC, WOSB, EDWOSB, VSA, … or NONE for unrestricted notices.
agenciesText match on the department, sub-tier or office (e.g. ARMY, FOREST SERVICE).
placeOfPerformanceStatesTwo-letter state codes.
noticeTypesSolicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Special Notice, Award Notice, …
postedWithinDays / postedFrom / postedToDate window (0 = no limit).
excludeExpiredDrops notices whose response deadline has passed (default true).
dedupeBySolicitationKeeps only the newest notice per solicitation number (amendments are separate notices on SAM.gov).
maxResultsTotal cap across sources.
includeSam / includeGrantsChoose the sources. Grants.gov is off by default.
grantStatusesposted, forecasted, closed, archived.
descriptionSnippetLengthSnippet length in characters (0 turns snippets off).

Output example

{
"id": "6196197ae63848ce93a86870cb18e0cd",
"source": "sam.gov",
"title": "Helena - Lewis and Clark National Forest Dry Pole Pit Rock Crushing Service",
"solicitationNumber": "1240BE27Q0001",
"agency": "AGRICULTURE, DEPARTMENT OF",
"subAgency": "FOREST SERVICE",
"office": "WALLOWA WHITMAN NATIONAL FOREST",
"noticeType": "Combined Synopsis/Solicitation",
"naicsCode": "237310",
"classificationCode": "Z1LB",
"setAsideCode": "SBA",
"setAside": "Small Business Set Aside - Total",
"postedDate": "2026-10-17",
"responseDeadline": "2026-10-22T13:00:00-06:00",
"archiveDate": "2026-11-06",
"popCity": "Stanford",
"popState": "MT",
"popZip": null,
"popCountry": "USA",
"link": "https://sam.gov/workspace/contract/opp/6196197ae63848ce93a86870cb18e0cd/view",
"descriptionSnippet": "Amendment 0001 - This amendment provides missing solicitation attachments, issues Government responses to offeror questions…",
"fundingInstrument": null,
"assistanceListings": null,
"awardCeiling": null,
"awardFloor": null
}

Pricing

$2.00 per 1,000 results ($0.002 per opportunity), plus Apify's standard small Actor-start fee. There's no subscription. You're charged only for opportunities saved to your dataset, and you can cap any run's cost with the run's maximum-charge setting. Examples: a daily alert returning 40 new notices costs about $0.08 per day. A full export of every active notice (~70,000) costs about $140.

FAQ

Do I need a SAM.gov account or API key? No. The Actor uses the public daily data extract that SAM.gov publishes for everyone. It doesn't use the rate-limited SAM.gov API.

How fresh is the data? SAM.gov regenerates the extract once a day, overnight US time. Each run reads the latest file, so notices posted today usually appear the next morning. Every run's RUN_SUMMARY record shows the file's timestamp.

Does it include contracting officer names, e-mails or phone numbers? No. Personal contact fields are dropped, and e-mail addresses and phone numbers are removed from description snippets. Use the link field to open the official notice when you're ready to respond.

Does it include award notices? Yes. Award Notices are in the extract. Select the "Award Notice" notice type to track awards; awardee details are not included.

Do the NAICS, set-aside and state filters apply to grants? No. Grants.gov doesn't publish those fields, so for grants only keywords, agency, date window and status apply.

Why do I see the same solicitation twice? SAM.gov publishes amendments and follow-up notices (for example, Presolicitation, then Solicitation) as separate records. Turn on dedupeBySolicitation to keep only the newest one.

How do I get only new opportunities every day? Schedule the Actor daily with postedWithinDays: 1 or 2, then de-duplicate on id in your destination.

Is this legal to use? The data comes from official US government open-data sources (SAM.gov public extract and the public Grants.gov API) and is public information. You're responsible for how you use it.

Something broke or a field is missing? Open an issue on the Actor's Issues tab and we'll take a look.