BidNet Direct Scraper — Government Bids & RFPs
Pricing
from $12.99 / 1,000 government bid records
BidNet Direct Scraper — Government Bids & RFPs
Scrape public BidNet Direct government bids and RFPs by keyword and state: title, notice ID, publication and closing dates, summary and URL. USD 0.017 a bid.
Pricing
from $12.99 / 1,000 government bid records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Security
Limited permissionsShare
BidNet Direct Scraper extracts public government bids and RFPs from BidNet Direct by keyword and US state and returns each notice's title, notice ID, state, publication and closing dates, public summary and source URL. It is built for contractors, suppliers and procurement teams who track state and local opportunities, and it costs USD 16.99 per 1,000 bids on the FREE tier (USD 0.01699 per bid, USD 12.99 per 1,000 on GOLD).
What does the BidNet Direct scraper return?
Each dataset row is one unique public solicitation:
| Field | What it contains |
|---|---|
noticeId | BidNet Direct notice ID, used to remove duplicates |
title | Bid or RFP title |
state | US state or territory shown on the listing |
status | open or closed, from the search you ran |
publicationDate, publicationDateTime | Normalized date and the exact timestamp shown on the detail page |
closingDate, closingDateTime | Deadline as a date and the exact timestamp with time zone |
timeRemaining | Time-to-close text when BidNet shows it |
summary | Public overview or page description of the bid |
issuingOrganization, solicitationNumber | Public values, or null when BidNet shows them only to registered members |
detailAccess | public or registration_required |
sourceUrl, sourcePageUrl, scrapedAt | Notice URL, the listing page that found it and collection time |
Each run also saves OUTPUT and SUMMARY with the outcome (DATA, PARTIAL, EMPTY, BLOCKED or REJECTED), records delivered and charged, pages read and warnings.
How do I find government bids by state and keyword?
Set keywords and one or more states. The Actor runs one public search per state, follows result pages, removes duplicate notices and, by default, opens each notice for exact dates and the public summary.
| Input | Example | Notes |
|---|---|---|
keywords | construction | Searches public titles and keywords (up to 200 characters); empty returns the newest bids |
states | ["California", "Texas"] | Up to 20 states, territories or BidNet location slugs; empty means nationwide |
status | open | open (default) or closed |
startUrls | BidNet listing or notice URLs | Used instead of generated searches; other domains are rejected |
maxResults | 25 | 1 to 1,000 bids per run (default 25) |
maxPages | 5 | 1 to 40 listing pages per search |
enrichDetails | true | Open each notice for exact timestamps and the public summary |
The Actor chooses its own network route. A proxyConfiguration field sent by older saved inputs is accepted but ignored.
{"keywords": "road construction","states": ["California", "Texas"],"status": "open","maxResults": 50,"maxPages": 5,"enrichDetails": true}
Can I track construction bids and closing dates?
Yes. Search construction, paving or another trade keyword for your states, and sort the export by closingDate. Scheduling the same input daily on Apify gives you new notices each morning, and noticeId lets you skip ones you already have. Set status to closed to study past solicitations in your trade.
When should I use it, and when not?
Use it when you want public state and local government bid notices from BidNet Direct as a spreadsheet or JSON feed: a daily list of open construction bids in two states, an RFP database for a sales team, or deadline alerts in your own tools.
Use another Actor when:
- You need federal contract awards and recipients: USAspending Federal Awards Scraper.
- You need building permits as construction leads: Building Permits Scraper.
- You need to vet a bidder's license or BBB rating: AZ ROC Contractor License Scraper or BBB Business Scraper.
- You need bid documents, addenda, buyer contacts or online submission: these require a BidNet Direct account and are outside this Actor's scope.
How do I run it from code?
JavaScript with apify-client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/bidnet-direct-government-bids-scraper').call({keywords: 'construction',states: ['California'],maxResults: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const bid of items) console.log(bid.closingDate, bid.title, bid.sourceUrl);
Python with apify-client:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("muhammadafzal/bidnet-direct-government-bids-scraper").call(run_input={"keywords": "engineering","states": ["Texas"],"status": "open","maxResults": 50,})for bid in client.dataset(run.default_dataset_id).iterate_items():print(bid["noticeId"], bid["closingDateTime"], bid["title"])
Use it from an AI assistant
BidNet Direct Scraper works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add the single-tool URL https://mcp.apify.com/?tools=muhammadafzal/bidnet-direct-government-bids-scraper to your client and ask, for example: "List open construction bids in California on BidNet Direct that close in the next three weeks, with closing dates and links." Each bid is charged, so include a result limit.
What does the output look like?
Two of the 25 records from a cloud run of the Console prefill input (construction, California) on 2026-10-26:
[{"noticeId": "444208198045","title": "Traffic Signal Head Improvements","state": "California","status": "open","publicationDate": "2026-10-23","publicationDateTime": "10/23/2026 03:01 PM EDT","closingDate": "2026-11-16","closingDateTime": "11/16/2026 04:00 PM EST","timeRemaining": null,"summary": "Construction project involves removing and salvaging existing equipment, furnishing and installing traffic signal equipment including vehicle heads, backplates, mounts, brackets, and appurtenances, with all necessary traffic control measures.","issuingOrganization": null,"solicitationNumber": null,"detailAccess": "registration_required","sourceUrl": "https://www.bidnetdirect.com/public/supplier/solicitations/statewide/444208198045/abstract?purchasingGroupId=88020151&origin=1","sourcePageUrl": "https://www.bidnetdirect.com/california/solicitations/open-bids?keywords=construction","scrapedAt": "2026-10-26T06:54:19.715Z"},{"noticeId": "444208272408","title": "On-Call Labor Compliance Services","state": "California","status": "open","publicationDate": "2026-10-23","closingDate": "2026-11-18","closingDateTime": "11/18/2026 05:00 PM EST","summary": "Seeking qualified firms to provide on-call labor compliance consultant services for Capital Improvement Program projects of varying contract size and complexity in construction, supporting the Department of Public Works – Engineering Division.","detailAccess": "registration_required"}]
How much does BidNet Direct data cost?
The Actor uses pay-per-event pricing, and platform usage is included in the event prices. Each unique bid saved to the dataset is charged once.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM / DIAMOND |
|---|---|---|---|---|---|
| Government bid record (one dataset row) | USD 0.01699 | USD 0.01699 | USD 0.01699 | USD 0.01299 | USD 0.01299 |
| Actor start (per started GB of allocated memory) | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 |
The default memory is 512 MB, so a run pays one start event. Worked totals on the FREE tier:
- 25 bids: 25 × USD 0.01699 + USD 0.005 = USD 0.43
- 100 bids: 100 × USD 0.01699 + USD 0.005 = USD 1.70
Empty, blocked and rejected runs charge only the start event. The run's status message and OUTPUT quote the live per-bid price for your tier. When your maximum cost per run is reached, the Actor stops delivering bids.
Limits and reliability
- Speed: 25 bids with detail enrichment took about 100 seconds in the 2026-10-26 cloud run.
- Coverage: state searches are the reliable path. In the August 2026 validation, nationwide searches without a state were denied by the site and ended as
BLOCKEDwith no bid charges. ABLOCKEDrun ends with a failed run status, so it never looks like a successful empty run. - Partial results: if a notice page fails to load, the listing fields for that bid are still delivered and the outcome becomes
PARTIAL. - Scope: the Actor never logs in, so registration-only fields stay
null.
FAQ
Is there a BidNet Direct API?
This Actor is not an official BidNet Direct API. It reads public BidNet Direct pages and delivers the bids as JSON, CSV or Excel through the Apify API, so you can call it from code, schedules or AI assistants.
Is BidNet Direct free to search?
Public listing and notice pages can be viewed without an account, and those are the pages this Actor reads. Bid documents and some notice fields need a BidNet Direct registration.
Does it download bid documents or addenda?
No. Attachment URLs are rejected, and documents are not downloaded.
Why are issuingOrganization and solicitationNumber null?
BidNet Direct shows them only to registered members on many notices. detailAccess is registration_required in that case.
Can I get closed or past bids?
Yes. Set status to closed, or pass a closed-bids listing URL in startUrls.
Which states are covered?
Any US state name, plus territories and BidNet location slugs. Each entry in states runs its own search.
Related Actors
- USAspending Federal Awards Scraper: federal contract and grant awards
- Building Permits Scraper: permit-based construction leads
- AZ ROC Contractor License Scraper: Arizona contractor license lookups
- BBB Business Scraper: BBB ratings and accreditation
- Auto Dealer Leads Scraper and Agency Review Analysis: other lead tools in this collection
Legal and compliance
The Actor reads public BidNet Direct pages without logging in, bypassing registration or downloading restricted documents, and it stops with a BLOCKED outcome instead of evading access controls. Use the data under BidNet Direct's terms, and confirm deadlines and requirements in the official notice before you bid. This tool is not affiliated with BidNet Direct, and this is not legal advice.
Last verified: 2026-10-27