Illinois BidBuy Solicitations Scraper
Pricing
from $5.00 / 1,000 results
Illinois BidBuy Solicitations Scraper
Search Illinois state bid solicitations on BidBuy by keyword, agency, category, status and opening date, with buyer, NIGP codes, contact and award status, priced per result.
What does Illinois BidBuy Solicitations Scraper do?
It returns solicitations from BidBuy, the State of Illinois procurement portal: bid number, title, agency, buyer, bid opening (due) date, lifecycle status and awarded vendor or award note. You can filter by keyword, agency, portal category, status and opening date window, so runs stay small and you only pay for the records you want. Pricing is per result.
Data source
The public BidBuy "Open Bids" and advanced bid search at bidbuy.illinois.gov, read live on every run, no login needed.
Why use it?
- Lead generation: find fresh state buying opportunities by keyword or agency before competitors do.
- Monitoring: schedule a daily run and push new bids to Slack, Google Sheets or a webhook.
- Market research: see who buys what, which agencies run the most solicitations, and who wins awards (status "Awarded" shows the vendor).
- It replaces manual searching of the portal and copying rows into a spreadsheet.
How to use it
- Open the Actor and set the filters.
- Click Start. Download results as JSON, CSV or Excel, or read them through the API.
- Add a Schedule and an Integration (Slack, Google Sheets, webhook) to get new records automatically.
Input
| Field | Description |
|---|---|
keywords | Words to find in the solicitation description. One search runs per keyword and results are merged. Empty means no keyword filter. |
status | open (default, the portal's Open Bids list), sent, opened, evaluated, approved, intentToAward, awarded (bid to PO) or closed. |
organization | Agency code or name, for example SOS, CMS, DOT or Toll Highway. |
category | Part of a portal category name, for example Computers or Construction. |
openingDateFrom, openingDateTo | Bid opening date window, YYYY-MM-DD or MM/DD/YYYY. |
includeDetails | Also open each solicitation page for the full description, NIGP codes, contact, set aside flags and attachment names. Off by default, see Limitations. |
maxResults | Hard stop for the run. You are billed per result, so this caps the cost. |
proxyConfiguration | Apify proxy is recommended for larger runs. |
Example input:
{"keywords": ["software"],"status": "awarded","organization": "CMS","openingDateFrom": "2026-01-01","maxResults": 50}
Output
Every record has the same shape (detail fields are null or empty unless includeDetails is on and the portal serves the page):
{"id": "27-448DOIT-TELEC-B-54598","bidNumber": "27-448DOIT-TELEC-B-54598","title": "CHANGE ORDER NOTICE Metro Ethernet DOC Redundant","organization": "DoIT - Department of Innovation and Technology","status": "Evaluated","openingDate": "2026-11-03T14:00:00","buyer": "Leigh Ann Henline","awardedVendors": "Award in Process","url": "https://www.bidbuy.illinois.gov/bso/external/bidDetail.sda?docId=27-448DOIT-TELEC-B-54598&external=true&parentUrl=close","typeCode": null,"nigpCodes": [],"description": null,"contactEmail": null,"attachments": [],"blanketNumber": null,"alternateId": null,"scrapedAt": "2026-10-21T08:51:31.657Z"}
| Field | Meaning |
|---|---|
id, bidNumber | Stable BidBuy solicitation number, safe for deduplication between runs |
title | Solicitation description from the list |
organization | Issuing agency |
status | Portal status: Sent, Opened, Evaluated, Approved, Closed, Bid to PO and so on |
openingDate | Bid opening (due) date and time in Illinois local time, ISO format without a zone |
buyer | Purchaser named on the solicitation |
awardedVendors | Awarded vendor, or the award note shown by the portal |
url | Public solicitation page |
publishedDate, department, location, typeCode, bidType, purchaseMethod, fiscalYear, nigpCodes, description, contactEmail, smallBusinessSetAside, bepGoalPercent, vbpGoalPercent, preBidConference, attachments | Detail page fields, filled when includeDetails is on |
blanketNumber, alternateId | Blanket contract number and agency reference number when present |
Pricing
Pay per event: a small fee when a run starts, then a fixed price per result returned. You only pay for records that pass your filters. Set maxResults to cap any run.
Limitations
- BidBuy protects solicitation detail pages with a bot challenge that it applies at its own discretion. The Actor does not try to get past it. If a detail page is challenged, the run logs a warning and returns list data for the remaining records. For reliable detail data, run small batches with a residential proxy or leave
includeDetailsoff. - The portal list does not include the category of each bid. Use
categoryas a filter. - Awarded vendor shows what the portal publishes, which for some bids is a status note such as "Award in Process".
- Dates are Illinois local time as published, with no time zone attached.
FAQ
Is this legal? The Actor reads listings the site publishes for any visitor without a login and stores only business information published for that purpose. You are responsible for how you use the data.
Something is missing or broken? Open an issue in the Issues tab; response time is usually under a day.