SAM.gov Scraper - Federal Contracts & Grants, No API Key
Pricing
from $2.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
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:
| Field | Example |
|---|---|
id | 045e7a7863ff4ef2845155e13504c4c6 |
source | sam.gov or grants.gov |
title | Boiler Inspection Services |
solicitationNumber | 36C26026Q0977 |
agency / subAgency / office | VETERANS AFFAIRS, DEPARTMENT OF / … |
noticeType | Solicitation, Combined Synopsis/Solicitation, Sources Sought, Award Notice, Grant (posted)… |
naicsCode | 238220 |
classificationCode (PSC) | H345 |
setAsideCode / setAside | SDVOSBC / Service-Disabled Veteran-Owned Small Business Set-Aside |
postedDate | 2026-10-16 |
responseDeadline | 2026-10-23T12:00:00-04:00 |
archiveDate | 2026-11-07 |
popCity / popState / popZip / popCountry | place of performance |
link | link to the notice on SAM.gov or Grants.gov |
descriptionSnippet | first ~300 characters of the description as plain text |
fundingInstrument, assistanceListings, awardCeiling, awardFloor | Grants.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
- Enter keywords and/or NAICS codes. Leave everything empty to get all recent notices.
- Optionally narrow by set-aside, agency, state and notice type.
- Choose a date window. The default is the last 7 days.
- Run it, then download the results as JSON, CSV, Excel or HTML, or read them through the API.
- For daily alerts, schedule the Actor with
postedWithinDays: 1and 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}
| Input | What it does |
|---|---|
keywords | Matches any keyword in the title, solicitation number or full description (case-insensitive). |
naicsCodes | Exact codes or prefixes (5415 matches every 5415xx code). |
setAsideTypes | SBA, 8A, HZC, SDVOSBC, WOSB, EDWOSB, VSA, … or NONE for unrestricted notices. |
agencies | Text match on the department, sub-tier or office (e.g. ARMY, FOREST SERVICE). |
placeOfPerformanceStates | Two-letter state codes. |
noticeTypes | Solicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Special Notice, Award Notice, … |
postedWithinDays / postedFrom / postedTo | Date window (0 = no limit). |
excludeExpired | Drops notices whose response deadline has passed (default true). |
dedupeBySolicitation | Keeps only the newest notice per solicitation number (amendments are separate notices on SAM.gov). |
maxResults | Total cap across sources. |
includeSam / includeGrants | Choose the sources. Grants.gov is off by default. |
grantStatuses | posted, forecasted, closed, archived. |
descriptionSnippetLength | Snippet 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.