SAM.gov Scraper - Federal Contracts & RFP Monitor (No API Key)
Pricing
from $20.00 / 1,000 contract opportunities
SAM.gov Scraper - Federal Contracts & RFP Monitor (No API Key)
Scrape SAM.gov + USASpending for federal RFPs, solicitations, and contract awards. No API key required. AI-ranked by relevance to your business. Filter by NAICS, set-aside, agency, state, value. Attachment URLs included. For govcon BD teams, proposal writers, and competitive intelligence.
Pricing
from $20.00 / 1,000 contract opportunities
Rating
0.0
(0)
Developer
Digital Troubadour
Actor stats
1
Bookmarked
18
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Government Contract Finder - SAM.gov RFP & Federal Bid Tracker
Scrape SAM.gov and USASpending.gov for federal contract opportunities, RFPs, solicitations, and award history. No API key required to start. AI-ranked by relevance to your business. Attachment URLs included. Webhook output for Zapier, Make, n8n. $0.02 per contract.
Works immediately. USASpending.gov needs no key. Add a free SAM.gov API key for richer opportunity details.
Who This Is For
- BD / Capture teams tracking federal contract opportunities
- Proposal writers who need SOWs and Section L/M documents in one place
- Small business contractors (8(a), WOSB, HUBZone, SDVOSB) filtering for set-aside bids
- Competitive intel analysts tracking who's winning what at which agencies
- Automation builders wiring govcon signals into CRMs, Slack, or Airtable
What Makes This Different
- Two sources in one call. SAM.gov for open opportunities + USASpending.gov for award history. Most actors give you one or the other.
- No SAM.gov API key required to start. USASpending data works out of the box.
- AI semantic ranking. Describe your business in plain English ("cloud migration for federal agencies") and every contract is scored on actual relevance. Uses FastText-compatible TF-IDF locally. No LLM calls, no per-query costs.
- Rich attachment metadata. URL, filename, and MIME type parsed from every attachment. Optional
fetch_attachment_metadata: truefetches real byte sizes via parallel HEAD requests. Direct download paths for RFPs, SOWs, Section L/M instructions, past performance questionnaires. Other scrapers give you URLs only. - Change detection. Scheduled runs tag each opportunity as
new,modified, orunchangedso you can alert only on changes. - Webhook output. POST up to 50 opportunities per run to Zapier, Make, n8n, or any HTTP endpoint. Non-blocking so a bad webhook URL doesn't crash the run.
- Dry-run mode. Test configuration and webhooks with 2 sample opportunities. Zero API calls, zero charges.
- Opt-in enrichments (v1.5). Recompete detection, set-aside eligibility check, amendment detection, SAM.gov exclusion screening. Each enrichment is independent. You pay only for signals you opted into.
How We Compare
| Feature | This Actor | fortuitous_pirate/sam-gov-scraper | topaz_lunar/us-government-contracts |
|---|---|---|---|
| Last updated | This week | 3 months ago | 7 months ago |
| SAM.gov opportunities | Yes | Yes | Yes |
| USASpending award history | Yes | No | Optional |
| State contracts (CA/TX/NY/FL/IL/PA) | No | No | Yes |
| Attachment download URLs | Yes | Yes | Links only |
| AI semantic ranking | Yes (FastText) | No | No |
| Webhook output | Yes | No | Yes |
| Change detection (new/modified) | Yes | No | Partial |
| Dry-run mode | Yes | No | No |
| Recompete detection | Yes ($0.25) | No | No |
| Set-aside eligibility check | Yes ($0.10) | No | No |
| Amendment detection | Yes ($0.08) | No | No |
| SAM.gov exclusion screening | Yes ($0.05) | No | No |
| Base price | $0.02 / contract | $0.007 / result | $0.001–$0.003 / contract |
When to pick us: you're a BD or capture team that needs signals (recompete, eligibility, amendments) more than you need bulk volume. The enrichments are the moat. When to pick fortuitous_pirate: you want the cheapest possible per-record price and only need SAM.gov attachment URLs. When to pick topaz_lunar: you need state-level procurement coverage alongside federal.
Enrichments (Opt-in, Default Off)
Four extra signals, each with its own pay-per-event price. Turn them on only when you need them.
detect_recompetes - $0.25 per hit
Flags awards whose period of performance ends within recompete_lookahead_months (default 18). Recompetes are the single most valuable BD signal in govcon: bidders win them 38% of the time vs 12% on net-new pursuits. Output fields: is_recompete, months_until_recompete, incumbent_contractor, pop_end_date.
check_eligibility - $0.10 per opportunity
For every opportunity with a known NAICS code, checks whether your company is under the SBA size cap (revenue or employee based) and whether you hold the required set-aside certification. Ship your profile:
"company_profile": {"annual_revenue_usd": 5000000,"employee_count": 25,"certifications": ["small_business", "wosb", "8a"]}
Charged only when a definitive eligible/ineligible answer is produced. Null answers cost nothing.
detect_amendments - $0.08 per amendment
Diff against the prior run. Flags deadline changes, value changes, and new attachments. GAO treats Q&A responses as binding solicitation amendments under FAR 15.206. Missing them is a top-five proposal rejection reason. Output fields: amendment_detected, amendment_type, previous_deadline, previous_value.
identify_incumbents - $0.15 per opportunity (NEW in v1.6)
For every opportunity, query USASpending for the top 5 contractors who won similar work (same agency + NAICS) over the last 5 years. Returns contractor_name, UEI, total won, contract count, and latest PoP end date per winner. Uses USASpending (no SAM.gov rate limit impact). Output field: prior_winners array on each opportunity.
score_pwin - $0.20 per opportunity (NEW in v1.6)
Compute a Probability-of-Win score (0-100) based on NAICS fit, past performance (via your company_profile.past_awards), agency history, set-aside fit, competition count, and value range. Output: pwin_score (0-100), pwin_breakdown (component points), pwin_verdict (bid / conditional / no_bid). Industry thresholds: bid >= 70, conditional 50-69, no_bid < 50.
extract_rfp_requirements - $0.35 per opportunity (NEW in v1.6)
Download RFP attachment files (PDF, DOCX, or ZIP bundles) and extract every shall/must/will requirement via Gemini 2.5 Flash. Output: requirements_matrix array with section, requirement_id, text, shall_type, source_file per requirement. Requires a free gemini_api_key from https://aistudio.google.com/apikey (users pay Google for LLM calls directly, typically $0.01-$0.02 per RFP).
check_exclusions - $0.05 per entity
Screens every incumbent contractor against the SAM.gov Exclusions list (debarred or suspended vendors). Use before teaming: teaming with an excluded vendor disqualifies your bid and can trigger False Claims Act scrutiny. Requires a free sam_api_key. Output fields: incumbent_excluded, exclusion_reason, exclusion_agency, exclusion_date.
Input Configuration
Search
| Field | Type | Default | Description |
|---|---|---|---|
business_description | string | Plain-English profile. Enables AI semantic ranking and NAICS auto-suggestions | |
keywords | string[] | [] | Keywords matched in title and description |
naics_codes | string[] | [] | NAICS codes (e.g. 541512 for IT services) |
psc_codes | string[] | [] | Product Service Codes |
agencies | string[] | [] | Federal agency names |
states | string[] | [] | 2-letter state codes for place of performance |
Filters
| Field | Type | Default | Description |
|---|---|---|---|
opportunity_types | string[] | ["solicitation"] | presolicitation, solicitation, combined_synopsis, sources_sought, special_notice, award_notice |
set_aside_types | string[] | [] | small_business, 8a, hubzone, sdvosb, wosb, edwosb |
min_value | int | 0 | Minimum estimated contract value in USD |
max_value | int | 0 | Maximum value (0 = no limit) |
posted_within_days | int | 30 | Only opportunities posted within N days |
deadline_within_days | int | 60 | Only opportunities with deadlines within N days |
max_results | int | 100 | Maximum returned per run |
Enrichments (Opt-in)
| Field | Type | Default | Description |
|---|---|---|---|
detect_recompetes | bool | false | Flag contracts with PoP ending soon. $0.25 per hit |
recompete_lookahead_months | int | 18 | Window for recompete detection (1 to 36) |
check_eligibility | bool | false | SBA size + cert check vs your profile. $0.10 per opportunity |
company_profile | object | {} | {annual_revenue_usd, employee_count, certifications} |
detect_amendments | bool | false | Diff against prior run. $0.08 per amendment |
check_exclusions | bool | false | Screen incumbents against SAM.gov Exclusions. $0.05 per entity |
entities_to_check | string[] | [] | Extra UEIs to screen |
Other
| Field | Type | Default | Description |
|---|---|---|---|
include_awards | bool | true | Include recent contract awards for competitive intelligence |
include_full_description | bool | true | Include full opportunity description text |
sam_api_key | string | Optional SAM.gov API key. Required for exclusion screening | |
webhook_url | string | POST results to this URL (Zapier, Make, n8n, custom) | |
dry_run | bool | false | Return 2 sample opportunities without API calls or charges |
fetch_attachment_metadata | bool | false | For each attachment, HEAD-request to fetch size and MIME. Adds ~0.5s per attachment. Free |
Sample Output Record
{"opportunity_id": "sam_abc123","source": "sam.gov","type": "solicitation","title": "Cloud Migration Services for Federal Agency","description": "Full solicitation text...","url": "https://sam.gov/opp/abc123/view","agency": "General Services Administration","naics_code": "541512","naics_description": "Computer Systems Design Services","set_aside_type": "Total Small Business","small_business_eligible": true,"estimated_value": 2500000.0,"place_state": "VA","posted_date": "2026-04-15T00:00:00","response_deadline": "2026-05-15T00:00:00","contact_email": "contracting.officer@gsa.gov","attachments": [{"url": "https://sam.gov/api/prod/opps/.../rfp.pdf","filename": "rfp.pdf","mime_type": "application/pdf","size_bytes": null},{"url": "https://sam.gov/api/prod/opps/.../sow.pdf","filename": "sow.pdf","mime_type": "application/pdf","size_bytes": null}],"attachment_urls": ["https://sam.gov/api/prod/opps/.../rfp.pdf","https://sam.gov/api/prod/opps/.../sow.pdf"],"attachments_count": 2,"awarded_to": null,"incumbent_contractor": "Accenture Federal Services LLC","pop_start_date": "2017-09-19T00:00:00","pop_end_date": "2027-05-31T00:00:00","is_recompete": true,"months_until_recompete": 14,"incumbent_excluded": false,"is_eligible": true,"eligibility_reason": "Revenue $5,000,000 <= $34,000,000 cap; Company holds required cert for Total Small Business","naics_size_cap": "$34M avg receipts","amendment_detected": false,"relevance_score": 0.87,"semantic_score": 0.954,"matched_keywords": ["cloud", "semantic:95%"],"change_status": "new","scraped_at": "2026-04-18T10:00:00Z"}
The change_status field tells you what changed since the last run: new, modified, or unchanged.
Market Insights (KV Store)
Stored as INSIGHTS alongside each run. Useful for dashboards.
{"total_opportunities": 150,"total_estimated_value": 500000000,"opportunities_by_type": {"solicitation": 80, "award_notice": 45},"top_agencies": [{"agency": "Department of Defense", "opportunities_count": 45, "total_estimated_value": 200000000}],"small_business_opportunities": 65,"set_aside_breakdown": {"Total Small Business": 30, "8(a)": 15, "SDVOSB": 10, "WOSB": 10},"opportunities_expiring_7d": 12,"opportunities_expiring_30d": 45}
Example Inputs
Bid / No-Bid Screening With Eligibility Check
{"business_description": "Cloud migration and cybersecurity services for federal agencies. SBA-certified small business and WOSB.","naics_codes": ["541512", "541519"],"opportunity_types": ["solicitation", "combined_synopsis"],"min_value": 500000,"check_eligibility": true,"company_profile": {"annual_revenue_usd": 5000000,"employee_count": 25,"certifications": ["small_business", "wosb"]}}
Recompete Tracker for BD Pipeline
{"naics_codes": ["541512"],"opportunity_types": ["award_notice"],"include_awards": true,"posted_within_days": 365,"detect_recompetes": true,"recompete_lookahead_months": 18}
Competitive Intelligence
{"keywords": ["cybersecurity", "zero trust", "FedRAMP"],"agencies": ["Department of Defense", "Department of Homeland Security"],"opportunity_types": ["award_notice"],"include_awards": true}
Small Business Set-Aside Focus
{"naics_codes": ["541511"],"set_aside_types": ["8a", "hubzone", "sdvosb", "wosb"],"max_value": 5000000,"deadline_within_days": 30,"check_eligibility": true,"company_profile": {"annual_revenue_usd": 2000000,"certifications": ["small_business", "8a"]}}
Dry Run (Test Without Charges)
{"dry_run": true,"business_description": "IT services"}
Common NAICS Codes
| Code | Description | SBA Size Cap |
|---|---|---|
| 541511 | Custom Computer Programming | $34M avg receipts |
| 541512 | Computer Systems Design | $34M avg receipts |
| 541513 | Computer Facilities Management | $34M avg receipts |
| 541519 | Other Computer Related Services | $34M avg receipts |
| 541611 | Administrative Management Consulting | $24.5M avg receipts |
| 541618 | Other Management Consulting | $19M avg receipts |
| 541715 | R&D Engineering | 1,000 employees |
| 541330 | Engineering Services | $25.5M avg receipts |
| 518210 | Data Processing, Hosting | $47M avg receipts |
| 561110 | Office Administrative Services | $13M avg receipts |
Pricing
Pay-per-event. No monthly fee. You pay only for what you opted into.
| Event | Price | Fires |
|---|---|---|
| Actor start | $0.01 | Once per run (first 5 seconds waived) |
| Contract | $0.02 | Per opportunity returned |
| Recompete Detected | $0.25 | Per incumbent contract flagged for rebid |
| Eligibility Check | $0.10 | Per opportunity with a definitive eligible answer |
| Amendment Detected | $0.08 | Per material change vs prior run |
| Exclusion Screen | $0.05 | Per incumbent entity checked against SAM.gov Exclusions |
| Incumbent Identified | $0.15 | Per opportunity enriched with prior winners via USASpending |
| PWin Scored | $0.20 | Per opportunity assigned a Probability-of-Win score |
| RFP Requirements Extracted | $0.35 | Per opportunity with LLM-extracted compliance matrix |
Cost examples (enrichments off, default):
| Use case | Contracts / run | Cost / run |
|---|---|---|
| Quick keyword check | 25 | ~$0.51 |
| Daily BD monitoring | 100 | ~$2.01 |
| Full NAICS sweep | 500 | ~$10.01 |
Cost example with all enrichments on (100 contracts, 15 recompete hits, 100 eligibility checks, 2 amendments, 20 incumbent screens):
- Base: 100 x $0.02 = $2.00
- Recompetes: 15 x $0.25 = $3.75
- Eligibility: 100 x $0.10 = $10.00
- Amendments: 2 x $0.08 = $0.16
- Exclusions: 20 x $0.05 = $1.00
- Total: $16.91 per run
Compared to alternatives: GovWin IQ runs $13K to $119K per year, Bloomberg Government $6K+, GovTribe $2.4K, EZGovOpps $2.7K, SamSearch $99/month.
SAM.gov API Key (Optional)
For richer opportunity details and exclusion screening:
- Register at SAM.gov
- Request a free API key at api.sam.gov
- Wait ~10 business days for approval
- Add your key to the
sam_api_keyinput field
Without a key, the actor uses USASpending.gov. Exclusion screening requires a key.
Integrations
- Webhooks: POST up to 50 opportunities to Zapier, Make.com, n8n, or any HTTP endpoint. Non-blocking.
- Google Sheets: export via Apify's native integration
- CSV / JSON / Excel: download from any run
- API: programmatic access via Apify API
- Schedules: daily runs land fresh data in your dataset and fire webhooks automatically
FAQ
Do I need a SAM.gov API key? No, USASpending data works immediately. A free SAM.gov key unlocks richer opportunity details and enables exclusion screening.
How does the recompete detector work? Every USASpending award includes a period_of_performance_current_end_date. We flag any award whose PoP ends within recompete_lookahead_months (default 18). Output includes months until recompete and incumbent contractor name.
How does eligibility checking work? We ship the SBA size standards table (NAICS -> revenue or employee cap). For every opportunity with a known NAICS, we compare your company_profile against the cap and check your certifications against the set-aside restriction. Null answers cost nothing.
How does amendment detection work on the first run? First run: no prior snapshot, so nothing fires. Your snapshot is persisted to KV and becomes the baseline for the next run. Schedule daily or weekly to benefit.
Is exclusion screening free? No. It requires a SAM.gov API key and charges $0.05 per entity checked. Without a key it logs a warning and skips.
Can I enable only one enrichment? Yes, every enrichment is an independent boolean. Leave the others off.
Are attachment URLs direct download links? Yes. They come from SAM.gov's resourceLinks field. Pipe into a downloader or archive.
Is this ToS-compliant? All data sources are public government data explicitly intended for programmatic access. No scraping workarounds, no credentials, no ToS violations.
Can I run this on a schedule? Yes. Use Apify's Schedules. Daily at 6am ET is a common pattern for BD teams. Change detection and amendment detection only work meaningfully with scheduled runs.
What if I hit the SAM.gov rate limit? Built-in exponential backoff kicks in automatically. SAM.gov 429s get a longer backoff (5s, 15s, 30s) than other endpoints because SAM's burst window takes ~30-60s to clear. If the whole run gets rate-limited, you still get your USASpending results and no extra charges fire for the blocked SAM calls. See "SAM.gov Rate Limits & Pricing" section below.
SAM.gov Rate Limits & Pricing
Your API key, your quota. Every user provides their own sam_api_key. Limits:
| Key type | Requests per day | Burst (short-window) |
|---|---|---|
| Non-federal (individual) | 1,000 | ~10-15 calls in rapid succession triggers 429 |
| Federal | 10,000 | Same burst behavior |
Daily quota resets at midnight UTC.
Which actor operations count against your quota:
| Operation | SAM calls per run | Notes |
|---|---|---|
| SAM.gov opportunity fetch | 1 | Paged if > 1000 results |
check_exclusions | 1 per unique incumbent | Cached; same entity only counted once |
| Everything else (USASpending, enrichments, attachments) | 0 | Doesn't touch SAM |
Pricing protection: our pay-per-event charges only fire on successful signals. A 429 response means no opportunity, no charge. You never pay for failed SAM calls.
Tips to stay under the quota:
- Schedule runs with
max_resultssized to your needs, not the maximum - Use
check_exclusionsselectively (each unique incumbent = 1 call) - If running multiple times per day, budget across runs (1,000 / 24h = ~40/hr)
- For federal users, request a federal API key for 10x the quota
How fresh is the data? Real-time. Every run hits the APIs directly. No cache.
Changelog
v1.5.1 (April 2026)
- Attachment output upgraded from flat URL list to structured objects with URL, filename, MIME type (always), and size in bytes (when
fetch_attachment_metadatais enabled) attachment_urlsstill emitted alongside for backward compatibility- Added How We Compare section vs fortuitous_pirate and topaz_lunar
v1.5 (April 2026)
- Four opt-in enrichment events: recompete_detected, set_aside_eligibility_checked, amendment_detected, exclusion_checked
- Parallel SAM.gov + USASpending fetch via asyncio.gather (typical 50% runtime cut)
- New output fields: pop_start_date, pop_end_date, incumbent_contractor, incumbent_uei, is_recompete, months_until_recompete, is_eligible, eligibility_reason, amendment_detected, incumbent_excluded
v1.4 (April 2026)
- Fixed USASpending silent-fail when any keyword is under 3 characters
v1.3 (April 2026)
- Added
attachmentsandattachments_count(SAM.gov resourceLinks passthrough) - Added
webhook_urlinput for Zapier, Make, n8n, custom endpoints - Added
dry_runmode
v1.2 (March 2026)
- FastText-compatible semantic ranking via business_description
- NAICS auto-suggestions
- Pricing set to $0.02 per contract
v1.1 (December 2025)
- Change detection (new / modified / unchanged)
- USASpending.gov integration
- Pay-per-event billing
v1.0 (October 2025)
- Initial release with SAM.gov API integration
Support
- SAM.gov Help
- USASpending API
- Apify Documentation
- Contact digital_troubadour on Apify