Objective: locate the company record for a specific company listed on an exchange, based on its full name as listed on that exchange.
Problem: most UK listed companies use a large number of wholly-owned subsidiaries to perform their operations. These subsidaries are normally LIMITED companies. The accounts of these subsidaries are consolidated into the parent company (PLCs) Annual Report. This is a perfectly legal strategy. However with the current Beta REST API it does not appear to possible to retrieve ONLY this record.
Discussion:
For the sake of argument, using Vertu Motors Plc (LSE Ticker: VTU - http://www.londonstockexchange.com/exchange/prices-and-markets/stocks/summary/company-summary/GB00B1GK4645GBGBXAMSM.html?lang=en ) as it is a company I know and serves to illustrate the problem.
Full disclosure: I DO hold stock in this company. I am NOT an employee, agent or in any other way affiliated with this company.
Discussion:
Even with an exact name specified in the search parameter ( e.g. q="vertu motors plc"
), multiple results are returned - all of them companies with partial substring matches. There are a large number of these, because (sensibly enough), many of Vertu’s subsidaries have “Vertu” or even “Vertu Motors” in the name.
However only one of the records returned is a 100% match for the name specified. My REST consumer could programatically search for this within the result set - however IMHO this means significant unnecessary data has been transmitted over the wire and then parsed on the consumer side.
Improvement 1: if the stock is still listed, it means that the company is active, and indeed if I add a filter company_status="active"
, the list of results is reduced.
This suggests that, although not documented, some query parameters have been added since THIS POST ( Search term operator and wildcard support (NEAR5, AND, OR, NOT, '*', '?', etc.) and fuzzy matching ) .
Improvement 2: logically, only ONE of the companies listed in the result set can be a PLC - because CH does not permit two different entities to register with the exact same name, and if the company is listed it must include PLC at the end of its name.
So I try adding an additional parameter company_type="plc"
to the query, but the API ignores this.
Improvement 3: the other approach would be the ability to specify that ONLY exact matches are desired in the result set - AFAICS this is not currently possible, but I believe it would be relatively simple to implement.