Municipal RFP & Government Bid Deadline Monitor avatar

Municipal RFP & Government Bid Deadline Monitor

Under maintenance

Pricing

$25.00 / 1,000 qualified procurement opportunities

Go to Apify Store
Municipal RFP & Government Bid Deadline Monitor

Municipal RFP & Government Bid Deadline Monitor

Under maintenance

Monitor supplied public city and county procurement pages for qualified new RFPs, RFQs, government bids, material changes, and bid deadline changes.

Pricing

$25.00 / 1,000 qualified procurement opportunities

Rating

0.0

(0)

Developer

Blake Panter

Blake Panter

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

18 days ago

Last modified

Share

Monitor supplied public city and county procurement pages for qualified new RFPs, RFQs, government bids, material changes, and bid deadline changes. The paid result is a change signal—not an arbitrary page link or an unchanged opportunity charged again on every run.

Use it for public-sector sales, construction estimating, vendor research, proposal teams, and local-government procurement intelligence. Each signal can include the agency, opportunity title, bid number, due date, category, supporting documents, source URL, confidence, qualification evidence, explicit old/new field values, and a stable deduplication key.

This Actor does not discover every government opportunity on the web. You provide the public procurement pages to monitor. It qualifies an item only when the page contains a bid number, an explicitly labeled solicitation deadline, or solicitation-document evidence, and it never logs in or bypasses access controls.

What it does

  • Accepts bounded public HTTP(S) procurement URLs (coverage is limited to URLs you supply).
  • Blocks private, reserved, loopback, link-local, and metadata destinations and pins each validated DNS answer into that redirect hop's connection.
  • Reads at most 500,000 response bytes and rejects (rather than parses) oversized HTML.
  • Requires a real bid number, an explicitly labeled solicitation due/closing/deadline date, or explicit solicitation-document evidence before an item can be staged or charged. Generic meeting and policy dates are not deadlines.
  • Filters navigation and legal-citation false positives, including the O.C.G.A. 36-… regression.
  • Emits new, changed, or deadline-change signals from durable cross-run state.
  • Makes includePdfLinks: false produce an empty documents array.

Input

{
"startUrls": [
{ "url": "https://www.dallasga.gov/rfps" },
{ "url": "https://www.kennesaw-ga.gov/city-clerk/bids-and-rfps/" }
],
"maxPages": 25,
"maxItems": 100,
"includePdfLinks": true,
"requestTimeoutSecs": 30,
"baselineStoreName": "municipal-rfp-bid-monitor-state",
"outboxLimit": 1000,
"snapshotLimit": 5000
}
FieldDescription
startUrlsPublic procurement/listing pages. HTTP(S) only; redirects receive the same destination checks.
maxPagesMaximum supplied pages fetched in one run.
maxItemsMaximum pending/new signals delivered in one run. Old pending work consumes this budget first.
includePdfLinksControls whether documents is populated.
requestTimeoutSecsTimeout covering request headers and complete bounded body consumption.
baselineStoreNameDeliberately named key-value store reused by scheduled runs.
outboxLimitDurable pending-signal bound. Pending unpaid events are never truncated or evicted.
snapshotLimitPersistent identity capacity. At capacity the Actor stops staging unknown identities; it never evicts remembered identities or charges an unchanged identity as new again.

Typed output contract

Each dataset item is one qualified change signal:

{
"signalType": "deadline-change",
"agency": "Dallas, GA",
"opportunityTitle": "Bid-2026-04: Shiloh Church Water Line Improvements & Sewer Service Connect",
"bidNumber": "2026-04",
"dueDate": "07/22/2026",
"category": "construction",
"summary": "Bid-2026-04: Shiloh Church Water Line Improvements...",
"documents": [
"https://www.dallasga.gov/publicworks/page/bid-2026-04-shiloh-church-water-line-improvements-sewer-service-connect"
],
"sourceUrl": "https://www.dallasga.gov/rfps",
"detectedAt": "2026-07-06T12:42:57.000Z",
"identityKey": "64-character-sha256-opportunity-identity",
"confidence": "high",
"qualificationEvidence": ["bid-number", "due-date"],
"changedFields": ["dueDate"],
"changes": { "dueDate": { "oldValue": "07/15/2026", "newValue": "07/22/2026" } },
"occurrenceSequence": 42,
"dedupeKey": "64-character-sha256-signal-key"
}

The dataset and Actor output schemas are explicitly wired in .actor/actor.json. Changed signals include field-level oldValue/newValue evidence. identityKey stays stable when a deadline changes. occurrenceSequence is incremented durably when each observation is staged, so repeated transitions such as A→B→A→B receive distinct dedupeKey values; a retry of the same pending occurrence retains both values.

Delivery semantics

Delivery is at least once:

  1. Pending work from an earlier run is drained before any newer observation is staged.
  2. A snapshot and its payable signal are persisted together in a bounded outbox before output.
  3. Each signal is acknowledged and removed only after its own successful Actor.pushData call.
  4. Failure, maxItems, or a charge-limit stop leaves remaining work durable for the next run.

A crash after the dataset accepts an item but before acknowledgement persistence can deliver a duplicate. Consumers must deduplicate on dedupeKey; do not assume exactly-once delivery.

Historical validation evidence

The pre-remediation project README and retained sample dated 2026-07-06 recorded these real-source observations (historical evidence, not a claim of current availability):

  • Dallas, GA Bids/RFPs produced active water/sewer and culvert-replacement opportunities; the retained example included Bid 2026-04 and a Dallas source URL.
  • Rockdale County, GA's current bids/RFP/RFQ page produced public bid signals while navigation-menu false positives were filtered.
  • Kennesaw, GA and Fayetteville, GA procurement pages were fetched as public coverage probes.

Some government sites returned 403 during that validation. Such pages were skipped and logged; the Actor did not bypass access controls. Verify every deadline and document at the official source.

Local reproducibility

The direct dependencies, Node 24 multi-platform image digest, npm 12.0.2, and npm lockfile are pinned. The deployment build uses only:

npm ci --omit=dev

Local release checks:

npm ci
npm run lint
npm test
npm run typecheck
npx --yes apify-cli validate-schema

This Actor does not log in, bypass access controls, or provide an official procurement record.