{"id":50492474,"url":"https://github.com/tomdewildt/kvk-data-service-experiment","last_synced_at":"2026-06-02T04:01:29.347Z","repository":{"id":357266344,"uuid":"1198625564","full_name":"tomdewildt/kvk-data-service-experiment","owner":"tomdewildt","description":"Experiment with the KVK Data Service SOAP API","archived":false,"fork":false,"pushed_at":"2026-05-29T07:22:59.000Z","size":69,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-29T09:17:42.531Z","etag":null,"topics":["actions","httpx","kvk","mtls","python","soap"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomdewildt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-01T15:46:47.000Z","updated_at":"2026-05-07T06:42:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tomdewildt/kvk-data-service-experiment","commit_stats":null,"previous_names":["tomdewildt/kvk-data-service-experiment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tomdewildt/kvk-data-service-experiment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomdewildt%2Fkvk-data-service-experiment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomdewildt%2Fkvk-data-service-experiment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomdewildt%2Fkvk-data-service-experiment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomdewildt%2Fkvk-data-service-experiment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomdewildt","download_url":"https://codeload.github.com/tomdewildt/kvk-data-service-experiment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomdewildt%2Fkvk-data-service-experiment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33805341,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","httpx","kvk","mtls","python","soap"],"created_at":"2026-06-02T04:01:28.351Z","updated_at":"2026-06-02T04:01:29.340Z","avatar_url":"https://github.com/tomdewildt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KVK Data Service Experiment\n\n[![License](https://img.shields.io/github/license/tomdewildt/kvk-data-service-experiment)](https://github.com/tomdewildt/kvk-data-service-experiment/blob/master/LICENSE)\n\nExperiment with the [KVK Data Service](https://www.kvk.nl/producten-bestellen/kvk-dataservice-aansluiten-bedrijf/) SOAP API. See [KVK.md](KVK.md) for detailed notes on how to integrate with it.\n\n# How To Run\n\nPrerequisites:\n\n- mise version `2025.1.0` or later\n- uv version `0.6.0` or later\n- python version `3.12.0` or later\n- KVK Data Service mTLS certificates\n\n### Certificates\n\nGenerate the CA bundles from the [KVK-provided certificate files](https://www.kvk.nl/producten-bestellen/kvk-dataservice-aansluiten-bedrijf/):\n\n```bash\ncd certificaten_dataservice_2025_12_preprod_omgeving\ncat \"DigiCert G2 TLS EU RSA4096 SHA384 2022 CA1.crt\" \"DigiCert Global Root G2.crt\" \u003e ../certs/kvk-preprod-ca-bundle.pem\n\ncd ../certificaten_dataservice_2025_12_prd_omgeving\ncat \"DigiCert G2 TLS EU RSA4096 SHA384 2022 CA1.crt\" \"DigiCert Global Root G2.crt\" \u003e ../certs/kvk-prod-ca-bundle.pem\n```\n\n### Development\n\n1. Run `mise run init` to initialize the environment.\n2. Copy `.env.example` to `.env` and configure the certificate paths.\n3. Run `mise run start -- registration --kvk-number \u003cnumber\u003e` to fetch a business registration.\n4. Run `mise run start -- branch --branch-number \u003cnumber\u003e` to fetch establishment/branch details.\n5. Run `mise run start -- financial-years --kvk-number \u003cnumber\u003e` to list available financial years.\n6. Run `mise run start -- financial-statement --kvk-number \u003cnumber\u003e --financial-year \u003cyear\u003e` to fetch a financial statement.\n7. Run `mise run start -- ubo --kvk-number \u003cnumber\u003e` to fetch a UBO register extract.\n8. Run `mise run start -- extract --kvk-number \u003cnumber\u003e` to fetch a business register extract.\n\n# Test Accounts\n\nTest numbers extracted from [Testset_Handelsregister_Dataservice_v4.8](https://www.kvk.nl/producten-bestellen/kvk-dataservice-aansluiten-testen/).\n\n### Registration (`registration`)\n\nQuery by KVK number or RSIN to fetch business registration details.\n\n| KVK Number | RSIN      | Legal Form                                   | Notes                            |\n| ---------- | --------- | -------------------------------------------- | -------------------------------- |\n| 90000013   | 992177315 | Commanditaire Vennootschap                   | Diacritic (ß) in street name     |\n| 90000021   | N.v.t.    | Eenmanszaak                                  | 3 commercial branches            |\n| 90000552   | 992063863 | Besloten Vennootschap                        | Foreign address (Czech Republic) |\n| 90000064   | 992953327 | Vennootschap Onder Firma                     | Bankruptcy, ended                |\n| 90000129   | 992476458 | Onderlinge Waarborg Maatschappij             | 7 functionaries                  |\n| 90000706   | 992191865 | Publiekrechtelijke Rechtspersoon (Provincie) | 5 non-commercial branches        |\n| 90001451   | 992424276 | Europese Naamloze Vennootschap (SE)          | EU law entity                    |\n| 90000390   | 992509038 | Kerkgenootschap                              | Church organization              |\n| 90004574   | -         | -                                            | Many branches                    |\n| 90000137   | 992660725 | Stichting                                    | Partner name usage               |\n\n### Branch (`branch`)\n\nQuery by branch number, KVK number, or RSIN to fetch branch details.\n\n| Branch Number | KVK Number | Notes                     |\n| ------------- | ---------- | ------------------------- |\n| 990000764192  | 90000250   | Commercial branch         |\n| 990000489902  | 90000021   | Commercial branch         |\n| 990000626196  | 90001443   | Commercial branch         |\n| 990000996027  | 90000129   | Extended legal form       |\n| 999999999999  | 90006054   | Vestiging XL              |\n| 999999999988  | 90006138   | huisnummerToevoeging      |\n| 990000222308  | 90005147   | Longest street name in NL |\n| 990000996064  | 90006151   | aanduidingBijHuisnummer   |\n| 990000204616  | 90001605   | Non-commercial branch     |\n| 990000036919  | 90003527   | Non-commercial branch     |\n\n### Financial Years (`financial-years`)\n\nQuery by KVK number to list available financial years.\n\n| KVK Number | Financial Year | Status       | Size        | Notes                  |\n| ---------- | -------------- | ------------ | ----------- | ---------------------- |\n| 99000148   | 2018           | Actueel      | Micro       | Preliminary            |\n| 99000156   | 2019           | Gecorrigeerd | Klein       | Preliminary, corrected |\n| 99000164   | 2020           | Actueel      | Middelgroot | Definitive             |\n| 99000172   | 2021           | Gecorrigeerd | Groot       | Definitive, corrected  |\n\n### Financial Statement (`financial-statement`)\n\nQuery by KVK number and financial year.\n\n| KVK Number | Financial Year | Depot ID                    | Notes              |\n| ---------- | -------------- | --------------------------- | ------------------ |\n| 99000148   | 2018           | -386e3edc:17fda168cb1:d75   | Micro, preliminary |\n| 99000156   | 2019           | 49984362:17fda19091e:27ea   | Small, corrected   |\n| 99000164   | 2020           | 49984362:17fda19091e:-343   | Medium, definitive |\n| 99000172   | 2021           | -386e3edc:17fda29dd8e:-3809 | Large, corrected   |\n\n### UBO (`ubo`)\n\nQuery by KVK number to fetch UBO register extract.\n\n| KVK Number | Legal Form                               | RSIN      | Notes                            |\n| ---------- | ---------------------------------------- | --------- | -------------------------------- |\n| 81408269   | Besloten Vennootschap                    | 865443750 | Standard, 75% economic interest  |\n| 81408420   | Commanditaire Vennootschap               | 865443889 | Foreign TIN                      |\n| 81408374   | Europees economisch samenwerkingsverband | 865443853 | Person without BSN, deceased UBO |\n| 81408382   | Stichting                                | 865443865 | Shielded personal data           |\n| 81408358   | Europese coöperatieve vennootschap (SCE) | 865443828 | UBO under investigation          |\n| 81408331   | Europese naamloze vennootschap (SE)      | 865443816 | Multiple UBOs                    |\n| 81408447   | Maatschap                                | 865443907 | Multiple UBOs                    |\n| 81408463   | Rederij                                  | 865443920 | Diacritics in name               |\n\n### Extract (`extract`)\n\nQuery by KVK number or RSIN to fetch a business register extract (DGU).\n\n| KVK Number | RSIN      | Available in English |\n| ---------- | --------- | -------------------- |\n| 90006208   | 867240465 | Yes                  |\n| 90006216   | 867240398 | Yes                  |\n\n# References\n\n[KVK Data Service Docs](https://www.kvk.nl/producten-bestellen/kvk-dataservice-aansluiten-bedrijf/)\n\n[KVK Schemas](http://schemas.kvk.nl/)\n\n[Zeep Docs](https://docs.python-zeep.org/)\n\n[Pydantic Docs](https://docs.pydantic.dev/)\n\n[Pydantic Settings Docs](https://docs.pydantic.dev/latest/concepts/pydantic_settings/)\n\n[Loguru Docs](https://loguru.readthedocs.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomdewildt%2Fkvk-data-service-experiment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomdewildt%2Fkvk-data-service-experiment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomdewildt%2Fkvk-data-service-experiment/lists"}