Organizations API

Table of Contents

1 Easy Connect AS directory information API

The directory information API is Easy Connects search interface for integration in websites or applications. It searches in our complete directory of private persons and businesses in Norway. It is a multi-purpose API suited to many different use cases: directory information website, form auto-fill for e-commerce, CRM software and more.

Our own directory service at http://1890.no/ is 100% backed by our APIs.

The API is a HTTP REST API where lookups are GET queries and responses are JSON documents.

For access contact us at post@easyconnect.no or call 53 20 53 00.

1.1 Authentication

Access to the service is controlled with HTTP Basic Authentication1 and optionally limited by IP address.

In this document the following URL scheme is used: https://accountname:key@api.easyconnect.no/. The links use a demo user with the username "demo" and the API key "3505cee9f9d34b4baf59bf60dbb0f9d5". Note that this account is only to be used for demonstration purposes and has strict usage limits. To make these requests with a user agent that does not support username/password in URL set the following Authorization header:

Authorization: Basic ZGVtbzozNTA1Y2VlOWY5ZDM0YjRiYWY1OWJmNjBkYmIwZjlkNQ==

1.1.1 Account name and API key

In the notation used in RFC 7617 the account name is used as user-id and the API key as password.

Example request: https://account:key@api.easyconnect.no/

1.1.2 Password-less

Optionally the account can be configured without an API key but with access limited by IP address/subnet (IPv4 and/or IPv6).

Example request: https://account@api.easyconnect.no/

1.2 Response codes

The API responds with the following HTTP response codes:

200
OK. The request was successful.
400
Bad Request. Invalid request parameters or headers.
401
The request did not contain an Authorization header.
403
Access denied. Either the account name or key is invalid or the IP address does not have access.
404
Not Found. Requested endpoint does not exist or (for some endpoints) the requested entity does not exist.
429
Too Many Requests. Either the account has exceeded contractually defined usage limits or the API service is overloaded.
500 - 599
Internal error.

1.3 Instances

There are two public instances of the API: api.easyconnect.no and beta.api.easyconnect.no. All endpoints under these are identical, the main difference is SLA. Unless explicitly directed to by Easy Connect AS customers should use api.easyconnect.no.

Select customers with special customization, capacity or SLA requirements can get dedicated instances.

1.4 Stability

All endpoints, parameters and response structures documented in this document are considered stable. Customers will be notified about breaking changes well in advance.

Some endpoints may return more fields than what is documented. Undocumented fields may be changed or removed at any time. New fields can also be added.

2 Organizations API

The API endpoints under /organizations gives access to various sets of data about organizations: private enterprises, public sector entities, non-profit organizations and other entities registered in the Central Coordinating Register for Legal Entities (enhetsregisteret).

2.1 API endpoints

2.1.1 /organizations/{orgno}

Fetches basic official data from the official business registry for Norway. The lookup key is the official organization number (organisasjonsnummer).

Returns 404 if given an invalid or non-existent organization number.

Example: /organizations/9811765532

GET /organizations/981176553 HTTP/1.1
Host: api.easyconnect.no
Authorization: Basic ZGVtbzozNTA1Y2VlOWY5ZDM0YjRiYWY1OWJmNjBkYmIwZjlkNQ==

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "more": {
    "listings": [
      "/listings/Easy-Connect-AS"
    ],
    "organization": "/organizations/981176553",
    "organization_accounting": "/organizations/981176553/accounting",
    "organization_owners": "/organizations/981176553/owners",
    "organization_roles": "/organizations/981176553/roles"
  },
  "organization": {
    "orgno": "981176553",
    "registered": "1999-11-03",
    "established": "1999-10-01",
    "legal_name": "Easy Connect AS",
    "historical_name": "GUL NO AS",
    "institutional_sector": "2100",
    "reg_type": "01",
    "legal_form": "AS",
    "nace_1": "63.120",
    "share_capital": 9809581,
    "address": "Midtunhaugen 10",
    "zip": "5224",
    "city": "NESTTUN",
    "municipality_code": "1201",
    "country": "NO",
    "employees": 8
  }
}
Response structure
  • more/listings

    Array[String]

    This links to the Listings API. This field contains a list of API endpoint paths for listings with this organization number. Note that some organization numbers are connected to multiple listings while others are not connected to any listings.

  • orgno

    String (9 digits)

    Organization number from the national business registry.

  • registered

    Date (YYYY-MM-DD)

    Date registered in the business registry.

  • established

    Date (YYYY-MM-DD)

    Date the business or entity was established.

  • legal_name

    String

  • historical_name

    String

  • institutional_sector

    String

  • reg_type

    String

  • legal_form

    String

  • nace_1

    String

    NACE code 1 (SN/SIC 2007)3.

  • share_capital

    Number

  • address

    String

    Address.

  • zip

    String

    Address: Post code.

  • city

    String

    Address: City (poststed).

  • municipality_code

    String

    Address: Municipality code (kommunenummer). We use an extended municipality code definition from SSB that also includes regional special codes4.

  • country

    String

    Address: Country.

  • employees

    String

2.1.2 /organizations/{orgno}/accounting

Returns 404 if the organization number does not exist or does not have published company accounts.

Example: /organizations/981176553/accounting5

GET /organizations/981176553/accounting HTTP/1.1
Host: api.easyconnect.no
Authorization: Basic ZGVtbzozNTA1Y2VlOWY5ZDM0YjRiYWY1OWJmNjBkYmIwZjlkNQ==

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "accounting": {
    "2018": {
      "aksjer_samme": 0,
      ...
    }
  },
  "more": {
    "organization": "/organizations/981176553",
    "organization_accounting": "/organizations/981176553/accounting",
    "organization_owners": "/organizations/981176553/owners",
    "organization_roles": "/organizations/981176553/roles"
  }
}
Response structure

See also common more response structure.

Under /accounting the keys are years. Each year contains the accounting data for that year.

The accounting data contains a lot of fields, see 4.1.

2.1.3 /organizations/{orgno}/owners

Returns shareholders for a business. If the organization number does not exist or the organization is of a type that does not have shareholders the endpoint returns 404.

Example: /organizations/981176553/owners6

GET /organizations/981176553/owners HTTP/1.1
Host: api.easyconnect.no
Authorization: Basic ZGVtbzozNTA1Y2VlOWY5ZDM0YjRiYWY1OWJmNjBkYmIwZjlkNQ==

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "owners": [
    {
      "owned_orgno": "981176553",
      "owner_city": "STAVANGER",
      "owner_country": "NO",
      "owner_name": "Hodne Invest AS",
      "owner_orgno": "919954396",
      "owner_type": "company",
      "owner_zip": "4023",
      "registration_order": "1",
      "registration_year": "2017",
      "share_percentage": "95.41",
      "shares": "3119860.000"
    },
    {
      "owned_orgno": "981176553",
      "owner_city": null,
      "owner_country": "NO",
      "owner_name": "Stix Invest AS",
      "owner_orgno": "998264995",
      "owner_type": "company",
      "owner_zip": null,
      "registration_order": "2",
      "registration_year": "2017",
      "share_percentage": "4.38",
      "shares": "143334.000"
    },
    {
      "owned_orgno": "981176553",
      "owner_city": null,
      "owner_country": "NO",
      "owner_name": "ANDRE AKSJONÆRER",
      "owner_type": "unknown",
      "owner_zip": null,
      "registration_order": "3",
      "registration_year": "2017",
      "share_percentage": "0.20",
      "shares": "6667.000"
    }
  ],
  "more": {
    "organization": "/organizations/981176553",
    "organization_accounting": "/organizations/981176553/accounting",
    "organization_owners": "/organizations/981176553/owners",
    "organization_roles": "/organizations/981176553/roles"
  }
}
Response structure

See also common more response structure.

owners is a list of shareholders with the largest shareholders sorted first. Each entry in this list has the following structure:

  • owned_orgno
  • shares

    The exact number of shares this shareholder owns.

  • share_percentage

    The percentage of shares this shareholder owns.

  • registration_year

    String: YYYY

  • registration_order

    Integer

  • owner_type

    String: (person, company, unknown) (NOTE: subject to change, add "generic" or something to that effect)

  • owner_name

    String

  • owner_firstname (only for person)

    String

  • owner_lastname (only for person)

    String

  • owner_birthdate (only for person)

    Date: YYYY-MM-DD

  • owner_gender (male/female/null) (only for person)

    String

  • owner_orgno (only for company)

    String (9 digits)

  • owner_zip

    String

  • owner_city

    String

  • owner_country

    String

2.1.4 /organizations/{orgno}/roles

Returns information about roles. Some roles (such as chairman of the board) are physical persons, others (such as auditor) are companies. Some can be either. If the organization number does not exist or the organization is of a type that do not have any registered roles the endpoint returns 404.

Example: /organizations/981176553/roles7

GET /organizations/981176553/roles HTTP/1.1
Host: api.easyconnect.no
Authorization: Basic ZGVtbzozNTA1Y2VlOWY5ZDM0YjRiYWY1OWJmNjBkYmIwZjlkNQ==

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "roles": [
    {
      "address": "Kanalveien 7",
      "city": "BERGEN",
      "name": "AZETS INSIGHT AS",
      "orgno": "983338917",
      "role": "REGN",
      "title": "Regnskapsfører",
      "zip": "5068"
    },
    {
      "address": "Munkedamsveien 45A",
      "city": "OSLO",
      "name": "BDO AS",
      "orgno": "993606650",
      "role": "REVI",
      "title": "Revisor",
      "zip": "0250"
    },
    {
      "address": "Fanahammeren 132 A",
      "city": "FANA",
      "gender": "male",
      "name": "Ove Johan Kvamme",
      "role": "DAGL",
      "title": "Daglig leder",
      "zip": "5244"
    },
    {
      "address": "Ulsberghagen 4",
      "city": "STAVANGER",
      "gender": "male",
      "name": "Tor Johan Finne",
      "role": "LEDE",
      "title": "Styrets leder",
      "zip": "4034"
    },
    {
      "address": "Gustav Vigelands Vei 64",
      "city": "STAVANGER",
      "gender": "male",
      "name": "Rolf Smedvig Hodne",
      "role": "MEDL",
      "title": "Styremedlem",
      "zip": "4023"
    },
    {
      "address": "Verven 12 C",
      "city": "STAVANGER",
      "gender": "male",
      "name": "Stein Indseth Modahl",
      "role": "MEDL",
      "title": "Styremedlem",
      "zip": "4014"
    }
  ],
  "more": {
    "organization": "/organizations/981176553",
    "organization_accounting": "/organizations/981176553/accounting",
    "organization_owners": "/organizations/981176553/owners",
    "organization_roles": "/organizations/981176553/roles"
  }
}
Response structure

See also common more response structure.

roles is a list of roles in no particular order. Each entry in this list has the following structure:

  • title

    String

    The title for this role

  • role

    String

    The role code

  • name

    String

  • gender

    String

  • address

    String

  • zip

    String

  • city

    String

  • orgno

    String (9 digits)

2.2 Common more response structure

organization, organization_accounting, organization_owners and organization_roles link to the same entity in their respective endpoints. This is done to aid discovery and to make it easier to write clients that collect data from several endpoints.

3 Document version

Version: 926a6 2018-12-11

4 Appendix

4.1 Accounting fields

For now this is only documented in Norwegian. The field lists are not complete, contact us if you want more details.

4.1.1 Nøkkeltall

  • totalkapital_rentabilitet

    Totalkapitalrentabilitet

    \(kapital = sum\_egenkap + sum\_langs\_gjeld + sum\_korts\_gjeld + sum\_avsetn\_forpl\)

    \(\dfrac{res\_f\_skatt - finans\_kostnad}{(kapital_{dette} + kapital_{forrige})/2} * 100\)

  • totalkapital_rentabilitet_2

    Totalkapitalrentabilitet (siste år)

    \(kapital = sum\_egenkap + sum\_langs\_gjeld + sum\_korts\_gjeld + sum\_avsetn\_forpl\)

    \(\dfrac{res\_f\_skatt - finans\_kostnad}{kapital} * 100\)

  • resultat_grad

    Resultatgrad

    \(\dfrac{drifts\_res}{sum\_drinnt} * 100\)

  • likvid_grad1

    Likviditetsgrad I

    \(\dfrac{sum\_oml}{sum\_korts\_gjeld}\)

  • likvid_grad2

    Likviditetsgrad II

    \(\dfrac{sum\_oml - varebeholdning}{sum\_korts\_gjeld}\)

  • soliditet

    Soliditet/egenkapitalandel

    \(\dfrac{sum\_egenkap}{sum\_anlegg + sum\_omlop} * 100\)

  • gjeldsgrad

    Gjeldsgrad

    \(\dfrac{sum\_langs\_gjeld + sum\_avsetn\_forpl + sum\_korts\_gjeld}{sum\_egenkap}\)

4.1.2 Resultatregnskap

  • salgs_innt

    Salgsinntekter

  • andre_innt

    Andre driftsinntekter

  • sum_drinnt

    Sum driftsinntekter

  • beholdn_vare

    Beholdningsendringer

  • vare_kost

    Varekostnad

  • lonn

    Lønnskostnader

  • av_skriv

    Avskrivninger

  • ned_skriv

    Nedskrivninger

  • tap_fordr

    Tap på fordringer

  • andre_drkost

    Andre driftskostnader

  • driftskostnader

    Sum driftskostnader

  • drifts_res

    Driftsresultat

  • innt_inv_datter

    Inntekter investert i datterselskap

  • innt_inv_tilkn

    Inntekter investert i tilknyttede selskaper

  • innt_inv_annet

    Inntekter investert i annet selskap

  • renteinnt_samme

    Renteinntekter fra foretak i samme konsert

  • annen_renteinnt

    Annen renteinntekt

  • annen_fin_innt

    Annen finansinntekt

  • verdiendr

    Verdiendringer (positive summeres i finansinntekter, negative i finanskostnader)

  • finans_inntekt

    Sum finansinntekter

  • nedskriv_omlop

    Nedskrivning av finansielle omløpsmidler

  • nedskriv_anlegg

    Nedskriving av finansielle anleggsmidler

  • rentekost_samme

    Rentekostnader foretak samme konsern

  • annen_rentekost

    Annen rentekostnad

  • fin_kost

    Annen finanskostnad

  • finans_kostnad

    Sum finanskostnader

  • finans_sum

    Sum finans

  • res_f_skatt

    Resultat før skatt

  • skatt_ord

    Skattekostnad på ord. res.

  • ord_res

    Ordinært resultat

  • eks_innt

    Ekstraordinære inntekter

  • eks_kost

    Ekstraordinære kostnader

  • skatt_eks

    Skatt på ekstraordinært resultat

  • res_e_skatt

    Resultat etter skatt

  • kon_bidr

    Konsernbidrag

  • utbytte

    Avsatt utbytte

4.1.3 Balanseregnskap

  • goodwil

    Goodwill

  • fou_spes

    Forskning og utvikling

  • konsesj_p

    Konsesjoner, patenter, lisenser, rettigheter, varemerker o.l.

  • uts_skatt

    Utsatt skattefordel

  • sum_immatriell

    Sum immaterielle eiendeler

  • eiendom

    Fast eiendom, tomter og bygninger

  • maskin

    Maskiner og anlegg

  • skip_rigg_fly

    Skip, rigger, fly o.l

  • drift_inv_verk

    Inventar, verktøy o.l

  • sum_varige_drift

    Sum varige driftsmidler

  • innvest_i_datter

    Investeringer i datterselskap

  • innvest_i_annet

    Investeringer i annet foretak i samme konsern

  • laan_samme

    Lån til foretak samme konsern

  • innvest_i_tilkn

    Investeringer i tilknyttede selskap

  • laan_tilkn

    Lån til tilknyttede selskap

  • innvest_i_aksjer

    Investeringer i aksjer og andeler

  • obligasjoner

    Obligasjoner og andre fordringer

  • pensjonsmidler

    Pensjonsmidler

  • andre_anlegg

    Andre anleggsmidler

  • sum_finansielle

    Sum finansielle anleggsmidler

  • sum_anlegg

    Sum anleggsmidler

  • kunde_fordr

    Kundefordringer

  • andre_fordr

    Andre fordringer

  • konsern_fordr

    Konsernfordringer

  • krav_aksjekap

    Krav på innbetaling av aksjekapital

  • sum_fordringer

    Sum fordringer

  • aksjer_samme

    Aksjer i foretak samme konsern

  • marked_aksjer

    Markedsbaserte aksjer

  • marked_obliga

    Markedsbaserte obligasjoner

  • marked_finans

    Markedsbaserte finansielle instrumenter

  • andre_finans

    Andre finansielle instrumenter

  • sum_invest

    Sum investeringer

  • varebeholdning

    Varebeholdning

  • kasse

    Kasse/bank

  • andre_oml

    Andre omløpsmidler

  • sum_oml

    Sum omløpsmidler

  • sum_eiendeler

    Sum eiendeler

  • selskapskapital

    Selskapskapital

  • egne_aksjer

    Egne aksjer

  • overkursfond

    Overkursfond

  • annen_innsk_egenk

    Annen innskutt egenkapital

  • sum_innsk_egenk

    Sum innskutt egenkapital

  • fond_vurdering

    Fond for vurderingsforskjeller

  • reserve_fond

    Reserve fond

  • annen_egenkap

    Annen egenkapital

  • sum_opptj_egenkap

    Sum opptjent egenkapital

  • sum_egenkap

    Sum egenkapital

  • pensjonsforpl

    Pensjonsforpliktelser

  • utsatt_skatt

    Utsatt skatt

  • andre_avsetn

    Andre avsetninger for forpliktelser

  • sum_avsetn_forpl

    Sum avsetninger for forpliktelser

  • konv_laan_lang

    Langsiktige konvertible lån

  • obligasjonslaan

    Obligasjonslån

  • gjeld_kreditt_lang

    Langsiktig gjeld til kredittinstitusjoner

  • ansv_laan

    Ansvarlig lånekapital

  • konserngjeld_lang

    Langsiktig konserngjeld

  • ovr_langs_gjeld

    Øvrig langsiktig gjeld

  • sum_langs_gjeld

    Sum langsiktig gjeld

  • konv_laan_kort

    Kortsiktige konvertible lån

  • sertifikatlaan

    Sertifikatlån

  • gjeld_kreditt

    Kortsiktig gjeld til kredittinstitusjoner

  • lever_gjeld

    Leverandørgjeld

  • betalbar_skatt

    Betalbar skatt

  • skyldig_off_avg

    Skyldig offentlige avgifter

  • utbytte_gjeld

    Utbytte

  • konserngjeld_kort

    Kortsiktig konserngjeld

  • kassekreditt

    Kassekredittgjeld

  • annen_korts_gjeld

    Annen kortsiktig gjeld

  • sum_korts_gjeld

    Sum kortsiktig gjeld

  • sum_gjeld

    Sum gjeld

  • totalkapital

    Sum gjeld egenkapital

Footnotes: