How do I find the companies that share a director?

GET /directors/network lists the officers who sit on several companies, with the companies; GET /people/{id} opens one officer and all of their appointments. The examples use Spain and legal-entity officers.

Call 1: who sits on many companies

The demo key does not include this call. It needs a key of your own (the search scope, which a trial key carries):

curl 'https://api.prometiam.com/functions/v1/risk-api/directors/network?country=ES&legal_entities=true&min_companies=10&limit=3' \
  -H 'Authorization: Bearer rk_live_...'

legal_entities=true includes corporate officers, min_companies is the smallest number of companies an officer must sit on (2 to 100). Answer fetched on 10 November 2026, one of three entries and the company lists shortened:

{
  "data": [
    {
      "person_id": 3414,
      "person_name": "DELOITTE SL",
      "company_count": 12175,
      "is_legal_entity": true,
      "company_ids": [2821, 2858, 2918, ...],
      "company_names": ["ABCARQUITECTURA MODULAR SL", "GRUPO INMOBILIARIO INVERLUR SL", ...]
    },
    ...
  ],
  "meta": { "total": 3224, "limit": 3, "offset": 0, "min_companies": 10, ... }
}

Call 2: one officer and all appointments

curl 'https://api.prometiam.com/functions/v1/risk-api/people/3414?country=ES&appointments_limit=5' \
  -H 'Authorization: Bearer rk_live_...'
{
  "data": {
    "id": 3414,
    "full_name": "DELOITTE SL",
    "is_legal_entity": true,
    "first_seen_date": "2009-01-13",
    "source_country": "ES",
    "source_provider": "BORME",
    "appointments": [
      {
        "id": 16981529,
        "role_type": "AUDITOR",
        "action": "reelected",
        "event_date": "2026-11-03",
        "is_current": true,
        "company": {
          "id": 169555,
          "company_number": "B31275993",
          "company_name": "PROFAND ZARAGOZA SOCIEDAD LIMITADA",
          "province": "ZARAGOZA",
          "status": "active"
        }
      },
      ...
    ],
    "network": { "company_count": 12175, "company_ids": [...], "company_names": [...] }
  }
}

How to read the answer

FieldWhat it tells you
person_id / idThe officer's id. Use it in GET /people/{id}.
company_countHow many companies the officer is linked to.
company_ids, company_namesThe companies, as a sample of the list. Open a company with GET /companies/{id}?country=ES.
appointments[].role_typeThe office held. The Spanish register includes auditors, so a firm can top the list without being a director in the usual sense.
appointments[].action and is_currentWhat the register entry did (appointed, reelected, ceased) and whether the appointment is current.
is_legal_entityTrue for a company officer. Without legal_entities=true the list holds natural persons only; with it, company officers are added.

Current appointments come first, then the history, each newest first. Page through with appointments_limit (1 to 500, default 100) and appointments_offset.

What it costs

Each of the two calls costs 2 credits, 4 credits for the pair. GET /people/{id} needs the people scope: Starter and above, with 25 calls on a trial key. Starter EUR 9.99 includes 1,000 credits a month, Professional EUR 29.99 10,000, Scale EUR 99.99 50,000. Errors are free.

Limits

  • Person records exist for Spain (BORME), France (BODACC), the United Kingdom (Companies House) and Norway (Brønnøysund). The network example here is Spain; countries without person records have no network. Poland and the Czech Republic show officers on the company record only, and no other country has officer data.
  • A natural person who has objected to being served, or asked for erasure, is left out of every answer that lists people. The /people/{id} of such a person is a 404.
  • In Spain the officers are read from the BORME acts, with a company as officer only when the register prints one.
  • The network is a lead for review (common control, shell structures), not a finding about anyone.
  • Credit: Based on data from the Agencia Estatal Boletín Oficial del Estado (BORME).

What can go wrong

  • 400 validation_error: min_companies outside 2 to 100, limit or offset outside their range.
  • 403 upgrade_required: the key lacks the scope, or its trial calls are used up.
  • 404: the person id is unknown, or the person is withheld.
  • 429: rate limit or credits exhausted.

Related pages

Sign up · API documentation

The free trial lasts 14 days and includes 500 credits. A card is required and nothing is charged during the trial; it then continues as Starter (EUR 9.99/month) unless you cancel.

Frequently asked questions

Can I list the companies of one officer by name?
Yes: GET /people/search?name=...&country=ES returns ranked person summaries, then GET /people/{id} gives the appointments. The search needs the people scope.
Why is an audit firm in a director network?
The register publishes auditors and other offices next to directors. role_type tells you which one each appointment is, so filter on it in your code.
Does it work for the United Kingdom?
Person records exist for GB, FR and NO as well as ES. Call GET /people/search with their country code. The network example above is Spain; the API reference states what each call serves per country.
Does it say who owns the company?
No. Officers are not owners. Ownership is a separate field, corporate_structure, and for Spain it covers sole-shareholder companies only.