OrbTop

BidNet Direct Government Bids Scraper

AUTOMATIONBUSINESS

BidNet Direct Government Bids Scraper

Scrape government bid solicitations from BidNet Direct, the US public procurement portal that aggregates state and local government RFPs, contracts, and awards. Returns bid title, ID, location, publication date, closing date, days remaining, status, and optional AI-generated overviews — filtered by keyword, status, or starting URL.


BidNet Direct Scraper Features

  • Extracts bid title, ID, agency location, publication date, closing date, and days remaining
  • Filters by keyword (e.g. "construction", "IT services", "road repair")
  • Switches between open, closed, and awarded bids with one input field
  • Optionally pulls the AI-generated bid overview from each detail page — richer context for screening
  • Pure API-grade extraction from server-rendered HTML — no browser required, no proxies needed
  • Pay-per-event pricing tied to records returned, not pages paginated
  • Handles BidNet's pagination automatically up to your maxItems limit

Who Uses BidNet Direct Data?

  • Procurement teams — monitor solicitations matching your capability set and respond before the deadline
  • Government contractors — build bid pipelines by keyword, location, or industry vertical, then track them in one place
  • Business development reps — flag new RFPs from target agencies, no manual portal-checking required
  • Compliance analysts — track awarded contracts and pricing benchmarks across state and municipal procurements
  • Market researchers — quantify public-sector demand for a service category over time

How BidNet Direct Scraper Works

  1. Pick a status — open, closed, or awarded — and optionally a keyword filter.
  2. The scraper hits the matching BidNet Direct listing page and walks the bid table, row by row, paginating until it has what you asked for.
  3. If scrapeDetailPages is enabled, each bid is followed to its detail page to pull the AI overview field (when available).
  4. Records are emitted with a normalized schema and ISO scrape timestamps.

Input

Open bids matching a keyword:

{
  "maxItems": 50,
  "keywords": "IT services",
  "status": "open"
}

Closed bids for retrospective analysis:

{
  "maxItems": 100,
  "status": "closed"
}

Open bids with AI overviews from the detail pages:

{
  "maxItems": 25,
  "keywords": "construction",
  "status": "open",
  "scrapeDetailPages": true
}
Field Type Default Description
maxItems integer 15 Maximum number of bid records to return
keywords string "" Keyword filter applied to bid titles (e.g. "construction", "IT services")
status string "open" Bid status: open, closed, or awarded
startUrls array Optional list of BidNet listing URLs to scrape directly. Overrides the keyword/status filters.
scrapeDetailPages boolean false If true, visit each bid's detail page to extract the AI overview. Roughly doubles request count.

BidNet Direct Scraper Output Fields

{
  "bid_id": "0000123456",
  "title": "Roadway Resurfacing — Phase II",
  "detail_url": "https://www.bidnetdirect.com/public/solicitations/open?id=0000123456",
  "location": "Texas",
  "publication_date": "05/15/2026",
  "closing_date": "06/12/2026",
  "days_remaining": "14 day(s) left",
  "bid_status": "open",
  "ai_overview": "The City of Austin Public Works Department is seeking bids for asphalt resurfacing across approximately 12 miles of arterial roads...",
  "scraped_at": "2026-05-27T14:32:11.000Z"
}
Field Type Description
bid_id string Unique numeric bid/solicitation identifier from BidNet Direct
title string Title of the solicitation or bid opportunity
detail_url string Full URL to the bid detail page on bidnetdirect.com
location string State or location of the issuing agency
publication_date string Date the solicitation was published (MM/DD/YYYY)
closing_date string Deadline to submit bids/proposals (MM/DD/YYYY)
days_remaining string Human-readable time remaining until bid closes (e.g. "14 day(s) left")
bid_status string Status of the bid — open, closed, or awarded
ai_overview string AI-generated overview from the detail page. Only populated when scrapeDetailPages is true.
scraped_at string ISO 8601 timestamp of extraction

FAQ

How do I scrape government bids from BidNet Direct?

BidNet Direct Scraper runs from the Apify console — pick a status (open, closed, or awarded), optionally add a keyword, and run. The scraper walks BidNet's bid table and returns one record per solicitation. No registration or login is needed for the public listing data.

Does BidNet Direct Scraper need proxies?

No. BidNet Direct serves the public listing pages without bot protection, so the scraper runs proxy-free by default. Less moving parts, lower cost.

Can I get the full bid details, not just the listing summary?

BidNet Direct Scraper extracts the public listing-table fields by default. Set scrapeDetailPages to true and it visits each bid's detail page to pull the AI-generated overview field. The agency-specific fields (full solicitation document, line items, contact officer) are locked behind BidNet registration and aren't scraped.

How does keyword filtering work?

BidNet Direct Scraper passes the keyword string straight through to BidNet's ?keywords= query parameter, so the filter behaves exactly like the BidNet search bar. Quoted phrases and multi-word queries work the same way they do on the site.

How fresh is the data?

BidNet Direct Scraper hits the live site on every run. The bid table reflects whatever BidNet is publishing at the moment, including new solicitations posted today and bids that closed an hour ago.


Need More Features?

Need custom fields, filters, or a different target site? File an issue or get in touch.

Why Use BidNet Direct Scraper?

  • No proxies, no browser — Pure HTTP extraction from server-rendered HTML, which keeps run cost down and uptime up.
  • Three statuses, one actor — Open, closed, and awarded bids come from the same scraper with a single input flag, instead of three separate workflows stitched together.
  • AI overview pulled on demand — Optional detail-page enrichment grabs BidNet's AI-generated bid summary, so screening doesn't require reading the original PDF.