Publicly listable OOH units: a validated open-API floor of 7,420 units, against a 1.6M-placement commercial ceiling that cannot simply be added

Asked (summary)

If asked to build a list of known out-of-home inventory units with street addresses or coordinates — publisher name, format, static/digital type, country, city, state, address — how many units could be listed from publicly available information?

Three validated sources, on three independent hosts, one row each: two open government ArcGIS APIs whose unit records are directly enumerable without login (MassDOT, 3,033 signs; UDOT, 4,387 billboard-face records from a 2019 layer), and one commercial marketplace coverage claim (AdQuick, 1.6M+ placements across 38 countries). The honest answer is two numbers, not one: a reproducible floor of 7,420 and a stated commercial ceiling of 1.6M+ that overlaps the floor and is not proven bulk-exportable.

Scale comparison: what is proven versus what is claimed

Validated open-API floor — every unit enumerable, with coordinates or route locationCommercial stated coverage — addressable via platform login, not validated extractable rows
Grain warningDefine the counting grain first. UDOT rows are 2019 billboard faces; MassDOT rows are permitted signs; AdQuick counts bookable placements. Mixing structures, faces and rotating digital spots silently inflates any total.
Overlap warningNever add 1.6M to 7,420. AdQuick claims 99% of U.S. OOH, so it almost certainly covers the same Massachusetts and Utah units. The two figures answer different questions.
Access warningAdQuick requires a business-email login; the public claim does not establish that all 1.6M records, exact coordinates or publisher identities can be bulk exported. The two government APIs need no login.
Staleness warningThe UDOT layer is dated 2019 and its face records do not carry a reliable current static/digital flag in every row. MassDOT exposes Status; filter stale and inactive permits before counting.

What the sources actually expose

Method: how to build the list without inflating it

  1. Fix the grain before collection. One physical structure, one advertising face, or one bookable placement — recommend one row per sellable face/unit, preserve source IDs, and never mix grains silently.
  2. Discover source classes. Government sign-permit and GIS APIs, publisher inventory finders, OOH marketplaces, national measurement bodies, and municipal permit/open-data portals. This sprint surfaced 95 candidate government-GIS pages and 376 candidate publisher/marketplace pages — pages, not unique inventories or units.
  3. Prefer unit-level machine sources. CSV, GeoJSON, ArcGIS or API. Query total record counts, paginate all features, retain source URL and retrieval date, save raw snapshots.
  4. Normalize the schema. Publisher, Format, Type, Country, City, State/Province, Address — plus Latitude, Longitude, Source Unit ID, Source URL, Source Date, Status and Confidence. Reverse-geocode only where no address exists, and mark generated addresses separately.
  5. Classify Static/Digital conservatively. Explicit source field first, then controlled text mappings; leave unresolved values blank rather than guessing.
  6. Deduplicate hierarchically. Stable permit/source ID; then coordinates plus facing or face number; then fuzzy publisher + normalized address/route + dimensions. Keep possible duplicates flagged for review.
  7. Run quality checks. Invalid coordinates, coordinates outside the stated jurisdiction, missing publishers, stale or inactive permits, structure-versus-face duplication, conflicting formats, marketplace overlap.
  8. Publish three metrics. Raw source rows, deduplicated known units, and fully populated rows meeting every requested column.

Proposed output schema

Requested columns

  • Publisher Name — MassDOT: PermitHoldersName; UDOT: SIGN_OWNER
  • Format — from source taxonomy where present
  • Type (Static/Digital) — MassDOT SignType: Digital, Street Furniture, Traditional Display (static); UDOT 2019 faces lack a reliable current flag — leave blank, never guess
  • Country / City / State — MassDOT: SignCity; state from jurisdiction
  • Address — source-provided road or intersection (MassDOT RoadIntendedToFace) or blank; never present a reverse-geocoded approximation as a publisher address

Added columns (needed in practice)

  • Latitude, Longitude — many public inventories provide coordinates but not postal addresses (UDOT BEGIN_LAT/BEGIN_LONG, MassDOT point geometry)
  • Source Unit ID — permit number, object ID
  • Source URL, Source Date — for reproducibility and staleness checks
  • Status — active/ghosted/inactive from the source
  • Confidence — validated API row vs stated coverage claim

Validated sources, one row each

SourceInventoryGeographyUnitsEvidence tierLocation fieldsClassification fieldsLink

Data: 3 validated source/coverage rows compiled in one research sprint across 3 independent hosts; no source URL backs more than one-third of rows. Unit counts are per-source record totals at the source's own grain (MassDOT permitted signs; UDOT 2019 billboard faces; AdQuick stated bookable placements). The 7,420 open-API floor is the sum of the two government APIs only. Discovery surfaced 95 government-GIS and 376 publisher/marketplace candidate pages, not counted here. Long access-method strings shortened in the table for space.

This report was generated automatically by Keenable SELECT at a user's request, from publicly available web sources linked herein. Keenable does not review, verify, or endorse its contents and makes no representation as to accuracy, completeness, or timeliness; AI-based extraction may contain errors. Nothing in this report is investment, legal, financial, or other professional advice. All trademarks and referenced content remain the property of their respective owners; no affiliation or endorsement is implied. To report an error, rights concern, or request removal: legal@keenable.ai.

Keenable SELECTAsk your own question
Made with Keenable SELECT