ParseForge Scrapers

SAM.gov Contract Opportunities Scraper

parseforge/sam-gov-contracts-scraper

BusinessLead generationJobs

Scrapes SAM.gov contract opportunities by keyword. Returns solicitation title, agency, posted date, response deadline, and more in a flat row.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
18
Bookmarked
0
Rating
Not rated yet
Last modified
11 days ago

Overview

ParseForge

SAM.gov Contract Opportunities Scraper

Scrape SAM.gov contract opportunities by keyword, up to 100 per run. Each row includes the solicitation title, agency, posted date, response deadline, and full details. No login or API key. Export to CSV, JSON, Excel, or XML.

SAM.gov is the official U.S. government portal for federal contract opportunities, but its search interface is slow and manual. This Actor reads the public listing pages directly, filters by your keyword, and returns each match in one fixed schema. No API registration, no rate-limit headaches, the data you need to find federal bids.

Who uses it What they scrape SAM.gov for
Government contractors Find new federal bid opportunities that match their capabilities
Business development teams Monitor SAM.gov for relevant contract postings and deadlines
Market researchers Analyze federal procurement trends by agency or keyword
Subcontractors Identify prime contract opportunities to partner on

What it does

This Actor collects SAM.gov contract opportunities by keyword and returns each one as a flat row with the solicitation details.

  • ๐Ÿ” Keyword search: Enter any keyword or phrase, like 'construction' or 'IT services', to scrape matching opportunities.
  • ๐Ÿ“„ Default listing: Leave the keyword empty to scrape the latest opportunities from the main SAM.gov listing page.
  • โš™๏ธ Max items control: Set a limit from 1 to 100 to keep your run focused and fast.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with SAM.gov data

๐Ÿ“ˆ Monitor new federal opportunities.

A government contractor runs the Actor daily with their core keywords to catch new SAM.gov postings before the competition.

๐Ÿ”Ž Research agency buying patterns.

A market researcher scrapes opportunities by agency name to see what a specific department is buying this quarter.

๐Ÿ“‹ Build a bid pipeline.

A business development team exports the results to CSV and filters by response deadline to prioritize which bids to pursue.

๐Ÿค Find subcontracting leads.

A small business scrapes for set-aside opportunities to find prime contractors who need partners.

Why choose this scraper

What you get
No API key Scrape public SAM.gov pages without registration or OAuth
Fixed schema Every row has the same fields, ready for analysis or export
Fast and simple One input field, one run, clean data in minutes

How it compares

This Actor focuses on simple keyword scraping of SAM.gov contract opportunities, while competitors offer more advanced filters or additional data sources.

Feature ParseForge Government Contract Data & Federal Bids - SAM.gov Scraper SAM.gov Federal Contracts Scraper
Keyword search Yes Yes Yes
Filter by NAICS code Not listed Yes Not listed
Filter by agency Not listed Yes Not listed
Filter by set-aside category Not listed Yes Not listed
Extract awards data Not listed Not listed Yes
Max items control Yes Not listed Not listed

Configure the run

Drive the Actor with a search keyword and a maximum number of items. The keyword filters the SAM.gov listing as it is read, so only matching opportunities reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "searchKeyword": "construction"
}

A larger pull:

{
 "searchKeyword": "construction",
 "maxItems": 200
}

Pricing

Pay-per-result: $0.00312 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.31
1,000 results $3.12
10,000 results $31.20

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the SAM.gov Contract Opportunities Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to SAM.gov through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/sam-gov-contracts-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Your keyword may be too specific or not match SAM.gov's terminology. Try a broader term or leave the keyword empty to scrape the default listing.

Why does the run stop before reaching my max items?

SAM.gov may not have enough matching opportunities for your keyword. The Actor stops when there are no more results to scrape.

Why are some fields empty in my results?

Not all opportunities have every field filled on SAM.gov. Empty fields mean the data was not present on the listing page.

Why did the run fail with a timeout?

SAM.gov can be slow at times. Try reducing the max items or running the Actor again later.

FAQ

Question Answer
Do I need a SAM.gov API key? No. This Actor reads the public SAM.gov listing pages directly, so no registration or API key is required.
What data does each result include? Each row includes the solicitation title, agency, posted date, response deadline, and other details available on the listing page.
Can I scrape more than 100 items? The current input schema allows a maximum of 100 items per run. If you need more, consider running the Actor multiple times with different keywords.
How do I filter by agency or set-aside? This Actor currently supports keyword filtering only. For more advanced filters, you may need a different scraper or post-process the results.
Is this legal? SAM.gov is a public government website, and scraping publicly available data is generally allowed. Always review the website's terms of service.
What export formats are supported? You can export the results to CSV, JSON, Excel, or XML directly from the Apify platform.
How often is the data updated? The Actor scrapes live data from SAM.gov each time you run it, so you get the latest opportunities.
Can I schedule this Actor to run automatically? Yes, you can set up a schedule in Apify to run the Actor at regular intervals, such as daily or weekly.
What if I get no results? Try a broader keyword or leave the keyword empty to scrape the default listing. Also check that your keyword matches the terms used on SAM.gov.
Does this Actor handle pagination? Yes, it will scrape up to the number of items you specify, following pagination as needed.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by General Services Administration. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
searchKeyword string Enter a keyword or phrase to search for contract opportunities on SAM.gov. Leave empty to scrape the default listing page. construction
maxItems integer Maximum number of contract opportunities to scrape. 100

Pricing

from $2.82 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.00282 to $0.00312

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~sam-gov-contracts-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run SAM.gov Contract Opportunities Scraper on Apify All scrapers