Overview
Government procurement data is public record by design — taxpayers pay for these contracts, and the law says citizens get to see them. That’s the foundation RFPHawk is built on. We aggregate, normalize, and rank these opportunities so you don’t have to monitor dozens of different portals.
We only collect from official government sources: federal APIs published by the GSA, and state procurement portals that agencies themselves publish as public-facing bid boards. We don’t scrape private intermediaries, sales-intelligence platforms, or anything that sits behind a login wall.
Federal sources
Federal opportunities come from GSA-operated APIs that are explicitly designed for third-party consumption. API keys are free, rate-limited, and terms-of-use compliant.
| Source | How we pull it | Frequency | Coverage |
|---|---|---|---|
| SAM.gov (System for Award Management) | Public GSA-sanctioned API (get-opportunities) | Daily (12:00 UTC) | All federal contract opportunities: solicitations, sources sought, combined synopses, special notices. |
| Grants.gov | Public Search2 API | Daily (12:00 UTC) | Federal grant opportunities. Excluded by default in RFPHawk search; opt in via filters. |
State sources
Each state operates its own procurement portal. Some use shared software (BidNet Direct hosts ~30 states with a common HTML layout); others run homegrown systems. We pull from each one separately, using the portal’s public search interface.
When a portal redesigns its site or migrates to a new platform, our adapter can break until we update the code. We flag those as rebuilding below so you know what’s currently live versus temporarily offline.
| State | Portal | Status |
|---|---|---|
| AK | Alaska Online Public Notices | Live |
| AL | Alabama BidNet Direct | Live |
| CO | Colorado BidNet Direct | Live |
| DE | Delaware Government Support Services | Live |
| GA | Georgia Procurement Registry | Live |
| IA | Iowa Bid Opportunities | Live |
| IL | Illinois BidBuy | Live |
| LA | Louisiana LaPAC | Live |
| MA | Massachusetts COMMBUYS | Live |
| MI | Michigan Intergovernmental Trade Network | Live |
| MS | Mississippi DFA Procurement | Live |
| MT | Montana eMACS | Live |
| NC | North Carolina BidNet Direct | Live |
| NE | Nebraska DAS Materiel Purchasing | Live |
| NH | New Hampshire DAS Bids & Contracts | Live |
| NJ | New Jersey BidNet Direct | Live |
| NY | NY State Contract Reporter | Live |
| PA | Pennsylvania eMarketplace | Live |
| RI | Rhode Island BidNet Direct | Live |
| SC | South Carolina SCEIS | Live |
| TX | Texas Electronic State Business Daily | Live |
| UT | Utah Bonfire | Live |
| VT | Vermont Bid Room | Live |
| WI | Wisconsin VendorNet | Live |
| FL | Florida MyFloridaMarketPlace VBS | Rebuilding |
| WA | Washington DES Contracts | Rebuilding |
We’re actively expanding coverage. If you need a specific state, see Add a source below and we’ll prioritize based on demand.
Roadmap
States we’ve already investigated but haven’t shipped an adapter for yet. We publish this list so you can see where the coverage gaps are and what’s blocking them. Categories:
- On the list — the portal serves plain HTML or JSON and we just haven’t written the adapter yet. These typically ship within a sprint of being prioritized.
- Single-page app — the state migrated to a modern JavaScript front-end (Ivalua, Oracle Redwood, InFlight NLX, Angular) that fetches data through authenticated session calls. We need a headless-browser worker to render the SPA before scraping; that infrastructure is in design.
- WAF blocked — the portal sits behind a bot-mitigation firewall (Akamai, BIG-IP) that rejects polite programmatic clients regardless of throttling. Solvable with a residential-IP proxy pool; deferred until the demand justifies the cost.
| State | Portal | Status | Notes |
|---|---|---|---|
| CA | California Cal eProcure | Single-page app | InFlight NLX wrapper around PeopleSoft. No public JSON API; data fetched via ps-relay.aspx proxy that requires the SPA shell to be running. |
| OH | Ohio OhioBuys | Single-page app | Ivalua SaaS — modern Angular SPA. Same blocker as AZ and MD. |
| AZ | Arizona ProcureAZ | Single-page app | Ivalua SaaS — same platform as Ohio and Maryland. |
| MD | Maryland eMaryland Marketplace | Single-page app | Ivalua SaaS migration — Maryland moved off the legacy site we used to scrape. |
| MO | MissouriBUYS (MOVERS) | Single-page app | Oracle Fusion Cloud Procurement, Redwood UI. REST endpoints aren’t publicly exposed without authentication. |
| VA | Virginia eVA | WAF blocked | Akamai WAF rejects programmatic clients regardless of headers / throttling. Needs a residential-IP proxy. |
| CT | Connecticut BizNet (SCP) | WAF blocked | BIG-IP bot rejection on the search endpoint. Public bid board exists but anti-automation gate is aggressive. |
| TN | Tennessee Edison Supplier Portal | On the list | PeopleSoft eSupply Connect — needs a session warmup we haven’t reverse-engineered yet. |
| OR | Oregon OregonBuys | On the list | JSF/PrimeFaces (similar shape to IL + MA). Likely a one-off after we extract the Periscope adapter into a true generic. |
| KS | Kansas Procurement and Contracts | On the list | On the short list — plain HTML, no obvious blocker. |
| OK | Oklahoma Central Purchasing | On the list | Public solicitation listings under OMES. Adapter not yet written. |
| NM | New Mexico GSD State Purchasing | On the list | Active procurement list page; HTML scrape candidate. |
| WV | West Virginia OASIS | On the list | wvOASIS.gov serves the listing publicly. Adapter not yet written. |
| NV | Nevada NEATS | On the list | Nevada eProcurement and Tracking System. On deck after the Periscope rollout. |
| ID | Idaho Division of Purchasing | On the list | Plain HTML bid listings. Low volume but high coverage value. |
| AR | Arkansas OSP | On the list | Office of State Procurement bid postings. HTML scrape candidate. |
| ME | Maine Vendor Self-Service | On the list | On the Periscope-family probe list; needs hostname recon. |
| HI | Hawaii eProcurement Notices | On the list | HePS / HANDS. Multiple subdomains; needs portal mapping. |
| KY | Kentucky eProcurement (eMARS) | On the list | Infor CGI Advantage. Plain-HTML solicitation listings. |
| MN | Minnesota Cooperative Purchasing | On the list | SWIFT contracts portal. Adapter not yet written. |
| IN | Indiana IDOA Bid Opportunities | On the list | iSupplier behind a login wall; public PDF aggregator on idoa.in.gov is the likely scrape target. |
Want one of these prioritized? Tell us which state matters to your business and we’ll move it up the queue.
What we don’t cover
To be upfront about the gaps:
- County and municipal RFPs. Most of these aren’t published on a central portal — each city runs its own. Too fragmented for us to tackle until we’re much bigger.
- Subcontracting opportunities from prime contractors. These aren’t public; primes post them on commercial platforms or distribute privately.
- Pre-solicitation intelligence. Some commercial databases (GovWin, Bloomberg Government) claim visibility into contracts before they’re formally advertised. Those claims depend on paywalled sources we don’t have access to.
- Classified or agency-internal solicitations. Obvious reasons.
- Foreign government contracts. U.S. only for now.
Accuracy & freshness
We pull from every live source once per day. Most opportunities appear in RFPHawk within 24 hours of being posted upstream. You can see the last successful scrape time per source on our status page.
We display what the upstream portal says. If a state agency updates a due date, our next daily pull catches that change and updates the record. If an agency withdraws a solicitation, we mark it inactive on the next pull.
Always verify at the source before submitting a proposal. Procurement deadlines are binding and we’re not the system of record — the agency’s own portal is. Every RFP in RFPHawk links back to its original source page.
Licensing & reuse
The underlying RFP records are public-domain government information. Nobody (including us) can claim copyright over the facts themselves — who’s buying what, when the deadline is, how much it’s worth. That’s settled U.S. law (Feist v. Rural Telephone).
What we do claim: our aggregation, normalization, match scoring, and the organized database itself. The match scores, categorizations, and rankings are our work product — per our Terms of Service you may use them for your internal decisions but not resell them.
In practical terms: you’re welcome to use RFPHawk’s output to inform your own bid decisions, internal pipeline, or reporting. Scraping RFPHawk pages to power a competing product violates our Terms. Bulk programmatic access isn’t offered today — if that’s a must-have for your team, email hello@rfphawk.com and we’ll tell you whether it’s on the roadmap.
Corrections & takedowns
Occasionally we get an email from a small business whose company name appears in an award record (“XYZ Consulting won a $200k contract from Agency Z”) and they’d rather it not be searchable. Those award records are public government information that we cannot unilaterally remove — they remain available at the original source regardless of what we do.
That said, if there’s a factual error in how we’ve presented an RFP (wrong agency attribution, wrong value, misparsed due date), email corrections@rfphawk.com and we’ll fix it within a business day.
Add a source
Is there a government procurement portal we should cover? Tell us about it. We read every submission and prioritize based on real use cases, not raw request counts.
We don’t promise a timeline — the work involved depends on how the portal’s HTML is structured — but we’ll reply either way, usually within a few business days.