Section 05

The data problem, which turned out to be the point

Every machine-readable UK source excludes AIM. Every source that covers AIM is closed to automated access.

Claim tested

That UK small-cap data is unaggregated rather than unavailable.

Result

Confirmed, and more sharply than expected.

Consequence

The pipeline branches by listing venue, and 135 companies were recovered from a data gap.

The premise being tested

The project rests on the idea that the neglect in this part of the market is partly a data-access artefact. Not that the information is secret, but that it is scattered across formats and sources in a way that makes assembling it uneconomic for anyone with better things to do.

That is a testable claim, so I tested it, one source at a time, recording for each: what universe it covers, which years, what format, what it costs, and whether an automated process can actually reach it. That last field is the one usually relegated to a footnote, and it is the one that decided everything.


What each source turned out to be

Companies House

Genuinely agent-friendly: free API, 600 requests per five minutes, unthrottled bulk download. Wrong tool for listed-company financials — abbreviated private-company disclosure. Its real value is ownership and control: status, jurisdiction, officers, persons with significant control, registered charges. That is what I used it for.

FCA National Storage Mechanism

States explicitly that automated access is not permitted. Browse only, export limited to search metadata. Covers only issuers under the disclosure and transparency regime, which excludes AIM entirely.

filings.xbrl.org

Looked like the answer, and works mechanically exactly as documented — for Main Market companies. AIM operates under the AIM Rules through Nominated Advisers rather than the regulated-market regime, so it is structurally out of scope. The single genuinely machine-readable source of UK financial statements does not cover the segment this project exists to examine.

London Stock Exchange RNS

The only source that covers AIM disclosure properly. I pulled the live robots.txt rather than inferring: it disallows the path under which the news and company pages sit. A direct site directive, not an interpretation.

Stockopedia

Covers UK and AIM equities down to roughly £10m market capitalisation — precisely the right segment. From £295 a year, and no retail-tier API anywhere in its documentation, so it is a manual CSV export rather than a pipeline component.


The pattern

Written out as a table, the finding stops being six facts and becomes one. Every row that covers AIM fails on access. Every row that passes on access fails on AIM.

SourceCovers AIMMachine-readableAutomated access permitted
Companies HouseYes (ownership only)YesYes
filings.xbrl.orgNoYesYes
FCA National Storage MechanismNoPartialNo
LSE RNSYesNoNo (robots.txt)
StockopediaYesExport onlyNo (no API)
Company IR sitesYesNo (PDF)Varies

It also suggests something slightly uncomfortable: the friction is not a scraping problem awaiting a cleverer solution. It is plausibly part of why the segment stays neglected. Coverage costs money, the cost here is manual labour, and the companies are too small to repay it. I flagged that in the registry explicitly, mostly so that I would not quietly re-litigate it later as an engineering task when it started to look tedious.


What it cost, and what it bought

The pipeline branches. Main Market names have a comparatively easy path through structured filings. AIM names require a commercial screener export for the numbers, the Companies House API for ownership and control, and human-retrieved PDF annual reports at the detailed stage. The specification only asks for detailed document work on a few dozen names, so this is a nuisance rather than a scaling problem.

And it produced the most useful single result of the data work. My broker's historical volume data does not capture off-book prints on the SETSqx segment, which is where the smallest AIM names actually trade. Taken at face value, that would have deleted 196 companies for apparently having no tradeable volume — including names doing several hundred thousand shares a day.

Worked example · Goldplat
Broker feed ADV
0 shares
Screener export ADV
~400,000 shares

Rather than delete them I held them, flagged, and confirmed volume against the second source. 135 of the 196 came back — a third of the eventual screening universe, existing in it only because two sources that each saw half the market were cross-referenced rather than trusted individually.


Artefacts

Registry version v1.0 · Compiled 2026-08-13 · Market record: United Kingdom (LSE Main Market + AIM)

First verification pass complete (2026-08-13). The three flagged items — filings.xbrl.org coverage, LSE RNS access, Stockopedia pricing/access — have been checked directly; findings are incorporated inline below, and one of them (AIM's exclusion from UK-SEF) materially changed the registry's conclusion. Two lower-priority items remain unverified and are marked as such: Companies House dissolved-company retention period, and NSM/RNS historical archive depth post-delisting.

Per spec §2, this answers one question per source: where does data come from, how good is it, and can an agent reach it?

How to read this table
  • Agent-access is the load-bearing column. "Human-only" means a source is real and useful but cannot be pulled into an automated pipeline without a ToS problem or a technical wall — mark it and route it to manual review, don't quietly script around it.
  • Quality flag: 🟢 reliable / 🟡 usable with known defects / 🔴 do not use for decision-grade numbers.
  • Verified means the specific claim in this row was confirmed against a current source. Verify directly means the claim is standard industry knowledge or came from a secondary source and should be checked before being relied on for the actual build.

Source 1 — Companies House (filing history API + bulk accounts product)
TypeRegulator filing archive (UK company registrar)
CoverageAll UK-incorporated companies — but statutory accounts filed here are the abbreviated/small-company disclosure regime for most private companies, not the full annual report a listed company publishes. For LSE/AIM-listed companies, Companies House holds the legal minimum filing, materially thinner than the report actually published via the NSM/RNS. Treat as a supplementary source (officers, PSC/ownership, charges, filing history) rather than the primary financials source for listed names.
FormatiXBRL (.html) / XBRL (.xml) for electronic filings; scanned PDF image for paper filings, no embedded text
CostFree
Access methodREST API (api.company-information.service.gov.uk) with a free registered API key; separate free bulk ZIP download product (daily/monthly accounts files) at download.companieshouse.gov.uk
Agent-accessGood, with real limits. 600 requests per 5-minute window per application, resetting each window. Companies House reserves the right to ban without notice applications that exceed or attempt to bypass the limits. Bulk ZIP files carry no rate limit. No robots/ToS conflict for either route — a genuinely agent-friendly government source.
Data quality🟡 Usable with known defects. Only electronically filed accounts are machine-readable — roughly 60–75% of total annual filings; the remainder are paper or scanned PDF images with no machine-readable text, excluded from the bulk XBRL download entirely. This source's real value here is ownership, control and charges data, not financials.
SurvivorshipDissolved/acquired companies keep a "dissolved" status and retained filing history for a period after dissolution (historically six years, then archived) — retention policy unverified.

Source 2 — FCA National Storage Mechanism (NSM)
TypeOfficial regulator archive of regulated information — annual reports, half-yearly reports, prospectuses, major-shareholding (DTR 5) notifications, circulars
CoverageAll UK Listing Rules / DTR / MAR issuers — LSE Main Market and other UK regulated-market listings. AIM companies are generally not in scope (AIM operates under the AIM Rules via Nominated Advisers, not DTR/UKLR) — AIM disclosure lives on RNS/company websites instead. The NSM is the right source for Main Market, the wrong one for AIM.
FormatPDF documents; increasingly structured metadata (issuer, LEI, headline category) since the November 2025 reforms
CostFree
Access methodWeb UI search (by company name, LEI, filing date, keyword), with a CSV export of search-result metadata only, not document content
Agent-accessPoor — human-browse only, by explicit design. The FCA's own publishing-hub guidance states plainly that direct access to the NSM is not permitted and data can only be viewed through the website's interface. A script hitting the NSM to pull documents automatically is against the FCA's stated access policy, even though the content is public and free. The one automatable piece is the CSV export of search-result metadata, a legitimate way to build a filing index — the documents themselves still need a human (or human-authorised) fetch per item.
Data quality🟢 Reliable for what it covers, the primary legal filing record. 🟡 In practice for metadata search — the FCA has been actively reworking the NSM's headline categories and metadata, and the November 2025 changes are recent enough that search behaviour should be spot-checked, not assumed stable.
SurvivorshipPrevious filings from delisted/acquired issuers remain accessible; prior versions of disclosures are retained, hidden from default view after corrections but not deleted.

Source 3 — filings.xbrl.org (ESEF/UK-SEF structured filing index)
TypeThird-party structured-filing aggregator, built on the European/UK Single Electronic Format mandate
CoverageVerified, and this materially narrows the source's usefulness. UK-SEF/ESEF structured-filing obligations apply only to companies with transferable securities admitted to trading on UK regulated markets — in practice the Main Market of the LSE, with AIM and unregulated-market names explicitly out of scope. AIM operates as an exchange-regulated market via Nominated Advisers, not a UK regulated market under DTR/UKLR, so it falls outside the mandate entirely. Even Main Market coverage is not guaranteed uniform, since UK-SEF remains a choice alongside ESEF. Net effect: this source covers, at best, the Main Market tail — not usable for the AIM/small-cap segment this project targets.
FormatStructured JSON via API; underlying filings are iXBRL
CostFree
Access methodPublic JSON:API-standard API at filings.xbrl.org/api, filterable, e.g. by country of GB. Confirmed working.
Agent-accessGood mechanically, but low relevance. Access is free, but the operators reserve the right to alter or withdraw the API at any time — fine for a proof of concept, not something to build a permanent pipeline on without a fallback. The access mechanism is no longer the binding constraint; coverage scope is. Downgraded from "primary candidate" to "Main Market supplementary source only."
Data quality🟡 Usable but narrow. Structurally sound for what it covers; structurally irrelevant for AIM, which is most of the target universe.
SurvivorshipNot tested — low priority given the coverage finding above.

Source 4 — London Stock Exchange, RNS (Regulatory News Service) and company pages
TypePrimary announcement/news feed — the actual dissemination mechanism for both DTR-driven Main Market disclosures and AIM Rules-driven announcements
CoverageAll LSE-listed companies, Main Market and AIM alike — the one source that covers AIM disclosure comprehensively, which the NSM does not
FormatHTML announcement pages; PDF attachments for full reports
CostFree to browse
Access methodlondonstockexchange.com news/RNS search by company/date
Agent-accessVerified — blocked. The live robots.txt disallows /en-gb/, /lsecws/ and /LSECWS/ for all user-agents. LSE's news search, company pages and RNS announcement pages all sit under /en-gb/, so this is an explicit, site-wide directive against automated crawling of exactly the content this project would want — a confirmed restriction, not an inferred one. Reclassified from "verify directly" to confirmed human-browse only. RNS content still needs to enter the pipeline: either a human periodically pulling specific announcements, or a licensed commercial RNS feed, not a script against the public site.
Data quality🟢 Authoritative as a primary source, it's the actual announcement. 🟡 Unstructured — full annual reports arrive as PDF attachments requiring the same extraction step as any other PDF.
SurvivorshipHistorical RNS archive depth for delisted companies unverified — how far back search extends post-delisting still needs checking.

Source 5 — Stockopedia (commercial screener)
TypeCommercial screener/aggregator, UK-focused, editorially curated for smaller-company investing specifically
CoverageComplete stock reports, screening and ranks for all large-, mid- and small-cap stocks across Europe and the UK, with the most comprehensive coverage in the UK — all listed shares, trusts, funds, bonds, ETFs and prefs on the LSE Main Market, AIM and the ISDX Exchange, above roughly $10m market cap. Directly covers the segment this project targets — the $10m floor is low enough to include the tier physically unusable by large funds.
CostVerified. Plans start at £295/year after the free trial (annual billing), with monthly options from roughly £32–45/month depending on region and coverage tier. UK-only coverage is cheaper than the Global plan.
Access methodWeb UI screener; CSV export of screen output. Verified: no retail-tier API — described end-to-end as a subscription web product.
Agent-accessConfirmed human-export, not agent-fetch. CSV export is a manual step a human triggers — a good proof-of-concept workflow (Excel plus manual data pull), but not something a scheduled process can call. Component 4's screener runs as: human logs in, runs the screen, exports CSV, feeds it into the pipeline manually.
Data quality🟢 Reliable, purpose-built for exactly this use case — institutional-grade data on AIM-listed and smaller LSE companies that is otherwise hard to access cheaply. The strongest single candidate for "primary screener" in Component 4.
SurvivorshipUnverified — commercial screeners often drop delisted names from default views, which would understate historical universe size for any later backtesting-adjacent sanity check.

Source 6 — SharePad / ShareScope (commercial screener, alternative)
TypeCommercial UK-focused screener and charting tool
CoverageBroad LSE/AIM coverage; positioned by users as stronger on customised filtering than Stockopedia, weaker on editorial/qualitative framing
FormatBrowser-based (SharePad) or downloadable Windows application (ShareScope)
CostPaid subscription — unverified
Access methodApplication UI only
Agent-accessHuman-only. No indication of a public API; a terminal-style product for a human analyst, not a pipeline component.
Data quality🟡 Unverified independently — included as an alternative/cross-check to Stockopedia rather than a primary source, since redundant manual tools add workload without removing it.
SurvivorshipNot verified.

Source 7 — Interactive Brokers API (TWS API / IBKR Web API)
TypeBroker-native API, not a market-data vendor or filing archive, but the execution venue itself. Two surfaces: the socket-based TWS API (requires a running TWS/IB Gateway instance) and the newer REST/WebSocket IBKR Web API (OAuth 2.0, no desktop app). Free with an existing account.
CoverageWhatever is tradable in the account holder's actual IB Ireland account — not a market-wide dataset, a personal tradability ground-truth. The one source in the registry that answers "can I actually act on this" rather than "what does this company look like."
FormatStructured API responses (contract objects, OHLCV bars); no filings or decision-grade fundamentals
CostFree access, no separate subscription for contract lookups. Live-quote market-data packages carry standard IBKR pricing if needed — not required here, since EOD bars and contract existence suffice.
Access methodreqContractDetails (TWS API) or the equivalent Web API contract-search endpoint, keyed on symbol/exchange or ISIN; reqHistoricalData for price/volume bars
Agent-accessGood — genuinely agent-friendly, and it's the account holder's own data, so no ToS ambiguity. Historical data pacing limits are explicit and non-negotiable: more than 60 historical data requests within any ten-minute period, or six-plus identical requests within two seconds, triggers a pacing violation that cannot be overcome. Fine for periodically checking a ~50-name screen output; not a bulk/real-time pipeline.
Data qualitySplit verdict — two roles that must not be conflated. 🟢 Tradability check (contract existence on IB Ireland): reliable, authoritative for its one purpose. 🟢 Price/volume/ADV for liquidity filters: reliable for periodic, not real-time, use. 🔴 Fundamentals/financial-statement data: IBKR's own documentation marks reqFundamentalData as legacy/deprecated, it is third-party-vendor-sourced rather than filing-derived, and AIM micro-cap coverage is unverified and plausibly thin. Disqualified as a Component 2 numeric source outright — it conflicts with founding premise §0.2 that numeric data is never sourced from an LLM or any non-primary-document proxy.
SurvivorshipNot applicable — this checks current tradability, not historical record.

Confirmed limitation (2026-08-13, diagnosed via PMP/Portmeirion Group): reqHistoricalData with whatToShow='TRADES' systematically under-reports volume for names trading on LSE's SETSqx segment, the periodic-auction mechanism used for less-liquid small caps. For PMP, IBKR's TRADES bars showed a single 25-share print across six months, while LSE's own price explorer showed 10,000 + 19,745 shares traded the same day off-book. Root cause: IBKR's historical TRADES aggregation does not capture off-book negotiated prints, where most SETSqx volume actually happens. No API parameter combination recovers this. Contract existence remains reliable — only the volume/ADV figure is unreliable for SETSqx-traded names, roughly 27% of tradable names in the first full run (201 of 744).

Working policy: do not exclude these names from the candidate pool — IBKR confirms they're tradable, which is what actually matters for the hard gate. Flag avg_daily_volume as unverified for any SETSqx-affected name and defer manual confirmation, via LSE's own price explorer, to the point a name survives further down the funnel as a real candidate, not upfront across the full set.

Why tradability gets promoted to a hard gate, not a nice-to-have

A contract-existence check against IBKR is the cheapest possible filter that exists and should run at or before Tier 1, not after Pass B or C of the Review Cockpit. The failure mode being guarded against is spending real reading time, the scarcest resource in the whole system, on a name that turns out to have no tradable IB Ireland contract, discovered only once someone actually tries to place an order. Registry addition to Component 3 (Investment Compass): IBKR tradability becomes a deterministic hard filter alongside market-cap ceiling, ADV band, analyst coverage and free float, run immediately after the screen and before any name proceeds to Component 5 document-fetch. A name with no tradable contract is dropped and logged with reason "no IBKR-tradable contract" rather than rediscovered later.


Source 8 — Motley Fool UK and Seeking Alpha (editorial/opinion platforms)
TypeEditorial commentary and stock-recommendation newsletters, not structured data providers. Grouped together because they play the same limited role here, not because they're equivalent products.
CoverageMotley Fool UK publishes free articles covering FTSE and AIM names, plus paid recommendation bundles with ongoing coverage of earnings reports — genuine UK/AIM editorial coverage exists. Seeking Alpha's coverage is heavily anchored to US-listed names; AIM-only companies with no US listing or ADR are largely absent, unconfirmed by direct count but consistent with its data-vendor and audience base.
FormatProse articles, opinion pieces, quant ratings (Seeking Alpha) — no structured export
CostFree tier exists on both; Motley Fool UK premium bundles run from roughly $99 to over $2,000/year; Seeking Alpha Premium runs into hundreds of dollars annually. Not worth subscribing to for this project.
Access methodWeb browsing only. No API from either for retail users.
Agent-accessMotley Fool: not independently checked, treat as human-browse pending verification. Seeking Alpha: third-party scraping guides consistently describe sophisticated anti-bot protections that block standard HTTP requests — a practical barrier regardless of formal robots.txt position, which could not be pulled directly for either domain. Treat both as human-browse only.
Data quality🔴 As a numeric/fundamentals source, disqualified, same category as the IBKR fundamentals finding above — opinion content, not filings-derived data. 🟢 As a narrow, specific signal: whether a candidate has any footprint on either platform is a fast, free check for Component 6 Pass C anomaly classification. A candidate with an active write-up already has a story and arguably isn't "unlooked-at" in the strict sense Pass C requires. Absence of coverage is weaker evidence and shouldn't be over-read as confirming "unlooked-at."
SurvivorshipNot applicable — not used for historical financial record.

Registry-level implication: this is the third source in the registry, after IBKR fundamentals and any LLM-sourced number per founding premise §0.2, explicitly flagged as look, don't use as data. The failure mode across all three is the same: a plausible-looking number or claim from a non-primary source quietly entering a Decision Journal entry months from now because it was sitting right there in a tab. None of the three should ever populate a Component 2 metric field.


Registry-level notes (updated post-verification)

No single source covers the full pipeline, and every genuinely agent-accessible structured source is now confirmed to exclude AIM. Companies House (agent-friendly) gives ownership/control data, not financials. filings.xbrl.org (agent-friendly, structured) is confirmed limited to Main Market. The NSM (authoritative financials) is confirmed UI-only by the FCA's own policy and also excludes AIM. LSE RNS, the only source that actually carries AIM disclosure, is confirmed blocked to automated crawling by its own robots.txt.

The pattern that falls out of this: every source that is both agent-accessible and structured is Main-Market-only. Every source that covers AIM is either UI-only or explicitly crawl-blocked. That is close to the literal definition of "unaggregated, not unavailable" from the spec's founding premise, applied to exactly the segment this project is built to target. The data is public, free and real; it is simply not going to arrive through automation. For AIM specifically, the realistic pipeline is: Stockopedia manual export for the screening layer, Companies House API for ownership/control cross-checks, and human-fetched RNS/company-website PDFs for the actual filings entering Component 5/6. Main Market names get an easier ride via filings.xbrl.org once that's spot-checked.

Revised immediate next actions:

  1. Run a first Stockopedia screen export against 5–10 known AIM names to sanity-check field coverage and the $10m cap floor in practice — the critical path for Component 4.
  2. Immediately after any screen output, run the IBKR tradability gate before any name proceeds further — a required pipeline step, not optional.
  3. Spot-check filings.xbrl.org against 2–3 known Main Market names, given AIM is now known to be excluded — lower priority.
  4. Decide the RNS-fetch workflow explicitly: manual human pull per candidate at Tier 2/3 is well within proof-of-concept scope and doesn't need automation — a design decision to make once, not solve.

It isn't just that AIM and Main Market use different filing paths — it's that AIM is the harder-to-automate path specifically at the segment this project is built to exploit. Any future temptation to build a scraper against RNS to speed up Component 5 should be checked against this entry first; the friction is structural, not a solvable engineering gap, and arguably part of why the segment is neglected in the first place.

Registry is additive per spec — markets are never deleted, only deprioritised. This is the first and only market record at v1.0.

The 196 held names, from screener_triage_785.csv — all AIM, all IBKR-tradable, held only because average daily volume could not be confirmed at screening time. Click a column to sort.

Symbol ⇕ Company ⇕ Market cap (£m) ⇕ Companies House match ⇕
ACRMAcuity RM Group Plc2.1Matched
ADFFacilities by ADF plc14.3Matched
ADMEADM Energy plc0.6Matched
ADVTAdvancedAdvT Limited231.0Matched (high confidence)
AIEAAIREA plc10.2Matched
ALTAltitude Group plc17.2Matched
ANGSAngus Energy plc14.8Matched
ANPAnpario plc107.2Matched
AOTIAOTI, Inc.103.7Multiple candidates
ARCArcontech Group plc10.6Matched
ARCMArc Minerals Limited13.5Multiple candidates
ARTThe Artisanal Spirits Company plc17.0Matched
AUTGAutins Group plc8.7Matched
BANKFiinu Plc12.9Matched
BCEBeacon Energy plc3.7Matched (high confidence)
BEMBeowulf Mining plc6.5Matched
BIRDBlackbird plc7.2Matched
BLUBlue Star Capital plc2.2Matched
BMTBraime Group PLC22.3Matched
BMTOBraime Group PLC22.3Not run
BOKUBoku, Inc.327.1Multiple candidates
BPMB.P. Marsh & Partners PLC241.8Matched
BUCEBuccaneer Energy plc.1.7Matched
BXPBeximco Pharmaceuticals PLC.390.0Multiple candidates
CASPCaspian Sunrise plc44.8Matched
CCPCeltic plc194.9Matched
CEPSCEPS PLC8.2Matched
CFXColefax Group PLC75.2Matched
CGNRConroy Gold and Natural Resources plc6.0Multiple candidates
CHHChurchill China plc42.9Matched
CHLCloudfield Holdings Limited0.3Matched
CHPCaledonian Holdings PLC2.1Matched
CICThe Conygar Investment Company PLC14.9Matched
CKTCheckit plc23.2Matched
CLCOCloudCoCo Group plc1.5Matched
CLONClontarf Energy plc1.6Matched
CMLCML Microsystems plc47.1Matched
CMXCatalyst Media Group plc8.9Matched
CNSCorero Network Security plc44.8Matched
CNSLCambridge Nutritional Sciences plc4.3Matched
COMComptoir Group PLC6.8Matched
CORACora Gold Limited65.0Multiple candidates
COROCoro Energy plc3.6Matched
CRPRJames Cropper PLC43.0Matched
CRTXCRISM Therapeutics Corporation5.2Matched
CSSGCroma Security Solutions Group plc9.6Matched
CTAICatenai PLC2.2Matched
CTGChristie Group plc38.6Matched
CYANCyanConnode Holdings plc34.5Matched
DBOXDigitalbox plc6.1Matched
DEVODevolver Digital, Inc.32.6Multiple candidates
DIALDiales Group Plc16.9Matched
DISDistil Plc1.2Matched
DKLDekel Agri-Vision plc4.5Multiple candidates
DNMDianomi plc7.8Matched
EAHECO Animal Health Group plc66.7Matched
EARNEARNZ plc7.4Matched
EBQEbiquity plc13.0Matched
ECRECR Minerals plc7.1Matched
EDENEden Research plc20.5Matched
EDXEDX Medical Group Plc39.1Matched
ELCOEleco plc108.2Matched
ELEGElectric Guitar PLC1.6Matched
EOGEuropa Oil & Gas (Holdings) plc23.7Matched
EUAEurasia Mining Plc67.9Matched
FABFusion Antibodies plc13.1Matched
FADLFadel Partners, Inc.4.8Matched
FDBKFeedback plc2.6Matched
FDRFirst Development Resources Plc3.2Matched
FIHFIH group plc18.1Matched
FKEFiske plc8.0Matched
FPOFirst Property Group plc18.5Matched
GALGalantas Gold Corporation179.9Multiple candidates
GANAGana Media Group PLC18.6Matched
GDPGoldplat PLC31.8Matched
GEMGemfields Group Limited58.5Matched
GLRGalileo Resources Plc8.3Matched
GNIPGenIP plc1.0Matched
GRLGoldstone Resources Limited9.3Multiple candidates
GTCGetech Group plc4.7Matched
GUNGunsynd Plc1.3Matched
HDDHardide plc78.8Matched
HSMSamuel Heath & Sons plc6.5Matched
HVTThe Heavitree Brewery PLC12.2Multiple candidates
HVTAThe Heavitree Brewery PLC12.2Not run
IGEImage Scan Holdings Plc3.6Matched
IGPIntercede Group plc71.0Matched
INGIngenta plc10.2Matched
ITIMItim Group Plc7.5Matched
IXIIXICO plc17.4Matched
JIMJarvis Securities plc3.6Matched
JNEOJourneo plc87.5Matched
KCRKCR Residential REIT plc3.6Matched
KDRKarelian Diamond Resources Plc1.3Multiple candidates
KRMKRM22 Plc20.2Matched
KRPZKropz plc14.8Matched
KRSKeras Resources Plc2.2Matched
LENDSancus Lending Group Limited12.3Matched
LEXLexington Gold Ltd13.5Multiple candidates
LNDLandore Resources Limited6.7Multiple candidates
LPALPA Group Plc10.9Matched
LSCLondon Security plc441.3Matched
LTHMJames Latham plc288.3Matched
MACMarechale Capital Plc5.7Matched
MAIMaintel Holdings Plc12.2Matched
MBOMobilityOne Limited7.2Multiple candidates
MDZMediaZest plc1.5Matched
MFAIMindflair Plc2.2Matched
MFXManx Financial Group PLC29.5Multiple candidates
MIRIMirriad Advertising plc0.4Matched (high confidence)
MLVNMalvern International Plc7.2Matched
MULMulberry Group plc122.8Matched
MWEM.T.I Wireless Edge Ltd.55.6Multiple candidates
MYXMYCELX Technologies Corporation11.9Matched
NBBNorman Broadbent plc3.4Matched
NEWSPathos Communications PLC17.3Matched
NTBRNorthern Bear PLC16.9Matched
NWTNewmark Security plc10.4Matched
OGNOrigin Enterprises plc415.5Multiple candidates
OMIPOne Media iP Group Plc9.6Matched
OPTIOptiBiotix Health Plc5.9Matched
PCHPacific Global Holdings Plc1.0Matched
PCIPPCI-PAL PLC43.5Matched
PEGPetards Group plc6.2Matched
PENPennant International Group plc13.8Matched
PETPetrel Resources Plc1.8Multiple candidates
PHSCPHSC plc0.8Matched
PIPPipeHawk plc0.8Matched
PMPPortmeirion Group PLC25.5Multiple candidates
PNSPanther Securities PLC51.2Matched
PPHCPublic Policy Holding Company, Inc.252.8Multiple candidates
PRIMPrimorus Investments plc4.2Matched
PULSPulsar Group plc47.5Matched
PYCPhysiomics Plc2.1Matched
QBTQuantum Blockchain Technologies Plc5.7Matched
RBDReabold Resources Plc9.4Matched
RBNRobinson plc20.9Matched
RDTRosslyn Data Technologies plc1.9Matched
RENXRenalytix Plc16.2Matched
RFGRoebuck Food Group plc26.3Multiple candidates
RHRRichmond Hill Resources Plc9.5Matched
RLEReal Estate Investors Plc54.0Matched
RMRRome Resources Plc24.2Matched
RTCRTC Group plc11.3Matched
RUARUA Life Sciences plc14.9Matched
RVRGRiver Global Plc7.6Not run
SARSareum Holdings plc31.9Matched
SBARSundae Bar Plc18.3Matched
SEEDSeed Innovations Limited5.2Matched
SKAShuka Minerals Plc3.7Matched
SNTSabien Technology Group Plc0.9Matched
SNXSynectics plc31.5Matched
SOLISolid State plc105.5Matched
SORTSorted Group Holdings Plc0.7Matched
SOUCSouthern Energy Corp.13.6No match — likely non-UK
SPECINSPECS Group plc98.6Matched
SPSCSpectra Systems Corporation79.6Multiple candidates
SPSYSpectra Systems Corporation79.6Not run
SRBSerabi Gold plc240.8Matched
SRESSunrise Resources plc1.8Matched
STCMSteppe Cement Ltd.48.2Multiple candidates
STGStrip Tinning Holdings plc4.0Matched
SUHSutton Harbour Group plc6.1Matched
SUNSurgical Innovations Group plc4.7Matched
SYMSymphony Environmental Technologies plc19.5Matched
TANDTan Delta Systems plc21.2Matched
TAPTap Global Group Plc8.9Matched
TBLDtinyBuild, Inc.38.3Multiple candidates
TCFTheracryf Plc4.3Matched
TEAMTEAM plc18.8Matched
TIATialis Essential IT PLC20.6Matched
TIDECrimson Tide plc5.8Matched
TIMETime Finance plc47.7Matched
TMGThe Mission Group plc16.3Matched
TNDTandem Group plc10.3Matched
TOMTomCo Energy Plc1.4Matched
TOOTooru Plc3.7Matched
TRACt42 IoT Tracking Solutions PLC2.6Multiple candidates
TRAFTrafalgar Property Group plc0.4Matched
TRLSTrellus Health plc0.5Matched
TRPTower Resources plc6.8Matched
TRTTransense Technologies plc7.4Matched
TSTTouchstar plc6.5Matched
TYMTertiary Minerals plc3.4Matched
UFOAlien Metals Limited9.4Matched
VALValiRx plc2.1Matched
VASTVast Resources plc6.0Matched
VLEVolvere plc46.0Matched
VNETVianet Group plc18.8Matched
WKSWinking Studios Limited53.8Multiple candidates
WNXWellnex Life Limited4.4Matched
WSPWynnstay Properties Plc24.1Matched
WTEWestmount Energy Limited4.5Multiple candidates
ZEDZenova Group Plc0.8Matched
ZINZinc Media Group plc16.5Matched
ZPHRZephyr Energy plc68.3Matched