CityScroll connects official publications to agencies, mandates, parcels, people, and processes, so you can see what New York City government is doing and what you can do next. Use Now for urgent dates. Use Near you for local changes. Use Following for saved watches. Use Browse for contracts and plans, land use, meetings and votes, job exams, city property sales, and rules. The site uses official city publications. CityScroll is independent. It is not part of city government.
Procurement notices carry two kinds of computed notes. Both are statistical context, not
findings or blame. A flag just means "worth a closer look." Every formula has a fair reason behind it. Emergencies
really happen. Some markets are specialized and have few bidders. Name matching is not perfect. This method follows two guides. One is
the Open Contracting Partnership's red-flags guide (opens in new tab). The other is
Opentender's (opens in new tab) integrity rules.
⚑ Short ad window — the days between when a notice is posted and when the answer is due. We flag
it when it is 10 days or fewer and less than half the agency's own median. The median comes from
that agency's last 200 notices. Short windows favor incumbents who already knew the work was coming.
⚑ Non-competitive method — the notice says it will pick a vendor without a full contest. It may be
a deal made through talks, a single chosen source, an urgent buy, or a test project. This can be fair at times.
But it is always good to know.
⚑ Repeat awards — the same vendor name shows up on 3 or more award notices at the same agency within
90 days. This can point to task orders under a blanket contract just as much as favoritism. The flag just counts
them — you decide what it means.
Context strip — how big an award is, shown as a percentile of that agency's awards in the last 12
months (shown only when the agency has 20 or more awards in that time). It also shows the vendor's share of the
agency's award dollars in the same time. We use the exact published name. We do not merge name variants here.
Rules adoption lag (estimate) — after comments close, how long similar Agency Rules usually
took to reach a Notice of Adoption. Built from City Record history. Unfinished cases are not treated as
fast ones. Uses an agency pool when it has at least 20 past gaps, or the whole city if not. Shown as a dashed
“Estimate” segment on the rules timeline, and as one digest line only when the band changes — never as a
confirmed date. Full formula:
rules adoption lag.
All numbers come live from the City Record Open Data (opens in new tab)
when you view the notice. These are awards as published. The numbers can lag behind contract
registration and real payment. Nothing here says anyone did wrong. It just saves you the math.
How past patterns are used
Some pages use past public records to add context. These patterns do not replace official dates or predict what will happen.
Civil-service eligible-list timing
CityScroll compares past exams to show how long DCAS may take to set up an eligible list. The comparison uses no applicant names, scores, or ranks.
How this works
We match exams by exam number and measure from the filing deadline to the date the list was set up. If a group is too small or its test results are weak, CityScroll shows only the citywide middle value.
Property sale timing pattern
Some city property notices announce a hearing before they name a sale date. CityScroll may show how many weeks auctions have followed past notices, but it does not predict that a sale will happen.
How this works
The public set is small, and earlier hearings rarely share the same lot number as later auction notices. A real sale date always replaces the pattern.
Tax lien sale progression
CityScroll shows how often tax liens at the same stage reached a past cycle's final sale list. It does not predict that a property will be sold or foreclosed.
How this works
A lien may leave the list after payment, a payment plan, an exemption, a correction, or a canceled sale. When the evidence is too weak, the site shows only group totals and the lot's current status.
What past zoning cases show
CityScroll uses past zoning cases to show a usual time range and results for similar cases. These are past patterns, not a forecast. Legal deadlines still control.
How this works
We start with the same action type and borough, then use a wider group if there are fewer than 20 cases. Long or unfinished cases stay out of the time range.
Applicant history
When an applicant has at least 20 past zoning results, CityScroll may show that history next to the overall result rate. It is context, not a claim that the applicant will win or lose.
How this works
We compare approved, modified, and disapproved cases. If name matches or past test results are weak, the site labels the result as descriptive history or does not show it.
Send feedback
Found a bug, want a feature, or have a thought? Send it here. We read everything. No account needed.
The task: What were you actually trying to get done?
Where it broke down: What happened, or where did it stop working the way you expected?
What you did instead: Did you find another way, give up, or leave it unfinished?
These are just prompts. Write your answer below, in your own words — there's no separate field to fill in.
If you add your email, we only use it to reply. Each submission also saves your IP address and browser for a short time to stop spam.
Accessibility
CityScroll targets WCAG 2.2 Level AA today. Automated checks cover every public page at phone and desktop sizes.
About our content
CityScroll uses generative artificial intelligence (AI) to draft headings and plain-language explanations. A human reviews and edits this content before it goes live. AI does not create or change the official records shown on the site.