Skip to content
ScanX

CPPP publishes four organisation lists, and they disagree

Counting the organisations on CPPP gives four different answers depending on which page you ask, and one of the four is not linked from the navigation at all.

Measured 22 August 2026. Published 9 September 2026.

There is no single answer to "who publishes on CPPP". There are four pages that will tell you, they return four different numbers, and the differences between them are not rounding. Which page you read decides which tenders you are structurally unable to see.

ListWhat it isReturnsCarries counts?
e-Procurement, by organisationThe list most tooling reads259 organisations, 2,661 live tendersYes
ePublishing, by organisationNot linked from the ePublishing navigation167 organisations, 1,531 live tendersYes
Aggregator, active-organisation filterThe search page dropdown421 organisations currently activeNo
Historical organisation dropdownEveryone who has ever published1,083 organisationsNo
All four are readable as plain HTML while logged out. Counted 22 August 2026.

The gap is one specific list

Overlap between the two CPPP organisation listsThe e-Procurement list holds 259 organisations and the ePublishing list holds 167. Only 26 appear on both. The remaining 141 ePublishing organisations appear on no other CPPP list, and they held 1,252 live tenders when counted.259e-Procurement167ePublishing26both141 on no other CPPP list
Organisation counts, 22 August 2026. The 141 held 1,252 live tenders between them.

The interesting disagreement is between the first two. We took the 167 organisation names off the ePublishing list and looked for each of them on the e-Procurement list of 259. On an exact-string match, 141 of the 167 are not there at all, and those 141 were holding 1,252 live tenders on the day we counted.

Only 26 organisations appear on both. We checked that the exact-string rule was not inflating that gap: the near-misses are genuinely different bodies rather than spellings of the same one. Cochin Port Trust and Chennai Port Trust are two ports, not two names for one.

So if your tooling reads the e-Procurement list, which is the obvious one to read, there is a body of live central-government work you are not looking at, and no amount of refreshing the page you are on will surface it.

Why that list stays unread

The ePublishing browse-by-organisation page is not linked from the ePublishing navigation. The navigation offers Tenders by Location and Tenders by Classification, and no Tenders by Organisation. Request the URL directly and it returns HTTP 200 with the full table.

There is a CAPTCHA on that page, which is the other reason people assume it is closed. It is not on the table. It belongs to the keyword and category search form at the top, exactly as on the e-Procurement equivalent, and the organisation rows and their counts parse straight out of the HTML with no session and no challenge.

A worked consequence

Counting organisations is not the point. What the counts change is who you think your buyers are.

Take the Defence Research and Development Organisation. On CPPP it had 87 live tenders when we looked, and every single one of them was civil works or estates. No test rigs, no instrumentation, no naval armament. A firm that sells to DRDO labs and watches DRDO on CPPP will conclude, reasonably and wrongly, that its buyers have gone quiet.

That is the shape of the problem generally. The portal is not hiding anything. It is publishing in more places than anyone reads, under names that do not line up, across four lists that were never meant to be reconciled.

How to check this yourself

Open both browse-by-organisation pages, on e-Procurement and on ePublishing, and compare the organisation column. You do not need an account and you do not need to solve anything. The counts sit in the table next to each name.

Live counts move daily, so your numbers will not match ours exactly. The 141-of-167 split held across two separate measurements taken weeks apart, which is the part that matters: the gap is structural, not a bad afternoon on somebody's server.

ScanX reads all of this every hour and sends you the rows that match what you build.