We have noticed significant inconsistencies between the Officer Bulk Snapshot and the Streaming API data. The Streaming API (and CH Service) appears to be correct, but the Bulk Snapshot contains conflicting information for the same records.
We have identified approximately 100,000 inconsistent records in recent snapshots.
The Issues:
-
Officer Role Mismatch: In the snapshot, the
officer_roleis listed assecretary(or other natural person roles) even whenis_corporateistrue. In the Stream, the same record correctly showscorporate-secretary. -
Address Formatting:
address_line_1often has the building number and street name swapped between the two sources (e.g., “16 HEATHER GARDENS” vs “HEATHER GARDENS 16”).
Example Data (Company SC835337):
| Source | officer_role | is_corporate | address_line_1 |
|---|---|---|---|
| Snapshot (2026-02-03) | secretary |
true |
16 HEATHER GARDENS |
| Stream (2026-02-01) | corporate-secretary |
true |
HEATHER GARDENS 16 |
Raw Data Snippet:
company_number officer_role is_corporate address_line_1 data_source
SC835337 00 (secretary) Y 16 HEATHER GARDENS snapshot (2026-02-03)
SC835337 corporate-secretary true HEATHER GARDENS 16 stream (2026-02-01)
The is_corporate flag seems to be set correctly in the snapshot (true), but the officer_role string contradicts it. The Stream data appears to be the accurate version.
Could you please investigate why the Bulk Snapshot is generating these inconsistent roles and address formats?
Thanks.