Stafford Data Center Planning Monitor avatar

Stafford Data Center Planning Monitor

Pricing

from $40.00 / 1,000 data-center planning matches

Go to Apify Store
Stafford Data Center Planning Monitor

Stafford Data Center Planning Monitor

Monitor Stafford County CivicClerk agendas and packets for data-center, substation, CUP, rezoning, and comprehensive-plan planning items.

Pricing

from $40.00 / 1,000 data-center planning matches

Rating

0.0

(0)

Developer

Mike Chiou

Mike Chiou

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

24 days ago

Last modified

Share

Monitor Stafford County, Virginia CivicClerk agendas and packets for data-center, electric-substation, utility, rezoning, conditional-use, and comprehensive-plan planning signals.

What This Actor Does

  • Fetches public Stafford County CivicClerk event metadata from the official public API.
  • Scans public agenda, agenda-packet, and minutes plain-text streams with plainText=true.
  • Matches deterministic data-center and power-infrastructure terms without LLM interpretation.
  • Extracts case IDs such as CUP25156868, COM25156869, RC24155947, PCR26-14, O26-13, and R26-125.
  • Extracts visible project names such as Potomac Creek Campus, GWV Data Center, Simms Farm Data Center, and Vantage VA41 Substation when present in source text.
  • Emits source-backed records with event URLs, file URLs, matched snippets, case IDs, project names, event type, and dedupe key.
  • Persists event fingerprints so repeated monitor runs do not emit the same event again.
  • Supports pay-per-event charging with a safe no-op fallback for local or unpublished runs.

Inputs

  • meetingBodies: CivicClerk meeting categories to scan. Defaults to Planning Commission, Board of Supervisors, and Historical Commission.
  • fileTypes: file types to scan. Defaults to Agenda, Agenda Packet, and Minutes.
  • keywords: custom terms to match in addition to the built-in data-center, substation, utility, transmission, and known-project patterns. Broad planning terms such as comprehensive plan are best used only when you intentionally want a wider feed.
  • dateWindow: explicit { "start": "YYYY-MM-DD", "end": "YYYY-MM-DD" } or { "lookbackDays": 180 }.
  • includeUnmatchedFiles: when true, emits new_planning_file for unmatched new files too.
  • maxSourceEvents, maxFilesPerEvent, maxEvents: safety controls.
  • stateStoreName: named key-value store for monitor-mode dedupe. Use __RUN_DEFAULT__ for isolated demo runs.

Output

Each dataset item uses this shape:

{
"event_type": "data_center_planning_match",
"jurisdiction": "Stafford County, VA",
"source_system": "CivicClerk",
"event_id": 2724,
"event_name": "May 13, 2026 Planning Commission Meeting",
"event_date": "2026-05-13",
"meeting_body": "Planning Commission Meetings",
"file_id": 6063,
"file_type": "Agenda Packet",
"file_name": "May 13, 2026 Planning Commission Agenda Packet",
"case_ids": ["CUP25156868", "COM25156869"],
"project_names": ["Potomac Creek Campus"],
"matched_keywords": ["data center", "conditional use permit"],
"match_category": "data_center_planning",
"match_strength": "multi",
"matched_snippet": "CONSIDER A REQUEST FOR A CONDITIONAL USE PERMIT FOR MAXIMUM BUILDING HEIGHT OF ANY DATA CENTER BUILDING...",
"source_event_url": "https://staffordcova.portal.civicclerk.com/event/2724",
"source_file_url": "https://staffordcova.api.civicclerk.com/v1/Meetings/GetMeetingFile(fileId=6063,plainText=false)",
"public_portal_file_url": "https://staffordcova.portal.civicclerk.com/event/2724",
"dedupe_key": "stafford-civicclerk:2724:6063:CUP25156868+COM25156869:data_center_planning"
}

Event Pricing Plan

Pay-per-event pricing is configured on Apify.

  • data_center_planning_match: $0.04 primary event.
  • substation_or_power_match: $0.04 primary event.
  • new_planning_file: $0.02, only when includeUnmatchedFiles is enabled.

Use all-inclusive pay-per-event pricing. Do not enable pay-per-event plus usage unless the margin model changes.

Local Development

npm install
npm run build
npm test
npm run lint
npm run canary
apify run --purge

The local smoke input lives at storage/key_value_stores/default/INPUT.json.

Data Sources

  • Stafford County public portal: https://staffordcova.portal.civicclerk.com/
  • Stafford County public event API: https://staffordcova.api.civicclerk.com/v1/Events
  • Event detail example: https://staffordcova.api.civicclerk.com/v1/Events/2724
  • Plain-text file stream example: https://staffordcova.api.civicclerk.com/v1/Meetings/GetMeetingFileStream(fileId=6063,plainText=true)

Limitations

  • This Actor reports public source facts and deterministic keyword matches. It does not provide legal, zoning, real-estate, investment, tax, utility, or compliance advice.
  • v1 is Stafford County specific. New Albany, Mesa, Henrico, Loudoun, Prince William County, and Manassas adapters are out of scope unless each passes a separate source gate.
  • Prince William County, Loudoun County, and Manassas Granicus sources were explicitly parked because their Granicus hosts disallow / for User-agent: * in robots.txt.
  • v1 uses CivicClerk plainText=true streams. It does not parse PDFs directly.
  • The Actor is not affiliated with, endorsed by, or sponsored by Stafford County, CivicClerk, or CivicPlus.

Maintenance

Run the canary daily:

$npm run canary

Open a fix ticket if the CivicClerk event API returns HTML/404, event 2724 or file 6063 disappears and the fallback canary fails, publishedFiles disappears, plain-text file streams stop returning source text, or the parser no longer emits at least one data-center or substation event from a known source file.

Kill / Scale Gate

After 60 days listed on Apify, continue only if the Actor reaches at least 5 paid-plan users, at least $25 in charged events, credible direct inbound, or repeated paid usage by the same non-Mike account. Otherwise archive/freeze and move to the next validated build.