Who's paid what, and what's actually happening across the city right now — both are matters of public record in Philadelphia. This guide covers how to turn each into a genuine accountability tool, not just a lookup.
Public payroll is one of the oldest and most complete categories of government transparency — every city employee's title, department, and salary is a matter of record, published through the city's open data channels. On its own, though, a payroll export is a list, not an argument. The number that matters is rarely a single salary; it's whether that salary grew faster than peers in the same title, whether overtime in a department spiked ahead of a budget cycle, or whether a promotion was in line with how similar roles have been compensated historically. Answering any of those requires comparing records across time and across peers — exactly the layer a raw export doesn't provide on its own.
This is where payroll transparency actually earns its name. Publishing the data satisfies the legal obligation; turning it into a comparison someone can act on — before a budget hearing, a negotiation, or a story goes to print — is a separate step, and the one that determines whether transparency changes anything.
It's also worth being direct about what payroll transparency can and can't tell you. A salary figure is a fact, not an explanation — a large raise might reflect a promotion, a market adjustment, a title reclassification, or something worth scrutinizing, and the payroll record alone doesn't distinguish between them. What it does reliably support is the first, necessary step: knowing which figures are actually unusual enough to be worth asking about, so that the follow-up question — the interview, the records request, the budget-hearing question — is aimed at something real rather than a hunch.
Every city employee's title, department, and salary, tracked quarter by quarter back to 2016.
The same underlying dataset serves very different moments depending on who's asking. A legislative office wants department overtime verified before a budget hearing, not during it (Checking department overtime before a budget hearing). A journalist wants to trace which titles get the largest raises across multiple budget cycles (Tracing a department's biggest raises year over year). A union business manager wants a title's full pay history documented ahead of contract talks (Comparing city trade titles against prevailing pay progression, Tracking senior leadership pay ahead of contract negotiations). And a resident just wants to know if a headline-grabbing promotion is typical or an outlier (Checking whether a raise is in line with peers).
Real-time civic activity for an area — every new permit, license, code violation, and 311 request as it's filed.
Payroll answers who's paid what. Civic activity answers what's actually happening right now — the two together cover most of what "government transparency" means in practice.
A council office covering an entire ward doesn't experience civic activity one block at a time — it experiences a stream of permits, violations, and complaints that need to be triaged, and told apart from genuine emerging patterns (Monitoring civic activity across an entire ward, Triaging constituent complaints about a single corridor). That same stream, watched closely, is also how a resident or small investor catches an early cluster of investment activity before it's common knowledge (Watching a block for early signs of investment activity).
The accountability value of this category is different in kind from payroll — it's less about auditing a single decision after the fact and more about noticing a pattern while it's still forming: a cluster of new business-license filings before a storefront opens (Getting an early alert on a new business license filed nearby), or a zoning-variance filing while there's still time to weigh in before it's approved (Catching a duplex conversion before it's approved). Read after the fact, most of this is just history. Read as it's filed, it's the closest thing to an early-warning system public data offers.
These records serve genuinely different audiences with genuinely different questions, and the site's Solutions pages go deeper on each: Journalists & researchers covers reporting workflows built on payroll and civic data; Elected officials & candidates covers casework and constituent-response use cases; Government & agencies covers giving a city's own data back to its residents, explained, including reducing the volume of formal records requests a department fields directly.
A department fielding the same records request repeatedly is often a sign the underlying data would be more useful published as a connected, searchable tool than as a one-off response — the difference between answering the same question by hand every time and letting residents answer it themselves.
A transparency portal that mirrors the city's own raw export satisfies the letter of "the data is public" without making it any easier to use. CompensationAtlas and BlockWatcher instead start from the comparisons people actually need — this title against that title, this quarter against last, this block against its own baseline — and surface the answer with the underlying record attached, so it can be verified rather than taken on faith. That's the same connective approach behind every ALKARTIS product, covered in more depth in Information Intelligence.
Yes — Philadelphia publishes payroll records, including title, department, and salary for city employees, through OpenDataPhilly. CompensationAtlas connects that data back to 2016 and makes it searchable by name, title, and department.
A single number in isolation can't tell you if it's unusual. Comparing it against peers in the same title, the same department's history, or citywide overtime trends is what turns a raw figure into something you can act on — during a budget hearing, a negotiation, or a story.
Payroll answers who is paid what. Civic activity — permits, licenses, violations, and 311 requests — answers what's actually happening on the ground in real time. BlockWatcher connects that second category into one feed for a given area.
Journalists tracking a pay trend across budget cycles, legislative and council offices preparing for hearings or fielding constituent complaints, union representatives documenting pay history before negotiations, and residents checking whether a headline-grabbing raise is typical or an outlier.