API-REFERANSE · .md

Firmasett API v1.1

440 022 norske selskaper (alle aktive private, også uten ansatte) fullt beriket (siste regnskap, daglig leder med beste e-post/mobil/LinkedIn og kilde, anslag på utestående og kunder), oppdatert hver natt, pluss hele Enhetsregisteret (1,2 mill. enheter) til oppslag på orgnr med registerdata. Alle svar har konvolutten {status, resultat, meta}. ikke_funnet = HTTP 200 uten kostnad. Kvoter per 5-timersvindu. Les også https://firmasett.arnu.io/llms.txt.

Ingen nøkkel? Lag en gratis i konsollen. Base-URL https://firmasett.arnu.io. Send Authorization: Bearer fs_… på alle kall.

Konvolutten

Alle svar har samme form. status er ok, ikke_funnet (HTTP 200, koster ingenting) eller feil (HTTP 4xx/5xx med feil.kode). meta viser plan, kvote og hva kallet kostet, så agenten slipper å spørre /v1/konto.

Feilkoder

ugyldig_foresporselHTTP 400Manglende eller ugyldig parameter; meldingen sier hvilken
ugyldig_nokkelHTTP 401Mangler eller feil nøkkel
ingen_telefonpoengHTTP 403Mobilnummer finnes, men kontoen har ikke poeng
feil_metodeHTTP 405Feil HTTP-metode
kvote_bruktHTTP 429Planens søketreff eller berikelser er brukt opp i vinduet; Retry-After i sekunder
serverfeilHTTP 500Vår feil; prøv igjen

Kvoter

Søketreff og berikelser telles per 5-timersvindu etter plan (priser). antall_kun=ja, ikke_funnet, kontokall og registerdata (dekning: register) er gratis. Mobilnumre koster telefonpoeng.

Konvolutt

{
  "status": "ok | ikke_funnet | feil",
  "resultat": …,
  "melding": "bare ved ikke_funnet",
  "meta": {
    "plan": "gratis | solo | pro | team",
    "vindu": "5 timer",
    "berikelser": {"grense": 1000, "brukt": 12, "igjen": 988},
    "sok": {"grense": 5000, "brukt": 40, "igjen": 4960},
    "telefonpoeng": 0,
    "belastet": {"berikelse": 1}
  }
}

konto Gratis, teller ikke mot kvoten

GET /v1/konto

Plan, kvoter og forbruk

Svar

HTTP 200, konvolutt med resultat.

curl "https://firmasett.arnu.io/v1/konto" \
  -H "Authorization: Bearer fs_…"
import requests

r = requests.get(
    "https://firmasett.arnu.io/v1/konto",
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/konto", {
  headers: { Authorization: "Bearer fs_…" },
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "brukt": {
      "berikelser": 0,
      "sok": 0
    },
    "epost": "[email protected]",
    "grenser": {
      "berikelser": 1000,
      "sok": 100,
      "totalt": true
    },
    "mobilnumre_tilgjengelig": true,
    "opprettet": "2026-11-06T15:26:38",
    "plan": "gratis",
    "plan_navn": "Gratis",
    "telefonpoeng": 5,
    "vindu_timer": 5
  },
  "meta": {
    "belastet": {},
    "berikelser": {
      "brukt": 0,
      "grense": 1000,
      "igjen": 1000
    },
    "plan": "gratis",
    "sok": {
      "brukt": 0,
      "grense": 100,
      "igjen": 100
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

GET /v1/bruk

Forbruk per dag siste 30 dager

Svar

HTTP 200, konvolutt med resultat.

curl "https://firmasett.arnu.io/v1/bruk" \
  -H "Authorization: Bearer fs_…"
import requests

r = requests.get(
    "https://firmasett.arnu.io/v1/bruk",
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/bruk", {
  headers: { Authorization: "Bearer fs_…" },
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "dager": [],
    "fra": "2026-10-07"
  },
  "meta": {
    "belastet": {},
    "berikelser": {
      "brukt": 0,
      "grense": 1000,
      "igjen": 1000
    },
    "plan": "gratis",
    "sok": {
      "brukt": 0,
      "grense": 100,
      "igjen": 100
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

GET /v1/onboarding

Onboarding: lagret profil, hva som mangler, spørsmålene

Svar

HTTP 200, konvolutt med resultat.

curl "https://firmasett.arnu.io/v1/onboarding" \
  -H "Authorization: Bearer fs_…"
import requests

r = requests.get(
    "https://firmasett.arnu.io/v1/onboarding",
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/onboarding", {
  headers: { Authorization: "Bearer fs_…" },
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "fullfort": true,
    "mangler": [],
    "oppdatert": "2026-11-06T15:26:39",
    "profil": {
      "bestemmer": "innkjøp",
      "epost": "[email protected]",
      "firma": "Eksempel AS",
      "navn": "Kari Nordmann",
      "paavirker": "-",
      "telefon": "90 •• •• ••"
    },
    "selskaper": 454566,
    "sporsmal": []
  },
  "meta": {
    "belastet": {},
    "berikelser": {
      "brukt": 0,
      "grense": 1000,
      "igjen": 1000
    },
    "plan": "gratis",
    "sok": {
      "brukt": 0,
      "grense": 100,
      "igjen": 100
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

POST /v1/onboarding

Lagre svar fra onboardingen (delvis er greit, «-» = hoppet over)

Kropp application/json

navnstring
telefonstring
epoststring
firmastring
bestemmerstringHva brukeren bestemmer over
paavirkerstringHva brukeren påvirker beslutninger om

Svar

HTTP 200, konvolutt med resultat.

curl -X POST "https://firmasett.arnu.io/v1/onboarding" \
  -H "Authorization: Bearer fs_…" \
  -H "Content-Type: application/json" \
  -d '{"navn": "Kari Nordmann", "firma": "Eksempel AS", "bestemmer": "innkjøp av verktøy", "paavirker": "-"}'
import requests

r = requests.post(
    "https://firmasett.arnu.io/v1/onboarding",
    json={
  "navn": "Kari Nordmann",
  "firma": "Eksempel AS",
  "bestemmer": "innkjøp av verktøy",
  "paavirker": "-"
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/onboarding", {
  method: "POST",
  headers: { Authorization: "Bearer fs_…", "Content-Type": "application/json" },
  body: JSON.stringify({
  "navn": "Kari Nordmann",
  "firma": "Eksempel AS",
  "bestemmer": "innkjøp av verktøy",
  "paavirker": "-"
}),
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "fullfort": true,
    "mangler": [],
    "melding": "Takk, profilen er fullført.",
    "oppdatert": "2026-11-06T15:26:41",
    "profil": {
      "bestemmer": "innkjøp av verktøy",
      "epost": "[email protected]",
      "firma": "Eksempel AS",
      "navn": "Kari Nordmann",
      "paavirker": "-",
      "telefon": "90 •• •• ••"
    },
    "selskaper": 454566,
    "sporsmal": []
  },
  "meta": {
    "belastet": {},
    "berikelser": {
      "brukt": 0,
      "grense": 1000,
      "igjen": 1000
    },
    "plan": "gratis",
    "sok": {
      "brukt": 0,
      "grense": 100,
      "igjen": 100
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

GET /v1/bransjer

Næringskoder med antall og dekning, pluss fylker

Svar

HTTP 200, konvolutt med resultat.

curl "https://firmasett.arnu.io/v1/bransjer" \
  -H "Authorization: Bearer fs_…"
import requests

r = requests.get(
    "https://firmasett.arnu.io/v1/bransjer",
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/bransjer", {
  headers: { Authorization: "Bearer fs_…" },
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "bransjer": [
      {
        "antall": 101578,
        "bransje": "Eiendomsforvaltning på oppdrag",
        "kode": "68",
        "med_dl_epost": 18733,
        "med_dl_mobil": 26581
      },
      {
        "antall": 56277,
        "bransje": "Uoppgitt",
        "kode": "00",
        "med_dl_epost": 3568,
        "med_dl_mobil": 5972
      },
      {
        "antall": 28684,
        "bransje": "Annen detaljhandel med andre nye varer",
        "kode": "47",
        "med_dl_epost": 3762,
        "med_dl_mobil": 5603
      }
    ],
    "fylker": [
      "Agder",
      "Akershus",
      "Buskerud"
    ]
  },
  "meta": {
    "belastet": {},
    "berikelser": {
      "brukt": 0,
      "grense": 1000,
      "igjen": 1000
    },
    "plan": "gratis",
    "sok": {
      "brukt": 0,
      "grense": 100,
      "igjen": 100
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

selskaper

GET /v1/selskaper/sok

Søk selskaper

Hvert treff som leveres teller som ett søketreff. Med antall_kun=ja får du bare totalen, gratis.

Spørring

qstringFritekst: firmanavn, daglig leder eller orgnr
bransjestringNæringskode-prefiks, flere med komma (69.2,85.1)
fylkestringFylke(r), flere med komma
kommunestringKommune
kundetypestringB2B | B2C | begge | offentlig
ansatte_minnumber
ansatte_maksnumber
omsetning_minnumberkr
omsetning_maksnumberkr
stiftet_minintegerår
stiftet_maksintegerår
utestaende_minnumberanslått utestående, kr
utestaende_maksnumber
kunder_minnumberanslått antall kunder
fakturaer_minnumberanslått fakturaer per år
kan_smsstringja|nei – selskapet har mobilnummer
har_dl_mobilstringja|nei
har_dl_epoststringja|nei
har_dl_linkedinstringja|nei
har_nettsidestringja|nei
har_regnskapstringja|nei
statusstringaktiv (standard) | konkurs | avvikling | tvangsavvikling | alle
registerstringja – søk i hele Enhetsregisteret (1,2 mill. enheter, bare navn/orgnr/sted/bransje) i stedet for hoveddatasettet. Treffene har dekning register og teller som søketreff.
fakturerer_mangestringja|nei – nettsida nevner purregebyr/inkasso/avtalegiro/efaktura
kjedestringja|nei
konsernstringja|nei
signalstringdelstreng i fakturasignaler: purregebyr, inkasso, avtalegiro, efaktura, ehf, abonnement
regnskapsforerstringdelstreng
revisorstringdelstreng
regnskapssystemstringdelstreng
sorterstringomsetning | ansatte | utestaende | kunder | fakturaer | nyeste | navn
antallinteger1–100, standard 25
sideintegerstandard 1
antall_kunstringja – bare tell treff. Gratis, teller ikke mot kvoten.

Svar

HTTP 200, konvolutt med resultat. resultat: {total, side, antall, treff: [SelskapKort]}. Feil: 429 kvote_brukt (Retry-After i sekunder).

curl "https://firmasett.arnu.io/v1/selskaper/sok?q=elektro&fylke=Rogaland&ansatte_min=10&har_dl_epost=ja&sorter=omsetning&antall=2" \
  -H "Authorization: Bearer fs_…"
import requests

r = requests.get(
    "https://firmasett.arnu.io/v1/selskaper/sok",
    params={
  "q": "elektro",
  "fylke": "Rogaland",
  "ansatte_min": "10",
  "har_dl_epost": "ja",
  "sorter": "omsetning",
  "antall": "2"
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/selskaper/sok?q=elektro&fylke=Rogaland&ansatte_min=10&har_dl_epost=ja&sorter=omsetning&antall=2", {
  headers: { Authorization: "Bearer fs_…" },
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "antall": 2,
    "side": 1,
    "total": 21,
    "treff": [
      {
        "ansatte": "191",
        "bransje": "Produksjon av batterier og akkumulatorer",
        "bransje_kode": "27.200",
        "daglig_leder": "Cheul Won Shin",
        "fylke": "Rogaland",
        "har_dl_epost": true,
        "har_dl_linkedin": false,
        "har_dl_mobil": false,
        "hjemmeside": "www.seam.no",
        "kan_sms": true,
        "kommune": "Karmøy",
        "kunder_anslag": 2277,
        "kundetype": "B2B",
        "navn": "Seam As",
        "omsetning": 683239234,
        "orgnr": "985947007",
        "stiftet": "2003-08-15",
        "utestaende_anslag": 105293718
      },
      {
        "ansatte": "199",
        "bransje": "Produksjon av elektriske fordelings- og kontrolltavler og paneler",
        "bransje_kode": "27.120",
        "daglig_leder": "Knut Husebø",
        "fylke": "Rogaland",
        "har_dl_epost": true,
        "har_dl_linkedin": false,
        "har_dl_mobil": false,
        "hjemmeside": "",
        "kan_sms": false,
        "kommune": "Stavanger",
        "kunder_anslag": 1639,
        "kundetype": "B2B",
        "navn": "Elcor As",
        "omsetning": 491793601,
        "orgnr": "957382800",
        "stiftet": "1990-01-03",
        "utestaende_anslag": 75790110
      }
    ]
  },
  "meta": {
    "belastet": {
      "sok": 2
    },
    "berikelser": {
      "brukt": 0,
      "grense": 1000,
      "igjen": 1000
    },
    "plan": "gratis",
    "sok": {
      "brukt": 2,
      "grense": 100,
      "igjen": 98
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

GET /v1/selskaper/{orgnr}

Berik ett selskap

1 berikelse når selskapet er i hoveddatasettet (dekning: full; resultat = selskap, regnskap, anslag, signaler, roller, daglig_leder). Orgnr som bare finnes i Enhetsregisteret gir dekning: register med registerdata, gratis.

Sti og spørring

orgnrstring · i stien · påkrevd

Svar

HTTP 200, konvolutt med resultat. Feil: 429 kvote_brukt (Retry-After i sekunder).

curl "https://firmasett.arnu.io/v1/selskaper/810034882" \
  -H "Authorization: Bearer fs_…"
import requests

r = requests.get(
    "https://firmasett.arnu.io/v1/selskaper/810034882",
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/selskaper/810034882", {
  headers: { Authorization: "Bearer fs_…" },
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "anslag": {
      "betaling": "faktura",
      "dager_anslag": 25,
      "fakturaer_anslag": 753,
      "kunder_anslag": 251,
      "kundetype": "begge",
      "utestaende_anslag": 857983,
      "utestaende_kilde": "bransjeanslag"
    },
    "daglig_leder": {
      "andre_selskaper": "",
      "epost": "[email protected]",
      "epost_alternativer": 0,
      "epost_grad": "E",
      "epost_kilde": "gjettet fra vanligste mønster",
      "epost_sikkerhet": "lav",
      "har_mobil": false,
      "kan_sms": false,
      "linkedin": "",
      "linkedin_grad": "",
      "linkedin_kilde": "",
      "mobil": "",
      "mobil_grad": "",
      "mobil_kilde": "",
      "navn": "Morten Aarrestad",
      "tittel": "Daglig leder"
    },
    "dekning": "full",
    "regnskap": {
      "aarsresultat": -78041,
      "aksjekapital": "2375000.0",
      "bank": "",
      "driftsresultat": -31910,
      "egenkapital": 1639483,
      "fordringer": "",
      "fordringer_andel": "",
      "kundefordringer": "",
      "lonn": "",
      "omsetning": 10021242,
      "regnskap_kilde": "eksport",
      "regnskapsaar": "2025"
    },
    "roller": {
      "daglig_leder": "Morten Aarrestad",
      "regnskapsforer": "ACCOUNT GROUP AS",
      "revisor": "ØKSENDAL REVISJON AS",
      "styreleder": "Jan Marton Aarrestad"
    },
    "selskap": {
      "adresse": "Strandgata 21",
      "ansatte": "11",
      "avdelinger": "3",
      "beskrivelse": "Enkelt, rimelig - alt elektrisk på samme sted",
      "bransje": "Elektrisk installasjonsarbeid",
      "bransje_kode": "43.210",
      "epost": "[email protected]",
      "formaal": "Drive handel, installasjons og servicevirksomhet, eller annen virksomhet forbundet med dette, samt delta i annen virksomhet.",
      "fylke": "Rogaland",
      "hjemmeside": "",
      "hjemmeside_kilde": "",
      "holding": "0",
      "kan_sms": 0,
      "kjede": "",
      "kjedesignal": "3 avdelinger",
      "kommune": "Sandnes",
      "konsern": "0",
      "linkedin_firma": "",
      "mobil": "",
      "morselskap": "",
      "mva": "1",
      "navn": "Sandnes Elektriske As",
      "orgform": "AS",
      "orgnr": "810034882",
      "poststed": "Sandnes",
      "status": "aktiv",
      "stiftet": "1977-06-15",
      "telefon": "51 •• •• ••",
      "telefon_type": "fast",
      "tidligere_navn": "SANDNES ELEKTRISKE FORRETNING AS"
    },
    "signaler": {
      "betalingsmaate_nettside": "",
      "fakturasignaler": "",
      "fakturerer_mange": 0,
      "inkassoselskap": "",
      "nettside_eposter_antall": 0,
      "regnskapssystem": ""
    }
  },
  "meta": {
    "belastet": {
      "berikelse": 1
    },
    "berikelser": {
      "brukt": 1,
      "grense": 1000,
      "igjen": 999
    },
    "plan": "gratis",
    "sok": {
      "brukt": 2,
      "grense": 100,
      "igjen": 98
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

POST /v1/selskaper/berik

Berik inntil 100 selskaper

Én berikelse per selskap som finnes. resultat: {antall, funnet, resultater: [{orgnr, status, …Selskap}]}

Kropp application/json

orgnrsarray<string> · påkrevdMaks 100.

Svar

HTTP 200, konvolutt med resultat.

curl -X POST "https://firmasett.arnu.io/v1/selskaper/berik" \
  -H "Authorization: Bearer fs_…" \
  -H "Content-Type: application/json" \
  -d '{"orgnrs": ["810034882", "810059672"]}'
import requests

r = requests.post(
    "https://firmasett.arnu.io/v1/selskaper/berik",
    json={
  "orgnrs": [
    "810034882",
    "810059672"
  ]
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/selskaper/berik", {
  method: "POST",
  headers: { Authorization: "Bearer fs_…", "Content-Type": "application/json" },
  body: JSON.stringify({
  "orgnrs": [
    "810034882",
    "810059672"
  ]
}),
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "antall": 2,
    "bare_register": 0,
    "funnet": 2,
    "resultater": [
      {
        "anslag": {
          "betaling": "faktura",
          "dager_anslag": 25,
          "fakturaer_anslag": 753,
          "kunder_anslag": 251,
          "kundetype": "begge",
          "utestaende_anslag": 857983,
          "utestaende_kilde": "bransjeanslag"
        },
        "daglig_leder": {
          "andre_selskaper": "",
          "epost": "[email protected]",
          "epost_alternativer": 0,
          "epost_grad": "E",
          "epost_kilde": "gjettet fra vanligste mønster",
          "epost_sikkerhet": "lav",
          "har_mobil": false,
          "kan_sms": false,
          "linkedin": "",
          "linkedin_grad": "",
          "linkedin_kilde": "",
          "mobil": "",
          "mobil_grad": "",
          "mobil_kilde": "",
          "navn": "Morten Aarrestad",
          "tittel": "Daglig leder"
        },
        "dekning": "full",
        "orgnr": "810034882",
        "regnskap": {
          "aarsresultat": -78041,
          "aksjekapital": "2375000.0",
          "bank": "",
          "driftsresultat": -31910,
          "egenkapital": 1639483,
          "fordringer": "",
          "fordringer_andel": "",
          "kundefordringer": "",
          "lonn": "",
          "omsetning": 10021242,
          "regnskap_kilde": "eksport",
          "regnskapsaar": "2025"
        },
        "roller": {
          "daglig_leder": "Morten Aarrestad",
          "regnskapsforer": "ACCOUNT GROUP AS",
          "revisor": "ØKSENDAL REVISJON AS",
          "styreleder": "Jan Marton Aarrestad"
        },
        "selskap": {
          "adresse": "Strandgata 21",
          "ansatte": "11",
          "avdelinger": "3",
          "beskrivelse": "Enkelt, rimelig - alt elektrisk på samme sted",
          "bransje": "Elektrisk installasjonsarbeid",
          "bransje_kode": "43.210",
          "epost": "[email protected]",
          "formaal": "Drive handel, installasjons og servicevirksomhet, eller annen virksomhet forbundet med dette, samt delta i annen virksomhet.",
          "fylke": "Rogaland",
          "hjemmeside": "",
          "hjemmeside_kilde": "",
          "holding": "0",
          "kan_sms": 0,
          "kjede": "",
          "kjedesignal": "3 avdelinger",
          "kommune": "Sandnes",
          "konsern": "0",
          "linkedin_firma": "",
          "mobil": "",
          "morselskap": "",
          "mva": "1",
          "navn": "Sandnes Elektriske As",
          "orgform": "AS",
          "orgnr": "810034882",
          "poststed": "Sandnes",
          "status": "aktiv",
          "stiftet": "1977-06-15",
          "telefon": "51 •• •• ••",
          "telefon_type": "fast",
          "tidligere_navn": "SANDNES ELEKTRISKE FORRETNING AS"
        },
        "signaler": {
          "betalingsmaate_nettside": "",
          "fakturasignaler": "",
          "fakturerer_mange": 0,
          "inkassoselskap": "",
          "nettside_eposter_antall": 0,
          "regnskapssystem": ""
        },
        "status": "ok"
      },
      {
        "anslag": {
          "betaling": "faktura",
          "dager_anslag": 15,
          "fakturaer_anslag": 228,
          "kunder_anslag": 19,
          "kundetype": "begge",
          "utestaende_anslag": 93515,
          "utestaende_kilde": "bransjeanslag"
        },
        "daglig_leder": {
          "andre_selskaper": "Nesset Historielag",
          "epost": "",
          "epost_alternativer": 0,
          "epost_grad": "",
          "epost_kilde": "",
          "epost_sikkerhet": "",
          "har_mobil": false,
          "kan_sms": false,
          "linkedin": "",
          "linkedin_grad": "",
          "linkedin_kilde": "",
          "mobil": "",
          "mobil_grad": "",
          "mobil_kilde": "",
          "navn": "Svein Olav Farstad",
          "tittel": "Daglig leder"
        },
        "dekning": "full",
        "orgnr": "810059672",
        "regnskap": {
          "aarsresultat": 1294114,
          "aksjekapital": "100000.0",
          "bank": "",
          "driftsresultat": 1734924,
          "egenkapital": 5386332,
          "fordringer": "",
          "fordringer_andel": "",
          "kundefordringer": "",
          "lonn": "",
          "omsetning": 2275533,
          "regnskap_kilde": "eksport",
          "regnskapsaar": "2024"
        },
        "roller": {
          "daglig_leder": "Svein Olav Farstad",
          "regnskapsforer": "REGNSKAPSKONTORET TOVE HUNDSETH",
          "revisor": "",
          "styreleder": "Svein Olav Farstad"
        },
        "selskap": {
          "adresse": "Sjøgardsvegen 8",
          "ansatte": "0",
          "avdelinger": "1",
          "beskrivelse": "",
          "bransje": "Utleie av egen eller leid fast eiendom",
          "bransje_kode": "68.200",
          "epost": "",
          "formaal": "Utleievirksomhet, fortrinnsvis av forretnings- eiendommer.",
          "fylke": "Møre og Romsdal",
          "hjemmeside": "",
          "hjemmeside_kilde": "",
          "holding": "0",
          "kan_sms": 1,
          "kjede": "",
          "kjedesignal": "",
          "kommune": "Molde",
          "konsern": "0",
          "linkedin_firma": "",
          "mobil": "41 •• •• ••",
          "morselskap": "",
          "mva": "0",
          "navn": "Aasen & Farstad As",
          "orgform": "AS",
          "orgnr": "810059672",
          "poststed": "Eidsvåg I Romsdal",
          "status": "aktiv",
          "stiftet": "1965-06-26",
          "telefon": "71 •• •• ••",
          "telefon_type": "fast",
          "tidligere_navn": ""
        },
        "signaler": {
          "betalingsmaate_nettside": "",
          "fakturasignaler": "",
          "fakturerer_mange": 0,
          "inkassoselskap": "",
          "nettside_eposter_antall": 0,
          "regnskapssystem": ""
        },
        "status": "ok"
      }
    ]
  },
  "meta": {
    "belastet": {
      "berikelse": 2
    },
    "berikelser": {
      "brukt": 3,
      "grense": 1000,
      "igjen": 997
    },
    "plan": "gratis",
    "sok": {
      "brukt": 2,
      "grense": 100,
      "igjen": 98
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

personer

GET /v1/personer/sok

Søk daglige ledere

Spørring

qstringFritekst: firmanavn, daglig leder eller orgnr
bransjestringNæringskode-prefiks, flere med komma (69.2,85.1)
fylkestringFylke(r), flere med komma
kommunestringKommune
kundetypestringB2B | B2C | begge | offentlig
ansatte_minnumber
ansatte_maksnumber
omsetning_minnumberkr
omsetning_maksnumberkr
stiftet_minintegerår
stiftet_maksintegerår
utestaende_minnumberanslått utestående, kr
utestaende_maksnumber
kunder_minnumberanslått antall kunder
fakturaer_minnumberanslått fakturaer per år
kan_smsstringja|nei – selskapet har mobilnummer
har_dl_mobilstringja|nei
har_dl_epoststringja|nei
har_dl_linkedinstringja|nei
har_nettsidestringja|nei
har_regnskapstringja|nei
statusstringaktiv (standard) | konkurs | avvikling | tvangsavvikling | alle
registerstringja – søk i hele Enhetsregisteret (1,2 mill. enheter, bare navn/orgnr/sted/bransje) i stedet for hoveddatasettet. Treffene har dekning register og teller som søketreff.
fakturerer_mangestringja|nei – nettsida nevner purregebyr/inkasso/avtalegiro/efaktura
kjedestringja|nei
konsernstringja|nei
signalstringdelstreng i fakturasignaler: purregebyr, inkasso, avtalegiro, efaktura, ehf, abonnement
regnskapsforerstringdelstreng
revisorstringdelstreng
regnskapssystemstringdelstreng
sorterstringomsetning | ansatte | utestaende | kunder | fakturaer | nyeste | navn
antallinteger1–100, standard 25
sideintegerstandard 1
antall_kunstringja – bare tell treff. Gratis, teller ikke mot kvoten.

Svar

HTTP 200, konvolutt med resultat. resultat: {total, side, antall, treff: [{navn, tittel, orgnr, firma, bransje, fylke, kommune, ansatte, har_epost, har_mobil, har_linkedin}]}.

curl "https://firmasett.arnu.io/v1/personer/sok?bransje=43.21&fylke=Rogaland&har_mobil=ja&antall=2" \
  -H "Authorization: Bearer fs_…"
import requests

r = requests.get(
    "https://firmasett.arnu.io/v1/personer/sok",
    params={
  "bransje": "43.21",
  "fylke": "Rogaland",
  "har_mobil": "ja",
  "antall": "2"
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/personer/sok?bransje=43.21&fylke=Rogaland&har_mobil=ja&antall=2", {
  headers: { Authorization: "Bearer fs_…" },
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "antall": 2,
    "side": 1,
    "total": 209,
    "treff": [
      {
        "ansatte": "332",
        "bransje": "Elektrisk installasjonsarbeid",
        "firma": "Helgevold As",
        "fylke": "Rogaland",
        "har_epost": true,
        "har_linkedin": false,
        "har_mobil": true,
        "kommune": "Vindafjord",
        "navn": "Filippo Ballarin",
        "orgnr": "986389180",
        "tittel": "Daglig leder"
      },
      {
        "ansatte": "253",
        "bransje": "Elektrisk installasjonsarbeid",
        "firma": "Rønning Elektro As",
        "fylke": "Rogaland",
        "har_epost": false,
        "har_linkedin": false,
        "har_mobil": false,
        "kommune": "Stavanger",
        "navn": "Bård Skavland",
        "orgnr": "915581714",
        "tittel": "Daglig leder"
      }
    ]
  },
  "meta": {
    "belastet": {
      "sok": 2
    },
    "berikelser": {
      "brukt": 3,
      "grense": 1000,
      "igjen": 997
    },
    "plan": "gratis",
    "sok": {
      "brukt": 4,
      "grense": 100,
      "igjen": 96
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

POST /v1/berik/person

Berik en person (daglig leder)

Gi orgnr, eller navn + firma/domene. 1 berikelse ved treff. resultat = DagligLeder + orgnr, firma, bransje, fylke, hjemmeside.

Kropp application/json

orgnrstring
navnstring
firmastring
domenestring

Svar

HTTP 200, konvolutt med resultat.

curl -X POST "https://firmasett.arnu.io/v1/berik/person" \
  -H "Authorization: Bearer fs_…" \
  -H "Content-Type: application/json" \
  -d '{"orgnr": "810034882"}'
import requests

r = requests.post(
    "https://firmasett.arnu.io/v1/berik/person",
    json={
  "orgnr": "810034882"
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/berik/person", {
  method: "POST",
  headers: { Authorization: "Bearer fs_…", "Content-Type": "application/json" },
  body: JSON.stringify({
  "orgnr": "810034882"
}),
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "andre_selskaper": "",
    "bransje": "Elektrisk installasjonsarbeid",
    "epost": "[email protected]",
    "epost_alternativer": 0,
    "epost_grad": "E",
    "epost_kilde": "gjettet fra vanligste mønster",
    "epost_sikkerhet": "lav",
    "firma": "Sandnes Elektriske As",
    "fylke": "Rogaland",
    "har_mobil": false,
    "hjemmeside": "",
    "kan_sms": false,
    "linkedin": "",
    "linkedin_grad": "",
    "linkedin_kilde": "",
    "mobil": "",
    "mobil_grad": "",
    "mobil_kilde": "",
    "navn": "Morten Aarrestad",
    "orgnr": "810034882",
    "tittel": "Daglig leder"
  },
  "meta": {
    "belastet": {
      "berikelse": 1
    },
    "berikelser": {
      "brukt": 4,
      "grense": 1000,
      "igjen": 996
    },
    "plan": "gratis",
    "sok": {
      "brukt": 4,
      "grense": 100,
      "igjen": 96
    },
    "telefonpoeng": 5,
    "vindu": "totalt"
  }
}

epost

POST /v1/epost/finn

Finn e-post for navn på domene

Kjent adresse (grad A/B) hvis personen er daglig leder, ellers domenets bekreftede mønster (C) eller vanligste norske mønster (D) med alternativer. 1 berikelse.

Kropp application/json

fornavnstring
etternavnstring
navnstring
domenestring
orgnrstring
firmastring

Svar

HTTP 200, konvolutt med resultat.

curl -X POST "https://firmasett.arnu.io/v1/epost/finn" \
  -H "Authorization: Bearer fs_…" \
  -H "Content-Type: application/json" \
  -d '{"fornavn": "Kari", "etternavn": "Nordmann", "domene": "sandneselektriske.no"}'
import requests

r = requests.post(
    "https://firmasett.arnu.io/v1/epost/finn",
    json={
  "fornavn": "Kari",
  "etternavn": "Nordmann",
  "domene": "sandneselektriske.no"
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/epost/finn", {
  method: "POST",
  headers: { Authorization: "Bearer fs_…", "Content-Type": "application/json" },
  body: JSON.stringify({
  "fornavn": "Kari",
  "etternavn": "Nordmann",
  "domene": "sandneselektriske.no"
}),
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "alternativer": [
      "[email protected]",
      "[email protected]",
      "[email protected]"
    ],
    "domene": "sandneselektriske.no",
    "epost": "[email protected]",
    "firma": "Sandnes Elektriske As",
    "grad": "D",
    "kilde": "vanligste norske mønster, ikke bekreftet",
    "orgnr": "810034882",
    "sikkerhet": "lav"
  },
  "meta": {
    "belastet": {
      "berikelse": 1
    },
    "berikelser": {
      "brukt": 5,
      "grense": 1000,
      "igjen": 995
    },
    "plan": "gratis",
    "sok": {
      "brukt": 4,
      "grense": 100,
      "igjen": 96
    },
    "telefonpoeng": 4,
    "vindu": "totalt"
  }
}

POST /v1/epost/valider

Valider inntil 100 e-postadresser

Per adresse: syntaks, domene_svarer (MX/A), rolleadresse, fridomene, engangsdomene, kjent_i_datasettet, vurdering, grad. 1 berikelse per adresse.

Kropp application/json

eposterarray<string>Maks 100.
epoststring

Svar

HTTP 200, konvolutt med resultat.

curl -X POST "https://firmasett.arnu.io/v1/epost/valider" \
  -H "Authorization: Bearer fs_…" \
  -H "Content-Type: application/json" \
  -d '{"eposter": ["[email protected]", "[email protected]"]}'
import requests

r = requests.post(
    "https://firmasett.arnu.io/v1/epost/valider",
    json={
  "eposter": [
    "[email protected]",
    "[email protected]"
  ]
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/epost/valider", {
  method: "POST",
  headers: { Authorization: "Bearer fs_…", "Content-Type": "application/json" },
  body: JSON.stringify({
  "eposter": [
    "[email protected]",
    "[email protected]"
  ]
}),
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "antall": 2,
    "resultater": [
      {
        "domene": "sandneselektriske.no",
        "domene_svarer": true,
        "engangsdomene": false,
        "epost": "[email protected]",
        "fridomene": false,
        "grad": "A",
        "kjent_i_datasettet": {
          "firma": "Sandnes Elektriske As",
          "orgnr": "810034882"
        },
        "rolleadresse": false,
        "syntaks": true,
        "vurdering": "gyldig (kjent)"
      },
      {
        "domene": "finnes-ikke-123.no",
        "domene_svarer": false,
        "engangsdomene": false,
        "epost": "[email protected]",
        "fridomene": false,
        "grad": "E",
        "kjent_i_datasettet": null,
        "rolleadresse": true,
        "syntaks": true,
        "vurdering": "ugyldig"
      }
    ]
  },
  "meta": {
    "belastet": {
      "berikelse": 2
    },
    "berikelser": {
      "brukt": 7,
      "grense": 1000,
      "igjen": 993
    },
    "plan": "gratis",
    "sok": {
      "brukt": 4,
      "grense": 100,
      "igjen": 96
    },
    "telefonpoeng": 4,
    "vindu": "totalt"
  }
}

GET /v1/epost/omvendt

Omvendt oppslag på e-post eller domene

resultat = Selskap + treff (daglig leders adresse | selskapets domene). 1 berikelse ved treff.

Spørring

epoststring
domenestring

Svar

HTTP 200, konvolutt med resultat.

curl "https://firmasett.arnu.io/v1/epost/omvendt?domene=sandneselektriske.no" \
  -H "Authorization: Bearer fs_…"
import requests

r = requests.get(
    "https://firmasett.arnu.io/v1/epost/omvendt",
    params={
  "domene": "sandneselektriske.no"
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/epost/omvendt?domene=sandneselektriske.no", {
  headers: { Authorization: "Bearer fs_…" },
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "anslag": {
      "betaling": "faktura",
      "dager_anslag": 25,
      "fakturaer_anslag": 753,
      "kunder_anslag": 251,
      "kundetype": "begge",
      "utestaende_anslag": 857983,
      "utestaende_kilde": "bransjeanslag"
    },
    "daglig_leder": {
      "andre_selskaper": "",
      "epost": "[email protected]",
      "epost_alternativer": 0,
      "epost_grad": "E",
      "epost_kilde": "gjettet fra vanligste mønster",
      "epost_sikkerhet": "lav",
      "har_mobil": false,
      "kan_sms": false,
      "linkedin": "",
      "linkedin_grad": "",
      "linkedin_kilde": "",
      "mobil": "",
      "mobil_grad": "",
      "mobil_kilde": "",
      "navn": "Morten Aarrestad",
      "tittel": "Daglig leder"
    },
    "dekning": "full",
    "regnskap": {
      "aarsresultat": -78041,
      "aksjekapital": "2375000.0",
      "bank": "",
      "driftsresultat": -31910,
      "egenkapital": 1639483,
      "fordringer": "",
      "fordringer_andel": "",
      "kundefordringer": "",
      "lonn": "",
      "omsetning": 10021242,
      "regnskap_kilde": "eksport",
      "regnskapsaar": "2025"
    },
    "roller": {
      "daglig_leder": "Morten Aarrestad",
      "regnskapsforer": "ACCOUNT GROUP AS",
      "revisor": "ØKSENDAL REVISJON AS",
      "styreleder": "Jan Marton Aarrestad"
    },
    "selskap": {
      "adresse": "Strandgata 21",
      "ansatte": "11",
      "avdelinger": "3",
      "beskrivelse": "Enkelt, rimelig - alt elektrisk på samme sted",
      "bransje": "Elektrisk installasjonsarbeid",
      "bransje_kode": "43.210",
      "epost": "[email protected]",
      "formaal": "Drive handel, installasjons og servicevirksomhet, eller annen virksomhet forbundet med dette, samt delta i annen virksomhet.",
      "fylke": "Rogaland",
      "hjemmeside": "",
      "hjemmeside_kilde": "",
      "holding": "0",
      "kan_sms": 0,
      "kjede": "",
      "kjedesignal": "3 avdelinger",
      "kommune": "Sandnes",
      "konsern": "0",
      "linkedin_firma": "",
      "mobil": "",
      "morselskap": "",
      "mva": "1",
      "navn": "Sandnes Elektriske As",
      "orgform": "AS",
      "orgnr": "810034882",
      "poststed": "Sandnes",
      "status": "aktiv",
      "stiftet": "1977-06-15",
      "telefon": "51 •• •• ••",
      "telefon_type": "fast",
      "tidligere_navn": "SANDNES ELEKTRISKE FORRETNING AS"
    },
    "signaler": {
      "betalingsmaate_nettside": "",
      "fakturasignaler": "",
      "fakturerer_mange": 0,
      "inkassoselskap": "",
      "nettside_eposter_antall": 0,
      "regnskapssystem": ""
    },
    "treff": "domene"
  },
  "meta": {
    "belastet": {
      "berikelse": 1
    },
    "berikelser": {
      "brukt": 8,
      "grense": 1000,
      "igjen": 992
    },
    "plan": "gratis",
    "sok": {
      "brukt": 4,
      "grense": 100,
      "igjen": 96
    },
    "telefonpoeng": 4,
    "vindu": "totalt"
  }
}

telefon

POST /v1/telefon/finn

Mobilnummer til daglig leder

1 telefonpoeng per nummer levert; ikke_funnet koster ingenting. resultat: {orgnr, firma, navn, mobil, kilde, grad, sikkerhet, kan_sms, alternativer, merk}

Kropp application/json

orgnrstring
firmastring
domenestring

Svar

HTTP 200, konvolutt med resultat. Feil: 403 Ingen telefonpoeng.

curl -X POST "https://firmasett.arnu.io/v1/telefon/finn" \
  -H "Authorization: Bearer fs_…" \
  -H "Content-Type: application/json" \
  -d '{"orgnr": "923609016"}'
import requests

r = requests.post(
    "https://firmasett.arnu.io/v1/telefon/finn",
    json={
  "orgnr": "923609016"
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/telefon/finn", {
  method: "POST",
  headers: { Authorization: "Bearer fs_…", "Content-Type": "application/json" },
  body: JSON.stringify({
  "orgnr": "923609016"
}),
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "alternativer": 0,
    "firma": "Equinor Asa",
    "grad": "C",
    "kan_sms": true,
    "kilde": "annet selskap, rolle: Oslo Energy Forum Sti",
    "merk": "SMS til mobil krever samtykke etter markedsføringsloven § 15 når mottakeren er en fysisk person. Å ringe er lov.",
    "mobil": "90 •• •• ••",
    "navn": "Anders Opedal",
    "orgnr": "923609016",
    "sikkerhet": "middels"
  },
  "meta": {
    "belastet": {
      "telefon": 1
    },
    "berikelser": {
      "brukt": 4,
      "grense": 1000,
      "igjen": 996
    },
    "plan": "gratis",
    "sok": {
      "brukt": 4,
      "grense": 100,
      "igjen": 96
    },
    "telefonpoeng": 4,
    "vindu": "totalt"
  }
}

sjekk

POST /v1/sjekk

Sjekk egne kontakter mot Firmasett

Per rad: treff (person|selskap|ingen), orgnr, firma, daglig_leder, epost_status og telefon_status (lik|avviker|vi_mangler|du_mangler|begge_mangler), beste_epost med grad, har_mobil. 1 berikelse per rad med treff. Innsendte data lagres som bidrag (vilkår § 6).

Kropp application/json

raderarray<object> · påkrevdMaks 100.
  idstring
  orgnrstring
  firmastring
  domenestring
  navnstring
  epoststring
  telefonstring
  linkedinstring
  tittelstring

Svar

HTTP 200, konvolutt med resultat.

curl -X POST "https://firmasett.arnu.io/v1/sjekk" \
  -H "Authorization: Bearer fs_…" \
  -H "Content-Type: application/json" \
  -d '{"rader": [{"id": "crm-17", "orgnr": "810034882", "navn": "Morten Aarrestad", "epost": "[email protected]", "telefon": ""}]}'
import requests

r = requests.post(
    "https://firmasett.arnu.io/v1/sjekk",
    json={
  "rader": [
    {
      "id": "crm-17",
      "orgnr": "810034882",
      "navn": "Morten Aarrestad",
      "epost": "[email protected]",
      "telefon": ""
    }
  ]
},
    headers={"Authorization": "Bearer fs_…"},
)
print(r.json())
const r = await fetch("https://firmasett.arnu.io/v1/sjekk", {
  method: "POST",
  headers: { Authorization: "Bearer fs_…", "Content-Type": "application/json" },
  body: JSON.stringify({
  "rader": [
    {
      "id": "crm-17",
      "orgnr": "810034882",
      "navn": "Morten Aarrestad",
      "epost": "[email protected]",
      "telefon": ""
    }
  ]
}),
});
console.log(await r.json());
Svaret kommer her.

Eksempelsvar · HTTP 200

{
  "status": "ok",
  "resultat": {
    "antall": 1,
    "resultater": [
      {
        "ansatte": "11",
        "beste_epost": "[email protected]",
        "beste_epost_grad": "E",
        "bransje": "Elektrisk installasjonsarbeid",
        "daglig_leder": "Morten Aarrestad",
        "epost_status": "avviker",
        "firma": "Sandnes Elektriske As",
        "firma_epost": "[email protected]",
        "fylke": "Rogaland",
        "har_mobil": false,
        "hjemmeside": "",
        "id": "crm-17",
        "inn": {
          "epost": "[email protected]",
          "navn": "Morten Aarrestad",
          "orgnr": "810034882"
        },
        "kommune": "Sandnes",
        "kundetype": "begge",
        "mobil_grad": "",
        "omsetning": 10021242,
        "orgnr": "810034882",
        "sentralbord": "51685700",
        "telefon_status": "begge_mangler",
        "treff": "person"
      }
    ],
    "treff": 1
  },
  "meta": {
    "belastet": {
      "berikelse": 1
    },
    "berikelser": {
      "brukt": 9,
      "grense": 1000,
      "igjen": 991
    },
    "plan": "gratis",
    "sok": {
      "brukt": 4,
      "grense": 100,
      "igjen": 96
    },
    "telefonpoeng": 4,
    "vindu": "totalt"
  }
}

/ 09 · Kom i gang

1 000 berikelser gratis. Ingen kort.

Lag en nøkkel, koble til agenten din og still det første spørsmålet på under ett minutt.