
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
3 monthly users

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.
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.
cybersecurity) and/or filters such as NAICS 541512, set-aside Total Small Business or state VA.| Field | Description |
|---|---|
keywords | Search terms, one search per line |
maxResults | Max opportunities to save (default 20, 0 = no limit) |
startUrls | sam.gov opportunity links to fetch directly |
naicsCodes, pscCodes | Industry and product/service codes |
setAsideTypes | SBA, 8A, HZC, SDVOSBC, WOSB, EDWOSB, ... |
noticeTypes | Solicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Special Notice, Award Notice, ... |
agencies | Agency names or abbreviations (NASA, DEPT OF THE ARMY) |
states | Place of performance states (VA, MD, DC, ...) |
postedFrom / postedTo / postedWithinDays | Posted date window |
responseDeadlineFrom / responseDeadlineTo | Response deadline window (today, in 30 days) |
activeOnly | Only active notices (default on) |
includeDetails, includeAttachments | Contacts/description/award data and attachment links (default on) |
{
"keywords": ["cybersecurity"],
"naicsCodes": ["541512", "541519"],
"setAsideTypes": ["SBA"],
"noticeTypes": ["o", "k"],
"responseDeadlineFrom": "today",
"maxResults": 100
}
| Field | Description |
|---|---|
title, solicitationNumber, noticeId, url | The notice and its SAM.gov page |
noticeType, noticeTypeCode | Solicitation, Combined Synopsis/Solicitation, Award Notice, ... |
department, subTier, office, agencyPath, officeAddress | Contracting organization |
naicsCode, naicsCodes, pscCode | Classification codes |
setAside, setAsideCode | Set-aside |
postedDate, modifiedDate, responseDeadline, responseTimeZone, archiveDate | Dates |
placeOfPerformance | City, state, ZIP, country |
primaryContactName, primaryContactEmail, primaryContactPhone, pointsOfContact | Contracting contacts |
description, descriptionSnippet | Full description as plain text |
attachments, attachmentCount | Files (download URL, name, type, size) and links |
awardeeName, awardeeUei, awardeeCageCode, awardAmount, awardDate, awardNumber | Award data (award notices) |
isActive, isCanceled, isArchived, parentNoticeId, modificationCount | Status |
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"
}
$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.
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.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
keywordsarrayOptionalKeywords
Search terms, e.g. cybersecurity, janitorial services, cloud migration. Each line is a separate search. Leave empty to filter only by codes, agency or dates.
maxResultsintegerOptionaldefault 20Max opportunities
Maximum number of opportunities to save. 0 = no limit (SAM.gov returns at most 10,000 per search).
startUrlsarrayOptionalOpportunity URLs
Optional: sam.gov opportunity links (https://sam.gov/opp//view) or notice ids to fetch directly.
naicsCodesarrayOptionalNAICS codes
Industry codes, e.g. 541512 (Computer Systems Design), 541511, 236220. 2 to 6 digits.
pscCodesarrayOptionalPSC codes
Product and Service Codes, e.g. D302, J059, R425.
setAsideTypesarrayOptionalSet-aside types
Only opportunities with these set-asides.
noticeTypesarrayOptionalNotice types
Only these notice types. Award notices include the awardee, amount and award date.
agenciesarrayOptionalAgencies
Department or agency names or abbreviations, e.g. NASA, Department of Veterans Affairs, DEPT OF THE ARMY (the best match in the federal hierarchy is used), or 9-digit SAM.gov organization ids.
statesarrayOptionalPlace of performance states
Two-letter state codes, e.g. VA, MD, DC, CA.
postedFromstringOptionalPosted from
Earliest posted date (YYYY-MM-DD, or relative like '7 days').
postedTostringOptionalPosted to
Latest posted date (YYYY-MM-DD).
postedWithinDaysintegerOptionalPosted within days
Shortcut for 'Posted from': only notices posted in the last N days. Ignored when 'Posted from' is set.
responseDeadlineFromstringOptionalResponse deadline from
Earliest response/offer due date (YYYY-MM-DD or 'today').
responseDeadlineTostringOptionalResponse deadline to
Latest response/offer due date (YYYY-MM-DD, or relative like 'in 30 days').
activeOnlybooleanOptionaldefault trueActive notices only
Turn off to also search archived and inactive notices (SAM.gov keeps them for years).
keywordModeenumOptionaldefault "all"Keyword match
How keywords are matched.
sortByenumOptionaldefault "modified"Sort by
Result order.
includeDetailsbooleanOptionaldefault trueInclude details
Open each notice for contacts (name, email, phone), NAICS, PSC, set-aside, place of performance, full description and award data. Turn off for a faster, lighter listing.
includeAttachmentsbooleanOptionaldefault trueInclude attachments
Add the notice's attachments and links with direct download URLs.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxy for SAM.gov. Datacenter works well.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| title | any | Title |
| solicitationNumber | any | Solicitation # |
| noticeType | any | Type |
| department | any | Department |
| office | any | Office |
| naicsCode | any | NAICS |
| setAside | any | Set-aside |
| postedDate | any | Posted |
| responseDeadline | any | Response due |
| primaryContactName | any | Contact |
| primaryContactEmail | any | |
| primaryContactPhone | any | Phone |
| url | any | SAM.gov |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Opportunity | One contract opportunity saved to the dataset. | $0.0025 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('cornerledger/sam-gov-scraper').call({
"keywords": [
"cybersecurity"
],
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run cornerledger/sam-gov-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=cornerledger/sam-gov-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Contract opportunities with details and attachments.
Opportunities by industry code without keywords.
Quick list of matching opportunities.
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.