LeadBase API gir tilgang til detaljert informasjon om norske selskaper basert på organisasjonsnummer eller firmanavn. APIet returnerer strukturert data fra mange offentlige og private kilder, inkludert regnskapsdata, roller, og kontaktinformasjon.
APIet bruker API-nøkler for autentisering. Nøkkelen din er personlig og skal ikke deles med andre.
For å få tildelt din unike API-nøkkel, kontakt LeadBase:
sk_ og er 64 tegn langsk_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9d0e1f2
Send API-nøkkelen som et felt i JSON request body:
{
"apiKey": "din-api-nøkkel-her",
"orgNumber": "810034882"
}
Send data som JSON i request body. Du må oppgi minst ett av følgende:
apiKey (required) - Din API-nøkkelorgNumber - Organisasjonsnummer (9 siffer)companyName - Firmanavn (prefix søk, case-insensitive). Eks: "SAND" finner "SANDNES ELEKTRISKE"fields (optional) - Array med feltnavn du ønsker returnertorganisasjonsform_kode, dagligLeder, telefon etc.), vil forespørselen bli avvist med feilkode 400.
Søk med organisasjonsnummer:
{
"apiKey": "sk_a1b2c3d4...",
"orgNumber": "810034882"
}
Søk med firmanavn:
{
"apiKey": "sk_a1b2c3d4...",
"companyName": "SANDNES ELEKTRISKE"
}
Søk med spesifikke felt:
{
"apiKey": "sk_a1b2c3d4...",
"orgNumber": "810034882",
"fields": ["navn", "organisasjonsnummer", "antallAnsatte", "telefon"]
}
Oversikt over feltene du kan hente fra APIet:
| Feltnavn | Beskrivelse | Type |
|---|---|---|
| Grunnleggende informasjon | ||
organisasjonsnummer |
9-sifret organisasjonsnummer | string |
navn |
Selskapets navn | string |
organisasjonsform_kode |
Organisasjonsform (AS, ASA, NUF, etc.) | string |
stiftelsesdato |
Dato selskapet ble stiftet (YYYY-MM-DD) | string |
registreringsdatoEnhetsregisteret |
Registreringsdato i Enhetsregisteret | string |
registreringsdatoForetaksregisteret |
Registreringsdato i Foretaksregisteret | string |
maalform |
Målform (Bokmål/Nynorsk) | string |
| Ansatte og aktivitet | ||
antallAnsatte |
Antall registrerte ansatte | integer |
harRegistrertAntallAnsatte |
Om bedriften har registrert antall ansatte | boolean |
naeringskode1 |
Primær næringskode med beskrivelse | object |
naeringskode2 |
Sekundær næringskode (hvis aktuelt) | object/null |
aktivitet |
Beskrivelse av bedriftens aktivitet | array |
| Adresser | ||
forretningsadresse_adresse |
Forretningsadresse (gateadresse) | array |
forretningsadresse_postnummer |
Postnummer for forretningsadresse | string |
forretningsadresse_poststed |
Poststed for forretningsadresse | string |
forretningsadresse_kommune |
Kommune for forretningsadresse | string |
forretningsadresse_kommunenummer |
Kommunenummer for forretningsadresse | string |
postadresse_adresse |
Postadresse (hvis forskjellig fra forretningsadresse) | array |
postadresse_postnummer |
Postnummer for postadresse | string |
postadresse_poststed |
Poststed for postadresse | string |
postadresse_kommune |
Kommune for postadresse | string |
postadresse_kommunenummer |
Kommunenummer for postadresse | string |
| Kontaktinformasjon | ||
telefon |
Telefonnummer | string |
mobil |
Mobilnummer | string |
hjemmeside |
Hjemmeside URL | string/null |
epostadresse |
Offentlig e-postadresse | string |
epostadresseBrreg |
Indikator om e-post er fra Brønnøysundregistrene (1/0) | integer |
epostadresseLeadBase |
Indikator om e-post er fra LeadBase (1/0) | integer |
| Registerstatus | ||
registrertIForetaksregisteret |
Om selskapet er registrert i Foretaksregisteret | boolean |
registrertIMvaregisteret |
Om selskapet er registrert i Merverdiavgiftsregisteret | boolean |
registrertIStiftelsesregisteret |
Om selskapet er registrert i Stiftelsesregisteret | boolean |
registrertIFrivillighetsregisteret |
Om selskapet er registrert i Frivillighetsregisteret | boolean |
| Status | ||
underAvvikling |
Om selskapet er under avvikling | boolean |
underTvangsavviklingEllerTvangsopplosning |
Om selskapet er under tvangsavvikling/tvangsoppløsning | boolean |
konkurs |
Om selskapet er konkurs | boolean |
| Vedtekter og formål | ||
vedtektsdato |
Dato for siste vedtektsendring | string |
vedtektsfestetFormaal |
Vedtektsfestet formål (flere linjer) | array |
formaal |
Formål som sammenslått tekst | string |
| Lederskap og roller | ||
dagligLeder |
Informasjon om daglig leder (fornavn, etternavn, fødselsdato, erDoed) | object |
roller |
Liste over styremedlemmer, varamedlemmer, revisorer etc. | array |
| Regnskap | ||
sisteInnsendteAarsregnskap |
Årstall for siste innsendte årsregnskap | string |
regnskapsperiode |
Regnskapsperiode (fraDato, tilDato) | object |
valuta |
Valuta for regnskapet (NOK, USD, etc.) | string |
resultatregnskapResultat |
Resultatregnskap (driftsresultat, finansresultat, årsresultat) | object |
egenkapitalGjeld |
Egenkapital og gjeld (sum, innskutt/opptjent, kortsiktig/langsiktig) | object |
eiendeler |
Eiendeler (sum, anleggsmidler, omløpsmidler) | object |
| Metadata | ||
original_import_timestamp |
Tidspunkt for original import fra Brønnøysund | object |
_created_at |
Tidspunkt data ble opprettet i vår database | object |
_has_regnskap |
Indikator om regnskap er tilgjengelig | boolean |
_has_roller |
Indikator om roller er tilgjengelig | boolean |
| Beskyttede felt (krever spesiell tilgang) | ||
emails |
Liste med skrapede e-postadresser (krever tilgang) | array |
epostDagligLeder |
Daglig leders e-post (krever tilgang) | string |
emails og epostDagligLeder returneres kun hvis din bruker har fått tildelt tilgang. Kontakt LeadBase for å få denne tilgangen.
{
"success": true,
"data": {
"organisasjonsnummer": "810034882",
"navn": "SANDNES ELEKTRISKE AS",
"antallAnsatte": 8,
"telefon": "51 68 57 00",
"hjemmeside": "https://www.sandneselektriske.no",
"forretningsadresse_adresse": ["Strandgata 21"],
"forretningsadresse_postnummer": "4307",
"forretningsadresse_poststed": "SANDNES",
...
}
}
curl -X POST https://api.leadbase.no/index.php \
-H "Content-Type: application/json" \
-d '{
"apiKey": "sk_a1b2c3d4...",
"orgNumber": "810034882"
}'
$data = [
'apiKey' => 'sk_a1b2c3d4...',
'orgNumber' => '810034882'
];
$ch = curl_init('https://api.leadbase.no/index.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$response = curl_exec($ch);
$result = json_decode($response, true);
fetch('https://api.leadbase.no/index.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
apiKey: 'sk_a1b2c3d4...',
orgNumber: '810034882'
})
})
.then(response => response.json())
.then(result => console.log(result));
import requests
url = 'https://api.leadbase.no/index.php'
data = {
'apiKey': 'sk_a1b2c3d4...',
'orgNumber': '810034882'
}
response = requests.post(url, json=data)
result = response.json()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static async Task Main()
{
var client = new HttpClient();
var data = new
{
apiKey = "sk_a1b2c3d4...",
orgNumber = "810034882"
};
var json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.leadbase.no/index.php", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
public class ApiClient {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost("https://api.leadbase.no/index.php");
JSONObject data = new JSONObject();
data.put("apiKey", "sk_a1b2c3d4...");
data.put("orgNumber", "810034882");
post.setEntity(new StringEntity(data.toString()));
post.setHeader("Content-Type", "application/json");
String response = EntityUtils.toString(client.execute(post).getEntity());
System.out.println(response);
}
}
interface CompanySearchRequest {
apiKey: string;
orgNumber?: string;
companyName?: string;
fields?: string[];
}
async function searchCompany(data: CompanySearchRequest): Promise {
const response = await fetch('https://api.leadbase.no/index.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
});
const result = await response.json();
console.log(result);
}
searchCompany({
apiKey: 'sk_a1b2c3d4...',
orgNumber: '810034882'
});
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
data := map[string]interface{}{
"apiKey": "sk_a1b2c3d4...",
"orgNumber": "810034882",
}
jsonData, _ := json.Marshal(data)
resp, _ := http.Post(
"https://api.leadbase.no/index.php",
"application/json",
bytes.NewBuffer(jsonData),
)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
; LeadBase API Client - x86-64 Assembly (Linux syscalls)
;
; Lagre denne koden som: leadbase.asm
; Kompiler med: nasm -f elf64 leadbase.asm && ld -o leadbase leadbase.o
; Kjør med: ./leadbase
section .data
; HTTP Request
request db "POST /index.php HTTP/1.1", 0x0D, 0x0A
db "Host: api.leadbase.no", 0x0D, 0x0A
db "Content-Type: application/json", 0x0D, 0x0A
db "Content-Length: 52", 0x0D, 0x0A
db 0x0D, 0x0A
db '{"apiKey":"sk_test","orgNumber":"810034882"}', 0x0D, 0x0A
request_len equ $ - request
; Socket setup
sockaddr:
dw 2 ; AF_INET
dw 0x5000 ; Port 80 (big-endian)
dd 0x5f6da8c0 ; api.leadbase.no IP (fake for demo)
times 8 db 0
section .bss
sockfd resq 1
buffer resb 4096
section .text
global _start
_start:
; socket(AF_INET, SOCK_STREAM, 0)
mov rax, 41 ; sys_socket
mov rdi, 2 ; AF_INET
mov rsi, 1 ; SOCK_STREAM
xor rdx, rdx ; protocol = 0
syscall
mov [sockfd], rax
; connect(sockfd, &sockaddr, 16)
mov rax, 42 ; sys_connect
mov rdi, [sockfd]
lea rsi, [sockaddr]
mov rdx, 16
syscall
; send(sockfd, request, request_len, 0)
mov rax, 44 ; sys_sendto
mov rdi, [sockfd]
lea rsi, [request]
mov rdx, request_len
xor r10, r10
syscall
; recv(sockfd, buffer, 4096, 0)
mov rax, 45 ; sys_recvfrom
mov rdi, [sockfd]
lea rsi, [buffer]
mov rdx, 4096
xor r10, r10
syscall
; write(stdout, buffer, rax)
mov rdx, rax ; bytes received
mov rax, 1 ; sys_write
mov rdi, 1 ; stdout
lea rsi, [buffer]
syscall
; close(sockfd)
mov rax, 3 ; sys_close
mov rdi, [sockfd]
syscall
; exit(0)
mov rax, 60 ; sys_exit
xor rdi, rdi
syscall
; Disclaimer: Denne koden er ment som en spøk.
; Vennligst bruk et høynivåspråk for produksjonskode! 🚀
For å sikre stabil ytelse for alle brukere har APIet følgende grenser:
APIet returnerer strukturerte feilmeldinger. Her er de vanligste:
| Kode | Feil | Årsak | Løsning |
|---|---|---|---|
| 400 | Ugyldig JSON format | Request body er ikke gyldig JSON | Sjekk JSON-syntaksen, bruk JSON-validator |
| 400 | Manglende required felt | apiKey eller søkeparameter mangler | Inkluder apiKey og minst ett av: orgNumber eller companyName |
| 400 | Ugyldige parametere | Request inneholder parametere som ikke er tillatt | Send kun tillatte parametere: apiKey, orgNumber, companyName, fields |
| 401 | Ugyldig API-nøkkel | API-nøkkelen er feil eller utløpt | Kontroller API-nøkkelen, kontakt support hvis den er korrekt |
| 403 | Forbidden | API-nøkkelen er ikke gyldig eller har ikke tilgang | Sjekk API-nøkkelen, kontakt LeadBase for hjelp |
| 404 | Selskap ikke funnet | Organisasjonsnummer eller firmanavn finnes ikke | Kontroller stavingen, prøv alternativt søk |
| 413 | Payload Too Large | Request payload er for stor | Reduser payload-størrelsen eller bruk en større API-nøkkel |
| 429 | Too Many Requests | Du har overskredet rate limit (20 req/sek) | Vent litt før du sender nye forespørsler |
| 500 | Server Error | Intern server feil | Prøv igjen senere, kontakt support hvis problemet vedvarer |
Når selskap ikke finnes:
{
"success": false,
"error": "Selskap ikke funnet",
"statusCode": 404
}
Når API-nøkkel er ugyldig:
{
"success": false,
"error": "Ugyldig API-nøkkel",
"statusCode": 401
}
fields-parameteren for å hente kun de feltene du trengerVed midlertidig feil (5xx eller timeout), bruk eksponentiell backoff:
LeadBase tilbyr mer enn standard API-integrasjon. Vi er opptatt av at våre kunder får data på den måten de ønsker.
Har du spørsmål eller problemer?