Search

search_officers

Find people who hold officer positions (director, secretary, partner) by name across a registry.

Entry point for 'follow the person, not the company' investigations. Returns officer candidates with an `officer_id` that pipes into `get_officer_appointments` to retrieve every company that person has been appointed to.

Parameters

NameTypeRequiredDescription
jurisdictionstringyesISO code for the country whose officer register to search.
querystringyesOfficer name (surname first where registry prefers it).
limitintegernoResult cap (default 10).

Supported jurisdictions (3)

Related tools

Frequently asked questions

Difference between search_officers and get_officers?

search_officers: find people by NAME, returns candidate matches across the registry. get_officers: list the officers OF a known company by company_id. Two opposite directions. Use search_officers when you have a person's name and want to find their companies; use get_officers when you have a company and want its board.

Name format — first then last, or surname first?

Registry-specific. GB Companies House: 'SURNAME, Firstname' format works best. FR INSEE: free-text, both orders accepted. CZ ARES: surname-first preferred. Try the registry's native convention; the engine is tolerant but precision degrades on the wrong order.

How do I disambiguate same-name individuals?

Each search result has an officer_id PLUS minimal disambiguation fields (month + year of birth on GB, nationality, occupation snippet). Pipe candidate officer_ids one-by-one to get_officer_appointments to compare their company histories — the one matching your context is your person.

Cross-jurisdiction search — find a director in any country?

Not directly — search_officers takes ONE jurisdiction at a time (no fan-out array like search_companies). For 'find Anne Boden in any registry', loop the call across countries you suspect. Cross-border officer-id resolution is structurally hard because each registry assigns its own internal IDs.

Are resigned / dissolved officers returned?

Yes — search hits the full historical officer index, not just active ones. The hit itself doesn't tell you active vs resigned — you have to call get_officer_appointments on the officer_id to see the role history. For 'currently active directors' filter client-side after that follow-up.

Why does GB return so many results for 'SMITH'?

GB has 11M+ officer records; common surnames return the limit cap. Always include at least surname + initial in query. The registry's own search is the same — there's no full-text relevance ranking, just substring match.

Date of birth visibility?

GB: month + year. FR: month + year on individual entrepreneurs. DE, CH, IE: rarely. Privacy-protected officers return masked DOB or no DOB at all (Companies House 'protected from disclosure'). DOB is the most reliable disambiguator across registries that publish it.

Can I find PEPs or sanctioned persons?

Not directly. search_officers returns name matches against the company registry only — it does NOT cross-reference sanctions lists, PEP databases, or AML watchlists. To screen, take the officer_id, run get_officer_appointments to extract their company portfolio, then check that portfolio against external compliance lists.

Which jurisdictions support search_officers?

Currently GB (Companies House officer-search API), IE (CRO partial), CA (federal officer index), FI (PRH officer roster), AU (ABR-linked role lookup). Others return 501 — see list_jurisdictions({supports_tool: 'search_officers'}). GB has the deepest history (back to 1990s) and the cleanest disambiguation fields.

Shell-company / mass-director patterns?

search_officers gives you the entry point. Run get_officer_appointments on the returned officer_id — if one person sits on 100+ active GB companies with no obvious sector pattern, that's a textbook nominee-director pattern. The dataset is public, the inference is yours.