API reference

Exceptions

class brreg.BrregError

Top-level exception.

All exceptions raised by the brreg library are subclasses of this exception.

class brreg.BrregRestError(msg, *, method, url, status_code)

REST API exception.

Enhetsregisteret

Client

class brreg.enhetsregisteret.Client

Client for the Enhetregisteret API.

Ensures that HTTP connections are reused across requests.

It can be used as a context manager:

with Client() as client:
    enhet = client.get_enhet("915501680")

Or by manually opening and closing the client:

client = Client()
enhet = client.get_enhet("915501680")
client.close()
open()

Prepare the client for use.

This is called automatically when the client is created.

Return type:

None

close()

Close the client and any open HTTP connections.

This is called automatically if the client is used as a context manager.

Return type:

None

get_enhet(organisasjonsnummer)

Get Enhet given an organization number.

Return type:

Enhet | None

get_underenhet(organisasjonsnummer)

Get Underenhet given an organization number.

Return type:

Underenhet | None

get_roller(organisasjonsnummer)

Get a list of RolleGruppe given an organization number.

Return type:

list[RolleGruppe]

search_enhet(query)

Search for Enhet that matches the given query.

Parameters:

query (EnhetQuery) – The search query.

Return type:

Cursor[Enhet, EnhetQuery]

search_underenhet(query)

Search for Underenhet that matches the given query.

Parameters:

query (UnderenhetQuery) – The search query.

Return type:

Cursor[Underenhet, UnderenhetQuery]

Query objects

class brreg.enhetsregisteret.Query(**data)

The fields here are available on all queries.

sort: Literal['ASC', 'DESC'] | None

Sortering av resultatsett

size: Annotated[int, Gt(gt=0)] | None

Sidestørrelse

page: Annotated[int, Ge(ge=0)] | None

Sidenummer

class brreg.enhetsregisteret.EnhetQuery(**data)

The query type for enhet search.

navn: str | None

Enhetens navn

organisasjonsnummer: join, return_type=str, when_used=json)]

Organisasjonsnummeret til enheten

overordnet_enhet: <lambda>, json_schema_input_type=PydanticUndefined), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=9), MaxLen(max_length=9), _PydanticGeneralMetadata(pattern='^\\d{9}$')])] | None

Organisasjonsnummeret til enhetens overordnede enhet

fra_antall_ansatte: Annotated[int, Ge(ge=0)] | None

Minste antall ansatte hos enheten

til_antall_ansatte: Annotated[int, Ge(ge=0)] | None

Største antall ansatte hos enheten

konkurs: bool | None

Hvorvidt enheten er registrert som konkurs

registrert_i_mvaregisteret: bool | None

Hvorvidt enheten er registrert i Mva-registeret

registrert_i_foretaksregisteret: bool | None

Hvorvidt enheten er registrert i Foretaksregisteret

registrert_i_stiftelsesregisteret: bool | None

Hvorvidt enheten er registrert i Stiftelsesregisteret

registrert_i_frivillighetsregisteret: bool | None

Hvorvidt enheten er registrert i Frivillighetsregisteret

frivillig_registrert_i_mvaregisteret: Annotated[list[str], PlainSerializer(func=join, return_type=str, when_used=json)]

Frivillig registrert i Merverdiavgiftsregisteret

under_tvangsavvikling_eller_tvangsopplosning: bool | None

Hvorvidt enheten er registrert som under tvangsavvikling eller tvangsoppløsning

under_avvikling: bool | None

Hvorvidt enheten er registrert som under avvikling

fra_registreringsdato_enhetsregisteret: date | None

Tidligste registreringsdato i Enhetsregisteret

til_registreringsdato_enhetsregisteret: date | None

Seneste registreringsdato i Enhetsregisteret

fra_stiftelsesdato: date | None

Tidligste stiftelsesdato for enheten

til_stiftelsesdato: date | None

Seneste stiftelsesdato for enheten

organisasjonsform: Annotated[list[str], PlainSerializer(func=join, return_type=str, when_used=json)]

Enhetens organisasjonsform

hjemmeside: str | None

Enhetens hjemmeside

institusjonell_sektorkode: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4), _PydanticGeneralMetadata(pattern='^\\d{4}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Enhetens institusjonelle sektorkode

postadresse_kommunenummer: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4), _PydanticGeneralMetadata(pattern='^\\d{4}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Kommunenummer til enhetens postadresse

postadresse_postnummer: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4), _PydanticGeneralMetadata(pattern='^\\d{4}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Postnummeret til enhetens postadresse

postadresse_poststed: str | None

Poststedet til enhetens postadresse

postadresse_landkode: Annotated[list[str], PlainSerializer(func=join, return_type=str, when_used=json)]

Landkode til enhetens postadresse

postadresse_adresse: str | None

Adresse til enhetens postadresse

kommunenummer: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4), _PydanticGeneralMetadata(pattern='^\\d{4}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Kommunenummer til enhetens forretningsadresse

forretningsadresse_postnummer: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4), _PydanticGeneralMetadata(pattern='^\\d{4}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Postnummeret til enhetens forretningsadresse

forretningsadresse_poststed: str | None

Poststedet til enhetens forretningsadresse

forretningsadresse_landkode: Annotated[list[str], PlainSerializer(func=join, return_type=str, when_used=json)]

Landkode til enhetens forretningsadresse

forretningsadresse_adresse: str | None

Adresse til enhetens forretningsadresse

naeringskode: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=6), MaxLen(max_length=6), _PydanticGeneralMetadata(pattern='^\\d{2}\\.\\d{3}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Enhetens næringskode

siste_innsendte_aarsregnskap: Annotated[list[str], PlainSerializer(func=join, return_type=str, when_used=json)]

Årstall for siste innsendte årsregnskap for enheten

class brreg.enhetsregisteret.UnderenhetQuery(**data)

The query type for underenhet search.

navn: str | None

Underenhetens navn

organisasjonsnummer: join, return_type=str, when_used=json)]

Organisasjonsnummeret til underenheten

overordnet_enhet: <lambda>, json_schema_input_type=PydanticUndefined), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=9), MaxLen(max_length=9), _PydanticGeneralMetadata(pattern='^\\d{9}$')])] | None

Organisasjonsnummeret til underenhetens overordnede enhet

fra_antall_ansatte: Annotated[int, Gt(gt=0)] | None

Minste antall ansatte hos underenheten

til_antall_ansatte: Annotated[int, Gt(gt=0)] | None

Største antall ansatte hos underenheten

registrert_i_mvaregisteret: bool | None

Hvorvidt underenheten er registrert i Mva-registeret

fra_registreringsdato_enhetsregisteret: date | None

Tidligste registreringsdato i Enhetsregisteret

til_registreringsdato_enhetsregisteret: date | None

Seneste registreringsdato i Enhetsregisteret

fra_oppstartsdato: date | None

Tidligste oppstartsdato for enheten

til_oppstartsdato: date | None

Seneste oppstartsdato for enheten

fra_dato_eierskifte: date | None

Tidligste registreringsdato for eierskifte

til_dato_eierskifte: date | None

Seneste registreringsdato for eierskifte

fra_nedleggelsesdato: date | None

Tidligste nedleggelsesdato for enheten

til_nedleggelsesdato: date | None

Seneste nedleggelsesdato for enheten

organisasjonsform: Annotated[list[str], PlainSerializer(func=join, return_type=str, when_used=json)]

Underenhetens organisasjonsform

hjemmeside: str | None

Enhetens hjemmeside

postadresse_kommunenummer: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4), _PydanticGeneralMetadata(pattern='^\\d{4}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Kommunenummer til underenhetens postadresse

postadresse_postnummer: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4), _PydanticGeneralMetadata(pattern='^\\d{4}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Postnummeret til underenhetens postadresse

postadresse_poststed: str | None

Poststedet til underenhetens postadresse

postadresse_landkode: Annotated[list[str], PlainSerializer(func=join, return_type=str, when_used=json)]

Landkode til underenhetens postadresse

postadresse_adresse: str | None

Adresse til underenhetens postadresse

kommunenummer: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4), _PydanticGeneralMetadata(pattern='^\\d{4}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Kommunenummer til enhetens beliggenhetsadresse

beliggenhetsadresse_postnummer: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=4), MaxLen(max_length=4), _PydanticGeneralMetadata(pattern='^\\d{4}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Postnummeret til enhetens beliggenhetsadresse

beliggenhetsadresse_poststed: str | None

Poststedet til enhetens beliggenhetsadresse

beliggenhetsadresse_landkode: Annotated[list[str], PlainSerializer(func=join, return_type=str, when_used=json)]

Landkode til enhetens beliggenhetsadresse

beliggenhetsadresse_adresse: str | None

Adresse til enhetens beliggenhetsadresse

naeringskode: Annotated[list[Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=6), MaxLen(max_length=6), _PydanticGeneralMetadata(pattern='^\\d{2}\\.\\d{3}$')])]], PlainSerializer(func=join, return_type=str, when_used=json)]

Underenhetens næringskode

Pagination objects

class brreg.enhetsregisteret.Cursor(operation, query, page)

Cursor for iterating over multiple pages of items.

page_numbers: range

Iterate over all page numbers in this cursor.

get_page(page_number)

Get a page by its 0-indexed page number.

Return type:

Page | None

property pages: Iterator[Page]

Iterator over all pages in this cursor.

property items: Iterator[T]

Iterator over all items in this cursor.

class brreg.enhetsregisteret.Page(**data)

The fields here are available on all page objects.

items: list[T]

The items on this page.

page_size: int

The number of elements on this page.

page_number: int

The page number, starting at 0.

total_elements: int

The total number of elements available.

total_pages: int

The total number of pages available.

class brreg.enhetsregisteret.EnhetPage(**data)

Response type for enhet search.

items: list[Enhet]

The items on this page.

class brreg.enhetsregisteret.UnderenhetPage(**data)

Response type for underenhet search.

items: list[Underenhet]

The items on this page.

Response objects

class brreg.enhetsregisteret.Enhet(**data)

Enhet på øverste nivå i registreringsstrukturen i Enhetsregisteret.

Eksempelvis enkeltpersonforetak, foreninger, selskap, sameier og andre som er registrert i Enhetsregisteret. Identifiseres med organisasjonsnummer.

organisasjonsnummer: str

Organisasjonsnummer

navn: str

Navn

organisasjonsform: Organisasjonsform

Organisasjonsform

hjemmeside: str | None

Hjemmeside

postadresse: Adresse | None

Enhetens postadresse

registreringsdato_enhetsregisteret: <lambda>, json_schema_input_type=PydanticUndefined)]

Registreringsdato i Enhetsregisteret

registrert_i_mvaregisteret: bool | None

Hvorvidt enheten er registrert i MVA-registeret

frivillig_mva_registrert_beskrivelser: list[str]

Enheter som i utgangspunktet ikke er mva-pliktig, kan søke om frivillig registrering i Merverdiavgiftsregisteret

naeringskode1: Naering | None

Næringskode 1

naeringskode2: Naering | None

Næringskode 2

naeringskode3: Naering | None

Næringskode 3

hjelpeenhetskode: Naering | None

Hjelpeenhetskode

antall_ansatte: int | None

Antall ansatte

har_registrert_antall_ansatte: bool | None

Angir om enheten har registrert ansatte

overordnet_enhet: str | None

Organisasjonsnummeret til overordnet enhet i offentlig sektor

forretningsadresse: Adresse | None

Forretningsadresse

stiftelsesdato: <lambda>, json_schema_input_type=PydanticUndefined)]

Stiftelsesdato

institusjonell_sektorkode: InstitusjonellSektor | None

Sektorkode

registrert_i_foretaksregisteret: bool | None

Hvorvidt enheten er registrert i Foretaksregisteret

registrert_i_stiftelsesregisteret: bool | None

Hvorvidt enheten er registrert i Stiftelsesregisteret

registrert_i_frivillighetsregisteret: bool | None

Hvorvidt enheten er registrert i Frivillighetsregisteret

siste_innsendte_aarsregnskap: int | None

År for siste innsendte årsregnskap

konkurs: bool | None

Hvorvidt enheten er konkurs

konkursdato: <lambda>, json_schema_input_type=PydanticUndefined)]

Kjennelsesdato for konkursen

under_avvikling: bool | None

Hvorvidt enheten er under avvikling

under_tvangsavvikling_eller_tvangsopplosning: bool | None

Hvorvidt enheten er under tvangsavvikling eller tvangsoppløsning

maalform: str | None

Målform

vedtektsdato: <lambda>, json_schema_input_type=PydanticUndefined)]

Enhetens vedtektsdato

vedtektsfestet_formaal: list[str]

Enhetens formål

aktivitet: list[str]

Enhetens aktivitet

slettedato: <lambda>, json_schema_input_type=PydanticUndefined)]

Dato under-/enheten ble slettet

class brreg.enhetsregisteret.Underenhet(**data)

Enhet på laveste nivå i registreringsstrukturen i Enhetsregisteret.

En underenhet kan ikke eksistere alene og har alltid knytning til en hovedenhet. Identifiseres med organisasjonsnummer.

organisasjonsnummer: str

Underenhetens organisasjonsnummer

navn: str

Underenhetens navn

organisasjonsform: Organisasjonsform

Underenhetens organisasjonsform

hjemmeside: str | None

Underenhetens hjemmeside

postadresse: Adresse | None

Underenhetens postadresse

registreringsdato_enhetsregisteret: <lambda>, json_schema_input_type=PydanticUndefined)]

Underenhetens registreringsdato i Enhetsregisteret

registrert_i_mvaregisteret: bool | None

Hvorvidt underenheten er registrert i MVA-registeret

frivillig_mva_registrert_beskrivelser: list[str]

Underenheter som i utgangspunktet ikke er mva-pliktig, kan søke om frivillig registrering i Merverdiavgiftsregisteret

naeringskode1: Naering | None

Næringskode 1

naeringskode2: Naering | None

Næringskode 2

naeringskode3: Naering | None

Næringskode 3

hjelpeenhetskode: Naering | None

Hjelpeenhetskode

antall_ansatte: int | None

Antall ansatte

har_registrert_antall_ansatte: bool | None

Angir om enheten har registrert ansatte

overordnet_enhet: str | None

Underenhetens overordnede enhet

beliggenhetsadresse: Adresse | None

Underenhetens beliggenhetsadresse

oppstartsdato: <lambda>, json_schema_input_type=PydanticUndefined)]

Underenhetens oppstartsdato

dato_eierskifte: <lambda>, json_schema_input_type=PydanticUndefined)]

Underenhetens dato for eierskifte

nedleggelsesdato: <lambda>, json_schema_input_type=PydanticUndefined)]

Nedleggelsesdato for underenheten

slettedato: <lambda>, json_schema_input_type=PydanticUndefined)]

Dato under-/enheten ble slettet

class brreg.enhetsregisteret.Adresse(**data)
adresse: list[str | None]

Adresse

postnummer: str | None

Postnummer

poststed: str | None

Poststed

kommunenummer: str | None

Kommunenummer

kommune: str | None

Kommune

landkode: str | None

Landkode

land: str | None

Land

class brreg.enhetsregisteret.InstitusjonellSektor(**data)
kode: str | None

Sektorkoden

beskrivelse: str | None

Tekstlig beskrivelse av sektorkoden

class brreg.enhetsregisteret.Naering(**data)

Næringskode.

Næringskoden skal vise virksomhetens hovedaktivitet, og den skal primært dekke statistiske behov for Statistisk sentralbyrå (SSB).

kode: str | None

Næringskoden

beskrivelse: str | None

Tekstlig beskrivelse av næringskoden

class brreg.enhetsregisteret.Organisasjonsform(**data)

Organisasjonsform er virksomhetens formelle organisering.

Organisasjonsform gir retningslinjer overfor blant annet ansvarsforhold, skatt, revisjonsplikt, rettigheter og plikter.

kode: str

Organisasjonsformen

beskrivelse: str

Tekstlig beskrivelse av organisasjonsformen

utgaatt: <lambda>, json_schema_input_type=PydanticUndefined)]

Dato når organisasjonsformen evt. ble ugyldig

class brreg.enhetsregisteret.RollerResponse(**data)
rollegrupper: list[RolleGruppe]

Liste med rollegrupper knyttet til enheten

class brreg.enhetsregisteret.RolleGruppe(**data)
type: RolleGruppeType

Rollegruppetype, og beskrivelse av typen

sist_endret: date

Dato for siste endring

roller: list[Rolle]

Liste med alle rollene i gruppen

class brreg.enhetsregisteret.RolleGruppeType(**data)
kode: str

Kode for rollegruppetype

beskrivelse: str

Beskrivelse av rollegruppetypen

class brreg.enhetsregisteret.Rolle(**data)
type: RolleType

Rolletype, og beskrivelse av typen

person: RollePerson | None

Person som innehar rollen

enhet: RolleEnhet | None

Enhet som innehar rollen

avregistrert: bool

Hvorvidt rollen er avregistrert

ansvarsandel: str | None

Rollens ansvarsandel for selskapets forpliktelser, i brøk eller prosent

valgt_av: RolleType | None

Kode og beskrivelse av hvem rollen representerer (ikke innehaver)

rekkefolge: int | None

Rekkefølgen på rollen i gruppen

class brreg.enhetsregisteret.RolleType(**data)
kode: str

Kode for rolletype

beskrivelse: str

Beskrivelse av rolletypen

class brreg.enhetsregisteret.RollePerson(**data)
fodselsdato: date

Personens fødselsdato

navn: RollePersonNavn

Personens fulle navn

er_doed: bool

Hvorvidt personen er død

class brreg.enhetsregisteret.RollePersonNavn(**data)
fornavn: str

Personens fornavn

mellomnavn: str | None

Personens mellomnavn

etternavn: str

Personens etternavn

class brreg.enhetsregisteret.RolleEnhet(**data)
organisasjonsnummer: str

Unik id-nummer tilhørende enheten

organisasjonsform: Organisasjonsform

Organisasjonsformen til enheten

navn: list[str]

Enhetens navn

er_slettet: bool

Hvorvidt enheten er slettet