NYC City Record Facility Bids - Trade Alerts avatar

NYC City Record Facility Bids - Trade Alerts

Pricing

Pay per event

Go to Apify Store
NYC City Record Facility Bids - Trade Alerts

NYC City Record Facility Bids - Trade Alerts

NYC City Record procurement notices from the official NYC Open Data API, classified by facility-services trade (janitorial, HVAC, elevator, snow, landscaping, pest, security...). Filter by trade, agency, notice type and date; alerts on new and changed notices and addenda.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Miguel Buckenmeyer

Miguel Buckenmeyer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

NYC City Record Facility Bids – Trade Alerts

Get New York City procurement notices for facility-services contractors, already sorted by trade and checked for changes. Notices come straight from the City's official open data.

If you do janitorial, HVAC, elevator, fire-alarm and sprinkler, landscaping, pest control, security guard, snow removal, waste hauling, plumbing, roofing or general building maintenance work, this Actor reads every procurement notice the City publishes in The City Record. It keeps the ones for your trade and tells you what is new or changed since your last run.

What you get

  • Trade tags on every notice. A notice can have more than one trade. The 14 trades are janitorial, building, grounds, pest, hvac, roofing, plumbing, electrical, fire, snow, security, elevator, waste and window. Each tag comes with the reason it was applied (the keyword that matched), so you can see why a notice was tagged.
  • Filters by trade, agency, notice type, category, publication date, due date and keyword.
  • Change detection (alert mode). Each notice is marked new, changed (the changed fields are listed: due date, title, amount, description, documents…) or addendum. A notice counts as an addendum when it is a correction, bid extension, re-ad or cancellation, or when the same agency re-publishes a notice under an existing PIN. Re-published notices are linked to the earlier notice through relatedRequestIds.
  • Clean fields, including the agency, PIN, selection method, due date, days until due, contract amount (for awards and intents to award), awarded vendor (businesses only), the description as plain text, and a link to the official notice on City Record Online.

Typical uses

GoalInput
Open elevator & HVAC bids{"trades":["elevator","hvac"],"noticeTypes":["Solicitation"]}
Daily alert for NYCHA facility work{"agencies":["Housing Authority"],"onlyNewOrChanged":true}, scheduled daily
Who won janitorial/security contracts this year{"trades":["janitorial","security"],"noticeTypes":["Award"],"daysBack":365}
Bids due in December{"noticeTypes":["Solicitation"],"dueAfter":"2026-12-01","dueBefore":"2026-12-31"}

Setting up alerts

  1. Choose your filters and turn on Only new or changed notices.
  2. Run it once. The first run quietly records a baseline of what is already published and outputs nothing.
  3. Schedule it daily. Each later run outputs only notices that are new, changed or addenda. To keep separate alert streams (one per saved search), give each one its own State store name.

Output example

{
"requestId": "20261008021", "agency": "Housing Authority", "noticeType": "Solicitation",
"title": "VISUAL INSPECTION OF FIRE STANDPIPE AND SPRINKLER SYSTEMS",
"trades": ["fire"], "tradeLabels": ["Fire & life-safety inspection"],
"selectionMethod": "Request for Quote", "dueDate": "2026-11-10T14:00:00.000", "daysUntilDue": 25,
"changeType": "changed", "changedFields": ["due_date"],
"noticeUrl": "https://a856-cityrecord.nyc.gov/RequestDetail/20261008021"
}

See the samples/ folder for complete runs.

Pricing (pay per event)

  • Notice result: $0.005 for each notice written to your dataset ($5 per 1,000).
  • New or changed match: an extra $0.02 for each notice that is new, changed or an addendum since your previous run. The baseline run never charges this. To cap your spend, set Max results or a maximum charge on the run. A typical daily alert run returns 0–5 notices.

Sources & terms

  • The data comes from NYC Open Data, "City Record Online" (dataset dg92-zbpx), read through the official Socrata SODA API. The dataset license is Public Domain.
  • The portal's robots.txt allows the /resource/ API and blocks only browse facets and a few internal paths. It sets Crawl-delay: 1, so the Actor waits at least 1 s between API pages.
  • The NYC Open Data and NYC.gov terms of use cover lawful use without disrupting City servers. This Actor runs a small number of paginated queries per run.
  • The Actor does not scrape City Record Online web pages. It only links to them.
  • The agency's official notice always controls. Always check due dates, addenda and documents on the official notice or in PASSPort before you bid.

Privacy

Only public, non-personal business data is output.

  • Contact names, phone numbers, fax numbers, emails and "address to request" are never requested from the API.
  • Emails and phone numbers inside descriptions are replaced with [email removed] and [phone removed]. Names after "Contact:", "Attn:" and similar phrases become [name removed].
  • Vendor names that don't look like a business (no LLC, Inc, Corp, Services…) are withheld, and vendorNameWithheld is set to true.

How the trade tags work

Trades are tagged from the notice title using keyword rules. The rules are reused from BidSweep's facility-services classifier and extended with NYC wording, and they exclude goods purchases, capital construction and design, consulting and software. When a short title matches nothing, the start of the description is checked as well. This is a rules-based classifier, not a guarantee. Use includeUnclassified to see everything.

Limitations

  • City Record has no commodity codes (NIGP/NAICS), so tagging is based on keywords. Expect some misses and false positives, for example roof replacement capital projects tagged as roofing.
  • Change detection compares notices only within the date window you query. If you widen the filters later, older matching notices show up as new.
  • Addendum linking needs a PIN. Some notices, such as many NYCHA ones, have no PIN and are linked only by their title prefix (Correction, Bid Extension, …).
  • The source dataset is refreshed daily by the City.