Every portal that matters,
swept twice a day
Purpose-built scrapers for the federal, state, municipal, and aggregator systems your buyers publish on — running on a schedule so nobody has to log in anywhere.
Adapters that ship with the platform
Each source is read on its own terms. New portals are added as adapters, so coverage grows without changing how you work.
Need a portal that isn’t listed? New adapters are how the platform grows — tell us which one.
Reading a posting properly, not just fetching it
A URL and a title is not an opportunity. Discovery is only useful if what lands is complete enough to judge.
Purpose-Built Adapters
Each portal gets its own adapter rather than a generic crawler. SAM.gov's API, eVA's search, a county site's HTML table — every source is read the way it actually publishes, so nothing is lost in translation.
Full Solicitation Text
Listings are thin. A second pass pulls the complete notice behind each posting, so scoring reads the scope of work rather than a one-line title.
Deduplicated on Arrival
Aggregators republish what state portals already carry. Postings are matched on arrival so one opportunity appears once, no matter how many sources carried it.
Deadlines Parsed
Close dates are extracted and normalized out of a dozen different formats, so a bid closing Friday reads as closing Friday everywhere in the app.
Agencies Resolved
The issuing agency is identified and linked, building a record of who buys what — and which buyers your team has history with.
Set-Asides Detected
Small business, HUBZone, service-disabled veteran-owned, 8(a) — set-aside designations are read off the notice so you can filter to what you're eligible for.
Done before your team sits down
The full cycle — scrape, score, backfill — runs twice a day, morning and evening. By the time anyone opens the app, the new postings are in, scored, and sorted.
Sources Scraped
Every connected portal is swept for new and updated postings.
High-Volume Sources
Aggregators heavy enough to need their own window run separately.
Scoring Pass
Newly ingested bids are scored against each company's criteria.
Full Text Backfill
Complete notice bodies are fetched for anything still missing them.
Runs again each evening, so afternoon postings don’t wait overnight.
Every run leaves a record
Each scrape session logs what it found, what it skipped, and what broke. When a portal changes its markup — and they all do eventually — you see the failure in the session history instead of quietly receiving nothing.
See What You've Been Missing
Connect your portals and let the first run show you the opportunities that were public all along.