companydata.dk Participants API

The Participants API from companydata.dk — 8 operation(s) for participants.

GitHub OpenAPI

Operations 8

GET /v1/participants /participants #
GET /v1/participants/count /participants/count #
GET /v1/participants/{unit_number} /participants/{unit_number} #
GET /v1/participants/{unit_number}/preview /participants/{unit_number}/preview #
GET /v1/participants/{unit_number}/portfolio /participants/{unit_number}/portfolio #
GET /v1/participants/{unit_number}/network /participants/{unit_number}/network #
GET /v1/participants/{unit_number}/path/{other_unit_number} /participants/{unit_number}/path/{other_unit_number} #
GET /v1/participants/{unit_number}/indirect-ownership /participants/{unit_number}/indirect-ownership #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/companydata-dk:companydata-dk-participants-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

companydata-dk-participants-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Companydata Dk Participants API
  version: 1.0.0
  x-refined-note:
  - x-source differs across the merged source definitions and was not carried
  description: 'Operations tagged Participants across 2 of this provider''s published API definitions: companydata-dk-v1-openapi.json, companydata-dk-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.companydata.dk
  description: Production
security:
- BearerAuth: []
tags:
- name: Participants
paths:
  /v1/participants:
    get:
      tags:
      - Participants
      summary: /participants
      description: '**Pro tier required.**


        Search participants by name.


        Searches individuals (persons) that appear in ownership or management roles.

        Companies are not stored as participants — look them up by CVR via the

        /companies endpoints (e.g. /companies/{cvr}/beneficial-owners).'
      operationId: search_participants_endpoint_v1_participants_get
      security:
      - BearerAuth: []
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
          minLength: 2
          description: Search query (name)
          title: Q
        description: Search query (name)
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: Page number
          default: 1
          title: Page
        description: Page number
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          description: Results per page
          default: 25
          title: Limit
        description: Results per page
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipantSearchResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: https://api.companydata.dk
      description: Production
  /v1/participants/count:
    get:
      tags:
      - Participants
      summary: /participants/count
      description: 'How many persons match a name query (capped at 100).


        Not Pro-gated on purpose: it returns a number only, so the search page

        can label its "Personer" tab for every visitor while the persons

        themselves stay behind the Pro-gated search. Hidden persons are excluded.'
      operationId: count_participants_endpoint_v1_participants_count_get
      security:
      - BearerAuth: []
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
          minLength: 2
          maxLength: 120
          description: Name query
          title: Q
        description: Name query
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: https://api.companydata.dk
      description: Production
  /v1/participants/{unit_number}:
    get:
      tags:
      - Participants
      summary: /participants/{unit_number}
      description: '**Pro tier required.**


        Get a participant by their CVR unit number.


        Returns participant details including all company relationships.'
      operationId: get_participant_v1_participants__unit_number__get
      security:
      - BearerAuth: []
      parameters:
      - name: unit_number
        in: path
        required: true
        schema:
          type: integer
          title: Unit Number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipantResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: https://api.companydata.dk
      description: Production
  /v1/participants/{unit_number}/preview:
    get:
      tags:
      - Participants
      summary: /participants/{unit_number}/preview
      description: 'Public lookup of a participant''s name and type by unit_number.


        Used by search-box autocomplete to confirm a pasted unit_number

        resolves to a real participant. Does not return portfolio or any

        role data — those remain pro-gated via /portfolio.'
      operationId: get_participant_preview_endpoint_v1_participants__unit_number__preview_get
      security:
      - BearerAuth: []
      parameters:
      - name: unit_number
        in: path
        required: true
        schema:
          type: integer
          title: Unit Number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: https://api.companydata.dk
      description: Production
  /v1/participants/{unit_number}/portfolio:
    get:
      tags:
      - Participants
      summary: /participants/{unit_number}/portfolio
      description: '**Pro tier required.**


        Get all companies a participant is involved with.


        Returns categorized lists of:

        - Ownership stakes

        - Board positions

        - Director positions

        - Other roles'
      operationId: get_participant_portfolio_endpoint_v1_participants__unit_number__portfolio_get
      security:
      - BearerAuth: []
      parameters:
      - name: unit_number
        in: path
        required: true
        schema:
          type: integer
          title: Unit Number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipantPortfolioResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: https://api.companydata.dk
      description: Production
  /v1/participants/{unit_number}/network:
    get:
      tags:
      - Participants
      summary: /participants/{unit_number}/network
      description: 'Get a participant''s network — people who held management/board roles

        at the same companies during overlapping time periods.


        - `limit=3` (default) returns a teaser (3 people + total count)

        - `limit=0` returns paginated results (use page and page_size)'
      operationId: get_participant_network_endpoint_v1_participants__unit_number__network_get
      security:
      - BearerAuth: []
      parameters:
      - name: unit_number
        in: path
        required: true
        schema:
          type: integer
          title: Unit Number
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Max people to return (0 = unlimited)
          default: 3
          title: Limit
        description: Max people to return (0 = unlimited)
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: Page number (only used when limit=0)
          default: 1
          title: Page
        description: Page number (only used when limit=0)
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          description: Results per page (only used when limit=0)
          default: 25
          title: Page Size
        description: Results per page (only used when limit=0)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: https://api.companydata.dk
      description: Production
  /v1/participants/{unit_number}/path/{other_unit_number}:
    get:
      tags:
      - Participants
      summary: /participants/{unit_number}/path/{other_unit_number}
      description: 'Netværkssøgning: find the shortest relation path between two persons.


        Persons are connected through companies where they hold (or held)

        management/board roles or registered ownership. Searches up to 3 degrees

        (companies on the path) and returns up to 8 parallel shortest paths as a

        nodes/edges graph plus the node-id sequence of each path.


        - `degrees=1`: the two persons share a company

        - `degrees=2`: connected through one intermediate person

        - `degrees=3`: connected through two intermediate persons

        - `path_found=false`: no connection within 3 degrees'
      operationId: get_network_path_endpoint_v1_participants__unit_number__path__other_unit_number__get
      security:
      - BearerAuth: []
      parameters:
      - name: unit_number
        in: path
        required: true
        schema:
          type: integer
          title: Unit Number
      - name: other_unit_number
        in: path
        required: true
        schema:
          type: integer
          title: Other Unit Number
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: https://api.companydata.dk
      description: Production
  /v1/participants/{unit_number}/indirect-ownership:
    get:
      tags:
      - Participants
      summary: /participants/{unit_number}/indirect-ownership
      description: '**Pro tier required.**


        Get indirect ownership for a participant.


        Computes ownership through chains of company ownership. For example:

        - If Person A owns 50% of Company X

        - And Company X owns 100% of Company Y

        - Then Person A indirectly owns 50% of Company Y


        Returns indirect_ownership with effective percentages and ownership paths.'
      operationId: get_participant_indirect_ownership_endpoint_v1_participants__unit_number__indirect_ownership_get
      security:
      - BearerAuth: []
      parameters:
      - name: unit_number
        in: path
        required: true
        schema:
          type: integer
          title: Unit Number
      - name: max_depth
        in: query
        required: false
        schema:
          type: integer
          maximum: 5
          minimum: 1
          description: Maximum depth to traverse ownership chains
          default: 3
          title: Max Depth
        description: Maximum depth to traverse ownership chains
      - name: min_percent
        in: query
        required: false
        schema:
          type: number
          maximum: 1
          minimum: 0
          description: Minimum effective ownership percentage to include
          default: 0.01
          title: Min Percent
        description: Minimum effective ownership percentage to include
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: https://api.companydata.dk
      description: Production
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ParticipantResponse:
      properties:
        data:
          additionalProperties: true
          type: object
          title: Data
          description: Full participant details
        meta:
          additionalProperties: true
          type: object
          title: Meta
          description: Response metadata
      type: object
      required:
      - data
      title: ParticipantResponse
      description: Response for single participant lookup.
    ParticipantPortfolioResponse:
      properties:
        data:
          additionalProperties: true
          type: object
          title: Data
          description: Participant portfolio data
        meta:
          additionalProperties: true
          type: object
          title: Meta
          description: Response metadata
      type: object
      required:
      - data
      title: ParticipantPortfolioResponse
      description: Response for participant's company portfolio.
    ParticipantSearchResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/app__models__participant__ParticipantSearchResult'
          type: array
          title: Data
          description: Matching participants
        meta:
          additionalProperties: true
          type: object
          title: Meta
          description: Response metadata
        pagination:
          additionalProperties: true
          type: object
          title: Pagination
          description: Pagination info
      type: object
      required:
      - data
      title: ParticipantSearchResponse
      description: Response for participant search endpoint.
    app__models__participant__ParticipantSearchResult:
      properties:
        unit_number:
          type: integer
          title: Unit Number
          description: CVR unit number for lookups
        unit_type:
          type: string
          title: Unit Type
          description: Type — always PERSON (participants are individuals)
        name:
          type: string
          title: Name
          description: Participant name
        cvr:
          anyOf:
          - type: string
          - type: 'null'
          title: Cvr
          description: Unused — participants are individuals (kept for response-shape stability)
        company_relations:
          items:
            $ref: '#/components/schemas/ParticipantSearchResultRelation'
          type: array
          title: Company Relations
          description: Active roles (max 5). A company may appear more than once if the participant holds several roles there (e.g. owner + director).
        company_count:
          type: integer
          title: Company Count
          description: Number of distinct companies the participant is or has been related to (matches what the portfolio expands to).
          default: 0
        active_company_count:
          type: integer
          title: Active Company Count
          description: Distinct companies where the participant currently holds an active role.
          default: 0
      type: object
      required:
      - unit_number
      - unit_type
      - name
      title: ParticipantSearchResult
      description: Simplified participant for search results.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ParticipantSearchResultRelation:
      properties:
        cvr:
          type: string
          title: Cvr
          description: Company CVR number
        company_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Company Name
          description: Company name
        role_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Role Name
          description: Role in the company
      type: object
      required:
      - cvr
      title: ParticipantSearchResultRelation
      description: A company relation shown in search results.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: 'API key authentication. Include your API key in the Authorization header: `Bearer sk_live_your_key`. Get your key at [companydata.dk](https://companydata.dk)'
x-refined-from:
- companydata-dk-v1-openapi.json
- companydata-dk-openapi.yml