Norwegian public data for AI agents

One API for the Norwegian data your agent needs: companies, public tenders and who wins them, addresses, laws and exchange rates, straight from the official sources. Pay per call from half a cent, with no account.

Sources: Brønnøysundregistrene · Doffin · TED · Kartverket · Lovdata · Norges Bank · PRH (Finland)

What your agent can do

Check a company before you deal with it

Look up any Norwegian company by organisation number, or search by name, municipality, industry, legal form and status. You get the official status (active, bankrupt, being wound up, deleted), industry code, address, number of employees and VAT registration from Brønnøysundregistrene.

Find contracts to bid on

Search open Norwegian public tenders by CPV code, region, deadline and buyer. One search covers Doffin and TED, including small contracts below the EU thresholds, and shows each tender once. We refresh the data every night.

Get new tenders pushed to you

Save a search once and Veldora posts new matching tenders to your webhook every night for 30 days. Your agent stops polling and still sees each new tender the morning after it is published.

See who wins public contracts

Give an organisation number and get the contracts that company has won, with buyer, value and award date. Use it to size up a competitor or check a supplier's track record.

See what a buyer has bought

Give an organisation number and get the tenders that organisation has published, matched by number rather than by name.

Look up an address or what is around a point

Search Norwegian addresses by text, municipality or postcode, or list the addresses within a radius of a coordinate. You get coordinates, postcode, municipality and cadastre numbers from Kartverket.

Read the law, not a summary of it

Search current Norwegian laws and central regulations from Lovdata by words in the title or the text, then fetch the table of contents or the full text of a single section such as § 3-1. A hit shows matching snippets, so your agent only pays for the text it reads. We refresh the data every night.

Get official exchange rates against NOK

Fetch Norges Bank exchange rates against the Norwegian krone: the latest business day, a given day or a daily series of up to 366 days, for chosen currencies or all of them. A weekend or holiday gives the prior business day.

Check a Finnish company too

The first step beyond Norway: look up a Finnish company by business ID (Y-tunnus), or search by name, town, company form, industry and postcode. You get status (active, bankrupt, being wound up, ceased), company form, industry code, address and website from the Finnish Patent and Registration Office (PRH).

Datasets

Pay per call

Your agent pays for each answer in USDC on Base, using the open x402 standard. You don't need an account or an API key.

  1. Your agent sends a normal HTTP request.
  2. Veldora answers 402 Payment Required with the price and where to pay.
  3. Your x402 client signs a USDC authorization on Base for that exact amount. It does not need ETH for gas.
  4. The client repeats the request with the signature. Veldora returns the data and a payment receipt.

You pay for answers only. We reject bad input before asking for payment and don't charge for failed calls. A retry with the same payment costs nothing extra.

Pricing

Per successful call, in USD, paid as USDC on Base.

EndpointWhat it doesPrice
GET /v1/companies/{orgnr}Look up a company$0.005
GET /v1/companiesSearch companies$0.01
GET /v1/companies/{orgnr}/tendersTenders published by a company$0.01
GET /v1/companies/{orgnr}/awardsContracts won by a company$0.01
GET /v1/tendersSearch public tenders$0.01
GET /v1/tenders/{id}Get one tender$0.005
POST /v1/alertsTender alert to your webhook, 30 days$0.25
GET /v1/addressesSearch addresses$0.005
GET /v1/addresses/nearbyAddresses near a point$0.005
GET /v1/lawsSearch laws and regulations$0.01
GET /v1/laws/{id}One law with table of contents$0.005
GET /v1/laws/{id}/sections/{section}Full text of one section$0.005
GET /v1/exchange-ratesExchange rates against NOK$0.005
GET /v1/fi/companies/{businessId}Look up a Finnish company$0.005
GET /v1/fi/companiesSearch Finnish companies$0.01

Free: GET /v1/health, GET /openapi.json and listing tools at POST /mcp.

Try it

An unpaid request shows the price:

curl -i https://veldora.no/v1/companies/923609016

HTTP/2 402
payment-required: eyJ4NDAyVmVyc2lvbiI6Miwi...   (base64 JSON)

The header decodes to the payment requirements: network eip155:8453 (Base mainnet), the USDC contract, the amount and the recipient. The body carries the same JSON.

With @x402/fetch the payment happens inside fetch:

import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

const signer = privateKeyToAccount(process.env.BUYER_PRIVATE_KEY);
const payFetch = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(signer) }],
});

const res = await payFetch("https://veldora.no/v1/companies/923609016");
console.log(await res.json());

The wallet needs USDC on Base. It does not need ETH. Use a dedicated wallet with a small balance, not your main one.

Connect over MCP

Veldora is also an MCP server. Streamable HTTP, URL https://veldora.no/mcp. Listing tools is free. Calling a tool is paid per call, at the same prices.

{
  "mcpServers": {
    "veldora": { "url": "https://veldora.no/mcp" }
  }
}

Tools: get_company, search_companies, get_company_tenders, get_company_awards, search_tenders, get_tender, search_addresses, addresses_near, search_laws, get_law, get_law_section, get_exchange_rates, get_finnish_company, search_finnish_companies. The docs explain how payment works over MCP.

Good to know

Read the docs · OpenAPI · llms.txt · Service health · About · Contact