Kamer van Koophandel (KVK) Basisprofiel API

The Basisprofiel API from Kamer van Koophandel (KVK) — 4 operation(s) for basisprofiel.

GitHub OpenAPI

Operations 4

GET /basisprofielen/{kvkNummer} Voor een specifiek bedrijf basisinformatie opvragen #
GET /basisprofielen/{kvkNummer}/eigenaar Voor een specifiek bedrijf eigenaar informatie opvragen #
GET /basisprofielen/{kvkNummer}/hoofdvestiging Voor een specifiek bedrijf hoofdvestigingsinformatie opvragen #
GET /basisprofielen/{kvkNummer}/vestigingen Voor een specifiek bedrijf een lijst met vestigingen opvragen #

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/kvk-nl:kvk-nl-basisprofiel-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

kvk-nl-basisprofiel-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kvk Nl Basisprofiel API
  version: 1.5.0
  description: 'Operations tagged Basisprofiel across 2 of this provider''s published API definitions: api_basisprofiel_widget.yaml, kvk-nl-basisprofiel-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: /test/api/v1
  description: only for testing with Swagger widget
- url: https://api.kvk.nl/api/v1
  description: Production (developers.kvk.nl docs)
- url: https://api.kvk.nl/test/api/v1
  description: Test environment (fictitious data)
tags:
- name: Basisprofiel
paths:
  /basisprofielen/{kvkNummer}:
    get:
      tags:
      - Basisprofiel
      summary: Voor een specifiek bedrijf basisinformatie opvragen
      operationId: getBasisprofielByKvkNummer
      parameters:
      - name: kvkNummer
        in: path
        description: 'Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers'
        required: true
        schema:
          pattern: ^[0-9]{8}$
          type: string
      - name: geoData
        in: query
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
          headers:
            api-version:
              $ref: '#/components/headers/api_version'
            warning:
              $ref: '#/components/headers/warning'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basisprofiel'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Basisprofiel'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        '500':
          $ref: '#/components/responses/InternalServerError'
        default:
          description: Er is een onverwachte fout opgetreden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: /test/api/v1
      description: only for testing with Swagger widget
  /basisprofielen/{kvkNummer}/eigenaar:
    get:
      tags:
      - Basisprofiel
      summary: Voor een specifiek bedrijf eigenaar informatie opvragen
      operationId: getEigenaar
      parameters:
      - name: kvkNummer
        in: path
        description: 'Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers'
        required: true
        schema:
          pattern: ^[0-9]{8}$
          type: string
      - name: geoData
        in: query
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
          headers:
            api-version:
              $ref: '#/components/headers/api_version'
            warning:
              $ref: '#/components/headers/warning'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Eigenaar'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Eigenaar'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        '500':
          $ref: '#/components/responses/InternalServerError'
        default:
          description: Er is een onverwachte fout opgetreden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: /test/api/v1
      description: only for testing with Swagger widget
  /basisprofielen/{kvkNummer}/hoofdvestiging:
    get:
      tags:
      - Basisprofiel
      summary: Voor een specifiek bedrijf hoofdvestigingsinformatie opvragen
      operationId: getHoofdvestiging
      parameters:
      - name: kvkNummer
        in: path
        description: 'Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers'
        required: true
        schema:
          pattern: ^[0-9]{8}$
          type: string
      - name: geoData
        in: query
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
          headers:
            api-version:
              $ref: '#/components/headers/api_version'
            warning:
              $ref: '#/components/headers/warning'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vestiging'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Vestiging'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        '500':
          $ref: '#/components/responses/InternalServerError'
        default:
          description: Er is een onverwachte fout opgetreden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: /test/api/v1
      description: only for testing with Swagger widget
  /basisprofielen/{kvkNummer}/vestigingen:
    get:
      tags:
      - Basisprofiel
      summary: Voor een specifiek bedrijf een lijst met vestigingen opvragen
      operationId: getVestigingen
      parameters:
      - name: kvkNummer
        in: path
        description: 'Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers'
        required: true
        schema:
          pattern: ^[0-9]{8}$
          type: string
      responses:
        '200':
          description: OK
          headers:
            api-version:
              $ref: '#/components/headers/api_version'
            warning:
              $ref: '#/components/headers/warning'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VestigingList'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/VestigingList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        '500':
          $ref: '#/components/responses/InternalServerError'
        default:
          description: Er is een onverwachte fout opgetreden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: /test/api/v1
      description: only for testing with Swagger widget
components:
  headers:
    warning:
      schema:
        type: string
        description: zie RFC 7234. In het geval een major versie wordt uitgefaseerd, gebruiken we warn-code 299 ("Miscellaneous Persistent Warning") en het API end-point (inclusief versienummer) als de warn-agent van de warning, gevolgd door de warn-text met de human-readable waarschuwing
        example: '299 https://api.kvk.nl/api/v1/basisprofielen/ "Deze versie van de API is verouderd en zal uit dienst worden genomen op 2025-02-01. Raadpleeg voor meer informatie hier de documentatie: https://developers.kvk.nl/apis/basisprofiel".'
    api_version:
      schema:
        type: string
        description: Geeft een specifieke API-versie aan in de context van een specifieke aanroep.
        example: 1.0.0
  schemas:
    EmbeddedContainer:
      type: object
      properties:
        hoofdvestiging:
          $ref: '#/components/schemas/Vestiging'
        eigenaar:
          $ref: '#/components/schemas/Eigenaar'
    Eigenaar:
      type: object
      properties:
        rsin:
          type: string
          description: Rechtspersonen Samenwerkingsverbanden Informatie Nummer
        rechtsvorm:
          type: string
        uitgebreideRechtsvorm:
          type: string
        datumUitschrijving:
          type: string
          description: De datum dat de Niet Natuurlijk Persoon is uitgeschreven.
        adressen:
          type: array
          items:
            $ref: '#/components/schemas/Adres'
        websites:
          type: array
          items:
            type: string
        links:
          $ref: '#/components/schemas/Links'
    SBIActiviteit:
      type: object
      properties:
        sbiCode:
          type: string
        sbiOmschrijving:
          type: string
        indHoofdactiviteit:
          type: string
      description: Code beschrijving van SBI activiteiten conform SBI 2008 (Standard Industrial Classification). Er wordt geen maximering toegepast in de resultaten. Zie ook KVK.nl/sbi
    Fout:
      type: object
      properties:
        code:
          description: Foutcode
          type: string
        omschrijving:
          description: Omschrijving van de foutmelding
          type: string
    Links:
      type: array
      items:
        type: object
        properties:
          rel:
            type: string
          href:
            type: string
            format: uri
    Adres:
      type: object
      properties:
        type:
          type: string
          description: Correspondentieadres en/of bezoekadres
        indAfgeschermd:
          type: string
          description: Indicatie of het adres is afgeschermd
        volledigAdres:
          type: string
        straatnaam:
          type: string
        huisnummer:
          type: integer
          format: int32
        huisletter:
          type: string
        huisnummerToevoeging:
          type: string
        toevoegingAdres:
          type: string
        postcode:
          type: string
        postbusnummer:
          type: integer
          format: int32
        plaats:
          type: string
        straatHuisnummer:
          type: string
        postcodeWoonplaats:
          type: string
        regio:
          type: string
        land:
          type: string
        geoData:
          $ref: '#/components/schemas/GeoData'
    Handelsnaam:
      type: object
      properties:
        naam:
          type: string
        volgorde:
          type: integer
          format: int32
      description: Alle namen waaronder een vestiging handelt (op volgorde van registreren). Dit outputveld wordt niet vermeld in de EmbeddedCointainer van hoofdvestiging.
    GeoData:
      type: object
      properties:
        addresseerbaarObjectId:
          type: string
          description: Unieke BAG id
        nummerAanduidingId:
          type: string
          description: Unieke BAG nummeraanduiding id
        gpsLatitude:
          type: number
          description: Lengtegraad
          format: double
        gpsLongitude:
          type: number
          description: Breedtegraad
          format: double
        rijksdriehoekX:
          type: number
          description: Rijksdriehoek X-coördinaat
          format: double
        rijksdriehoekY:
          type: number
          description: Rijksdriehoek Y-coördinaat
          format: double
        rijksdriehoekZ:
          type: number
          description: Rijksdriehoek Z-coördinaat
          format: double
      description: Basisregistratie Adressen en Gebouwen gegevens uit het kadaster
    MaterieleRegistratie:
      type: object
      properties:
        datumAanvang:
          type: string
          description: Startdatum onderneming
        datumEinde:
          type: string
          description: Einddatum onderneming
    VestigingBasis:
      type: object
      properties:
        vestigingsnummer:
          type: string
          description: 'Vestigingsnummer: uniek nummer dat bestaat uit 12 cijfers'
        kvkNummer:
          type: string
          description: 'Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers'
        eersteHandelsnaam:
          type: string
          description: De naam waaronder een onderneming of vestiging handelt
        indHoofdvestiging:
          type: string
          description: Hoofdvestiging (Ja/Nee)
        indAdresAfgeschermd:
          type: string
          description: Indicatie of het adres is afgeschermd
        indCommercieleVestiging:
          type: string
          description: Commerciele vestiging  (Ja/Nee)
        volledigAdres:
          type: string
        links:
          $ref: '#/components/schemas/Links'
    Vestiging:
      type: object
      properties:
        vestigingsnummer:
          type: string
          description: 'Vestigingsnummer: uniek nummer dat bestaat uit 12 cijfers'
        kvkNummer:
          type: string
          description: 'Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers'
        rsin:
          type: string
          description: Rechtspersonen Samenwerkingsverbanden Informatie Nummer (dit outputveld wordt niet vermeld in de EmbeddedCointainer van hoofdvestiging).
        indNonMailing:
          type: string
          description: Hiermee geeft de onderneming aan geen ongevraagde reclame per post of verkoop aan de deur te willen ontvangen
        formeleRegistratiedatum:
          type: string
          description: Registratiedatum onderneming in HR
        materieleRegistratie:
          $ref: '#/components/schemas/MaterieleRegistratie'
        statutaireNaam:
          type: string
          description: De naam van de vestiging wanneer er statuten geregistreerd zijn.
        eersteHandelsnaam:
          type: string
          description: De naam waaronder een onderneming of vestiging handelt
        indHoofdvestiging:
          type: string
          description: Hoofdvestiging (Ja/Nee)
        indCommercieleVestiging:
          type: string
          description: Commerciele vestiging  (Ja/Nee)
        voltijdWerkzamePersonen:
          type: integer
          description: Aantal voltijd werkzame personen
        totaalWerkzamePersonen:
          type: integer
          description: Totaal aantal werkzame personen
        deeltijdWerkzamePersonen:
          type: integer
          description: Aantal deeltijd werkzame personen
        handelsnamen:
          type: array
          description: Alle namen waaronder een vestiging handelt (op volgorde van registreren). Dit outputveld wordt niet vermeld in de EmbeddedCointainer van hoofdvestiging.
          items:
            $ref: '#/components/schemas/Handelsnaam'
        adressen:
          type: array
          items:
            $ref: '#/components/schemas/Adres'
        websites:
          type: array
          items:
            type: string
        sbiActiviteiten:
          type: array
          description: Code beschrijving van SBI activiteiten conform SBI 2008 (Standard Industrial Classification). Er wordt geen maximering toegepast in de resultaten. Zie ook KVK.nl/sbi
          items:
            $ref: '#/components/schemas/SBIActiviteit'
        links:
          $ref: '#/components/schemas/Links'
    Basisprofiel:
      type: object
      properties:
        kvkNummer:
          type: string
          description: 'Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers'
        indNonMailing:
          type: string
          description: Hiermee geeft de onderneming aan geen ongevraagde reclame per post of verkoop aan de deur te willen ontvangen
        naam:
          type: string
          description: Naam onder Maatschappelijke Activiteit
        formeleRegistratiedatum:
          type: string
          description: Registratiedatum onderneming in HR
        materieleRegistratie:
          $ref: '#/components/schemas/MaterieleRegistratie'
        totaalWerkzamePersonen:
          type: integer
          description: Totaal aantal werkzame personen
          format: int32
        statutaireNaam:
          type: string
          description: De naam van de onderneming wanneer er statuten geregistreerd zijn.
        handelsnamen:
          type: array
          description: Alle namen waaronder een onderneming of vestiging handelt (op volgorde van registreren)
          items:
            $ref: '#/components/schemas/Handelsnaam'
        sbiActiviteiten:
          type: array
          description: Code beschrijving van SBI activiteiten conform SBI 2008 (Standard Industrial Classification). Er wordt geen maximering toegepast in de resultaten. Zie ook KVK.nl/sbi
          items:
            $ref: '#/components/schemas/SBIActiviteit'
        links:
          $ref: '#/components/schemas/Links'
        _embedded:
          $ref: '#/components/schemas/EmbeddedContainer'
    Error:
      type: object
      properties:
        fout:
          type: array
          items:
            $ref: '#/components/schemas/Fout'
    VestigingList:
      type: object
      properties:
        kvkNummer:
          type: string
          description: 'Nederlands Kamer van Koophandel nummer: bestaat uit 8 cijfers'
        aantalCommercieleVestigingen:
          type: integer
          format: int64
        aantalNietCommercieleVestigingen:
          type: integer
          format: int64
        totaalAantalVestigingen:
          type: integer
          format: int64
        vestigingen:
          type: array
          items:
            $ref: '#/components/schemas/VestigingBasis'
        links:
          $ref: '#/components/schemas/Links'
  responses:
    BadRequest:
      description: Een opgegeven parameter is niet valide
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Er zijn geen resultaten gevonden aan de hand van de opgegeven parameter(s)
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Niet geautoriseerd voor deze operatie
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Geen of onjuiste apikey aangeleverd
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/Error'
    NotAcceptable:
      description: Opgegeven Accept header wordt niet ondersteund
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Er is een interne fout opgetreden
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/Error'
x-refined-from:
- api_basisprofiel_widget.yaml
- kvk-nl-basisprofiel-openapi.yml