Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the CVR API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fcvr.dev%2Fcvr" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fcvr.dev%2Fcvr" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with CVR API.
Look up a Danish company by its CVR number via GET /api?country=dk&vat={vat}
Look up a production unit (P-number) inside the Danish CVR via GET /api?country=dk&produ={produ}
Search Danish companies by name or partial name via GET /api?country=dk&search={search}
Resolve a Danish company from a phone number via GET /api?country=dk&phone={phone}
Look up a Norwegian company by organisation number via the country=no parameter
GET STARTED
Send the same query as a POST /api request when calling from a server with stricter outbound rules
Patterns agents use CVR API for, with concrete tasks.
★ KYC for Danish B2B onboarding
Validate a CVR number a customer types into a signup form. The CVR API returns the registered company name, address, industry code, and active/dissolved status, which lets onboarding code auto-fill the rest of the form and reject inactive entities. The full check is one HTTP call.
Look up CVR 12345678 in Denmark and confirm the status is 'Active' before creating the customer account.
B2B prospect enrichment
Enrich a list of Danish or Norwegian companies with registry data before passing them into a CRM. A script iterates the source list, calls /api with the CVR or organisation number, and writes the standardised name, address, and industry back to the prospect record so sales reps see consistent data.
For each row in prospects.csv, call /api with the CVR number and append registered address and industry code to the row.
Caller-ID enrichment for inbound support
Resolve a Danish phone number to a registered company on inbound calls. The /api endpoint accepts a phone parameter and returns matching CVR records, which a CTI integration can use to surface the caller's company alongside the phone number in the agent console.
Look up phone +4533123456 and surface the matched company name and CVR number to the support agent.
Agent-driven CVR lookup via Jentic
Let an autonomous agent answer questions like 'Is this CVR number valid?' or 'Who is this Danish company?' inside a chat workflow. The agent searches Jentic for 'look up a Danish company by CVR number', loads the schema, and calls /api - the token never leaves your Jentic One instance.
Through Jentic, look up CVR 12345678 and return the company name, address, and active status to the user.
2 endpoints — jentic publishes the only available openapi specification for cvr api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/api
Look up a company by CVR/organisation number, P-number, name, or phone (query string)
/api
Same lookup as GET but with parameters in the request body
/api
Look up a company by CVR/organisation number, P-number, name, or phone (query string)
/api
Same lookup as GET but with parameters in the request body
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the CVR API by hand means provisioning a token, appending it as a query parameter on every request, and mapping its Danish and Norwegian registry lookups yourself. Through Jentic you install once, import the CVR API from the API Directory, store the token once, and your agent calls it.
Permission scoping
The CVR API exposes a single lookup endpoint that takes the company reference as a parameter rather than a resource id in the URL path, so scope the agent to that lookup operation. That is the only surface it can reach on the registry.
Credential isolation
Your CVR token is stored once, encrypted, by your own Jentic One instance and injected at execution time, even though the API normally expects it as a query parameter. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'look up a Danish company by CVR number', and Jentic returns the matching CVR operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using CVR API through Jentic.
Why is there no official OpenAPI spec for CVR API?
CVR API (cvrapi.dk) does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call CVR via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the CVR API use?
A token passed as the 'token' query-string parameter. Through Jentic, the token is held in the encrypted vault and injected at execution time, so it never appears in agent prompts or logs.
Which countries does this CVR API cover?
Denmark and Norway. Pass country=dk for Danish CVR lookups and country=no for Norwegian organisation-number lookups against /api.
Can I look up a company by phone number?
Yes for Denmark. /api accepts a 'phone' query parameter alongside country=dk and returns the registered Danish company that matches the number.
What are the rate limits for the CVR API?
Limits depend on your cvrapi.dk plan rather than being declared in the spec. Free tiers are tightly throttled, so handle 429 responses with backoff and check your plan in the cvrapi.dk dashboard before running a bulk enrichment job.
How do I look up a Danish company through Jentic?
Run pip install jentic, search for 'look up a Danish company by CVR number', load the GET /api schema, and execute with country=dk and the CVR number. Jentic returns the registry response without exposing the token to the agent.
Can I limit what my agent is allowed to do with the CVR API?
Yes. Because you run Jentic One yourself, your own rules decide which CVR operations your agent may call and which credentials it may use. The CVR API exposes a single company-lookup operation that takes the company reference (CVR or organisation number, P-number, name, or phone) as a parameter rather than a resource id in the URL path, so you can scope the agent to just that GET or POST /api lookup and nothing else on the registry. The token stays in your instance and is injected at execution time, so the agent can only reach the lookup you allow.
Know of an official OpenAPI document? Contribute it →
For Agents
Look up Danish (CVR) and Norwegian companies by registration number, P-number, name, or phone number to fetch official registry data.
Use for: Look up a Danish company by CVR number, Find a Norwegian company by its organisation number, Search Danish companies by partial name, Resolve a company name from a phone number on a Danish caller
Not supported: Does not handle global company data, financial statements, or person-level enrichment - use for Danish (CVR) and Norwegian company-registry lookups only.
Jentic publishes the only available OpenAPI specification for CVR API, keeping it validated and agent-ready. CVR API exposes the Danish Central Business Register (CVR) and adds a Norwegian company lookup, so applications can resolve a company by CVR/organisation number, P-number, name, or phone number. The two endpoints (GET and POST) accept the same query parameters and return company facts including registered address, industry code, status, and ownership. The token is passed as a query-string parameter and the API is widely used for KYC, due diligence, and B2B prospect enrichment.