Get new companies for an officer

apologies if this is answered elsewhere- can i query a list of Officers to be refreshed daily to show when they have been appointed to a new company?
many thanks
Paul

Probably your best bet (if daily updates are fine) would be to apply for access to the Officers Bulk Data (information here in an unofficial guide). This is a very large data set which you would then have to process / search yourself, filtering out any officers you’re interested in.

That’s probably the closest to what you want. The alternatives would be:

a) Use the Streaming API. This is essentially a pipe that you can plug into which sends updates whenever e.g. officer data is updated. (Official docs for the “Officers” part of this here, unofficial guide here)

That means you’ll have to set up something which listens (all the time) to all of these, and simply filters out any changes you’re interested in.

b) Searching and querying using the Public Data API
Searching will likely be a bit more problematic for a couple of reasons: i) problems identifying officers uniquely and ii) the Public Data API is rate-limited.

You can certainly search for officers by e.g. name using the “search officers” endpoint in the Public Data API.
You’ll find that officer appointments are recorded for each company - you can find out if an officer has resigned or not.
The appointments for a given officer are also available.

So at this point it might look like you just need to find the “officer ID” (or the URI for them) and cache that - then every day poll that for each officer you’re interested in.

The problem here is that sometimes new identifiers will be created for the same “individual or entity” - so I think it’s possible that an officer you are interested in may have joined a new company but have been allocated a new ID - so your system won’t see this. (There is some logic to this I think but can’t recall a post with the details here - you can search the forum though).

Good luck.