Chicago eProcurement Bids and City Contracts Scraper avatar

Chicago eProcurement Bids and City Contracts Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Chicago eProcurement Bids and City Contracts Scraper

Chicago eProcurement Bids and City Contracts Scraper

Scrape open City of Chicago bid solicitations and contract awards, filtered by keyword, department, award window and amount, with a flat price per result.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

M Usama

M Usama

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Share

What does Chicago eProcurement Bids and City Contracts Scraper do?

It returns City of Chicago procurement data in one clean dataset: open bid solicitations (title, department, solicitation and specification numbers, advertisement date, questions deadline, response due date, compliance goals) and recently approved contract awards (vendor, department, award amount, approval date, contract type, start and end dates). Filter by keyword, department, award window and minimum amount to keep runs small. Pricing is per result.

Data source

Open solicitations are read from the City's public eProcurement solicitations page (no login needed), and contract awards from the City's public Contracts dataset on the Chicago Data Portal, which is updated as contracts are approved.

Why use it?

  • Lead generation for vendors: see which departments are buying and who is winning.
  • Bid monitoring: schedule a daily run and get new solicitations by department or keyword in Slack, email or a spreadsheet.
  • Market research: track award amounts, contract types and incumbents by department.
  • Replaces checking the portal by hand and exporting a stale spreadsheet.

How to use it

  1. Open the Actor and set the filters.
  2. Click Start. Download results as JSON, CSV or Excel, or read them through the API.
  3. Add a Schedule and an Integration (Slack, Google Sheets, webhook) to get new records automatically.

Input

FieldDescription
dataTypesbids, contracts, or both. Default both.
keywordsKeep records whose title (and vendor name for contracts) contains any keyword.
departmentsKeep records from departments whose name contains any of these, for example Aviation.
daysBackContracts approved in the last N days. Default 30. Does not apply to bids.
minAwardAmountContracts only. Skip awards below this dollar value.
includeClosedBidsAlso return solicitations whose response date has passed. Default off.
maxResultsHard stop for the run. You are billed per result, so this caps the cost.
proxyConfigurationApify proxy is recommended for larger runs.

Example input:

{
"dataTypes": ["bids", "contracts"],
"keywords": ["software"],
"departments": ["Technology"],
"daysBack": 90,
"maxResults": 100
}

Output

Every record has a recordType of bid or contract. Example bid:

{
"id": "bid:72293",
"recordType": "bid",
"title": "AED’s and Associated Support Materials at ORD MDW International Airports",
"department": "CHICAGO DEPARTMENT OF AVIATION",
"solicitationNumber": "72293",
"specificationNumber": "1281345A",
"category": "Commodities",
"status": "open",
"responseDueDate": "2026-11-30T11:00:00",
"advertisedDate": "2026-09-30T09:15:00",
"questionsDeadline": "2026-10-20T16:30:00",
"complianceGoals": "MBE 10%, WBE 4% and VBE 1%"
}

Example contract:

{
"id": "contract:216776:2",
"recordType": "contract",
"title": "CDPH-MNTL-HLTH: PO 192904 Inner City Muslim Action Network",
"department": "CHICAGO DEPARTMENT OF PUBLIC HEALTH",
"vendorName": "INNER-CITY MUSLIM ACTION",
"awardAmount": 0,
"approvalDate": "2026-10-21",
"contractNumber": "216776",
"revisionNumber": "2",
"contractType": "DELEGATE AGENCY",
"vendorCity": "CHICAGO",
"vendorState": "IL"
}
FieldMeaning
idStable key, safe for deduplication between runs
recordTypebid or contract
titleSolicitation title or contract description
departmentCity department
statusBids only: open or closed, based on the response due date
responseDueDateBids only: due date in Chicago local time, no time zone offset
awardAmountContracts only: award value in USD (modifications can be 0)
approvalDateContracts only: date the award or modification was approved
contractNumber, revisionNumberContracts only: contract key. Each revision is its own record
scrapedAtWhen the record was collected

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

  • The City's solicitations page shows its most recent 30 listings and most are usually already closed, so expect a handful of open bids per run. Run it on a schedule to catch new ones.
  • Bid documents and addenda sit behind the City's supplier registration and are not downloaded. Each bid links to the public solicitations page.
  • Non eProcurement courtesy notices posted as PDFs are not included.
  • Contract records can include modifications with an award amount of 0.

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.