Get aggregated BRF data by registration number
curl --request GET \
--url https://lens-api.tic.io/brf/by-registration-number/{registrationNumber} \
--header 'x-api-key: <api-key>'import requests
url = "https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"companyId": 123,
"registrationNumber": "<string>",
"legalName": "<string>",
"purpose": "<string>",
"registrationDate": "2023-11-07T05:31:56Z",
"isCeased": true,
"ceasedDate": "2023-11-07T05:31:56Z",
"registeredOfficeMunicipalityCode": "<string>",
"registeredOfficeCountyCode": "<string>",
"sniCodes2007": "<string>",
"sniCodes2025": "<string>",
"isRegisteredForVAT": true,
"isRegisteredForFTax": true,
"isRegisteredForPayroll": true,
"hasAuditor": true,
"debtBalanceKr": 123,
"paymentDefaultsCount": 123,
"lastActivityStatus": "reorganizationOfBusinessCommenced",
"lastStatusType": "reorganizationOfBusinessCommenced",
"lastStatusDate": "2023-11-07T05:31:56Z",
"lastStatusDescription": "<string>",
"mailingAddress": {
"street": "<string>",
"postalCode": "<string>",
"city": "<string>",
"countryCodeAlpha3": "<string>",
"careOf": "<string>"
},
"visitingAddress": {
"street": "<string>",
"postalCode": "<string>",
"city": "<string>",
"countryCodeAlpha3": "<string>",
"careOf": "<string>"
},
"properties": [
{
"propertyObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"propertyDesignation": "<string>",
"registerArea": "<string>",
"trakt": "<string>",
"block": "<string>",
"countyCode": "<string>",
"municipalityCode": "<string>",
"totalArea": 123,
"registrationDate": "2023-11-07T05:31:56Z",
"grantedShareNumerator": 123,
"grantedShareDenominator": 123,
"landTenureType": "lagfart",
"mortgageSumKr": 123,
"mortgageCount": 123,
"latestTaxationValueKr": 123,
"latestTaxationYear": 123,
"propertyTypeCode": 123,
"propertyTypeDescription": "<string>",
"isJointlyTaxed": true
}
],
"addresses": [
{
"propertyObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"addressObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"addressPlaceObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"buildingObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"buildingHouseNumber": "<string>",
"streetName": "<string>",
"streetType": "gatuadressomrade",
"streetNumber": "<string>",
"streetLetterSuffix": "<string>",
"streetPositionSuffix": "<string>",
"streetPositionSuffixNumber": 123,
"postalCode": 123,
"postalCity": "<string>",
"municipalityCode": "<string>",
"municipalityName": "<string>",
"buildingPartsArea": 123,
"buildingPartsResidentialArea": 123,
"registeredResidentsCount": 123,
"latitude": 123,
"longitude": 123,
"formattedAddress": "<string>",
"apartments": [
{
"apartmentNumber": "<string>",
"numberOfRooms": 123
}
]
}
],
"financials": [
{
"report": {
"arrivalDate": "2023-11-07T05:31:56Z",
"ruleset": "<string>",
"code": "<string>",
"periodStart": "2023-11-07T05:31:56Z",
"periodEnd": "2023-11-07T05:31:56Z",
"annualGeneralMeetingDate": "2023-11-07T05:31:56Z",
"lastSignatureDate": "2023-11-07T05:31:56Z",
"auditorFullName": "<string>",
"auditCompanyName": "<string>",
"hasAuditorRemark": true,
"createdFromComparativeFigures": true,
"isInterimReport": true,
"isConsolidatedAccounts": true,
"isExchange": true
},
"incomeStatement": {
"netSales": 123,
"changeInInventoriesAndWorkInProgress": 123,
"workPerformedAndCapitalized": 123,
"otherOperatingIncome": 123,
"sumOperatingIncome": 123,
"rawMaterialsAndConsumables": 123,
"goodsForResale": 123,
"otherExternalCosts": 123,
"personnelCosts": 123,
"depreciationAmortisationIntangibleTangible": 123,
"depreciationAssetsBeyondNormal": 123,
"otherOperatingExpenses": 123,
"sumOperatingExpenses": 123,
"operatingProfitOrLoss": 123,
"profitOrLossParticipationsInGroup": 123,
"profitOrLossAssociatedCompanies": 123,
"profitOrLossCompaniesOwnershipInterest": 123,
"profitOrLossOtherFinancialFixedAssets": 123,
"otherInterestIncomeAndSimilar": 123,
"amortisationFinancialFixedAssetsAndCurrentInvestments": 123,
"interestExpensesAndSimilar": 123,
"sumFinancialItems": 123,
"profitAfterFinancialItems": 123,
"madeGroupContributions": 123,
"receivedGroupContributions": 123,
"changeAccrualFundReversal": 123,
"changeAccrualFundDeposition": 123,
"changeExcessDepreciation": 123,
"appropriations": 123,
"resultBeforeTaxes": 123,
"tax": 123,
"profitOrLoss": 123
},
"balanceSheet": {
"concessionsPatentRights": 123,
"goodwill": 123,
"sumIntangibleFixedAssets": 123,
"plantMachineryAndEquipment": 123,
"equipmentToolsFixturesAndFittings": 123,
"landsAndBuildings": 123,
"improvementExpensesElseProperty": 123,
"ongoingNewFacilitiesAndAdvancesTangibleFixedAssets": 123,
"otherTangibleFixedAssets": 123,
"sumTangibleFixedAssets": 123,
"participationsInGroup": 123,
"participationsInAssociatedCompanies": 123,
"ownershipInterestInOtherCompanies": 123,
"otherLongTermSecurities": 123,
"loansToPartnersOrRelatedParties": 123,
"sumFinancialFixedAssets": 123,
"sumTotalFixedAssets": 123,
"inventoriesRawMaterialsAndSupplies": 123,
"stockReadyFinishedGoods": 123,
"advancePaymentsSuppliers": 123,
"sumInventoriesWorkInProgressAdvancePayments": 123,
"accruedExpensesPrepaidIncome": 123,
"accountsReceivable": 123,
"groupCompaniesReceivable": 123,
"associatedCompaniesReceivable": 123,
"earnedNotInvoicedRevenue": 123,
"otherCurrentReceivables": 123,
"sumCurrentReceivables": 123,
"longTermGroupReceivables": 123,
"longTermAssociatedCompaniesReceivables": 123,
"otherLongTermReceivables": 123,
"otherCurrentInvestments": 123,
"sumCurrentInvestments": 123,
"cashAndCashEquivalents": 123,
"cashAndCashEquivalentsExcl": 123,
"totalCurrentAssets": 123,
"totalAssets": 123,
"shareCapital": 123,
"sharePremiumReserve": 123,
"revaluationReserve": 123,
"accrualFund": 123,
"sumUntaxedReserves": 123,
"sumRestrictedEquity": 123,
"accumulatedProfit": 123,
"profitForTheYear": 123,
"sumTotalUnrestrictedEquity": 123,
"sumEquity": 123,
"longTermLiabilitiesGroup": 123,
"longTermLiabilitiesBondLoan": 123,
"longTermLiabilitiesOverdraftFacility": 123,
"longTermLiabilitiesToCreditInstitutions": 123,
"otherLongTermLiabilities": 123,
"sumLongTermLiabilities": 123,
"totalEquityAndLiabilities": 123,
"shortTermLiabilitiesOverdraftFacility": 123,
"shortTermLiabilitiesToCreditInstitutions": 123,
"accountsPayable": 123,
"advancePaymentsFromCustomers": 123,
"shortTermLiabilitiesGroup": 123,
"shortTermLiabilitiesTaxes": 123,
"otherShortTermLiabilities": 123,
"sumShortTermLiabilities": 123
},
"notes": {
"numberOfEmployees": 123,
"numberOfEmployeesMen": 123,
"numberOfEmployeesFemale": 123,
"interestExpenses": 123,
"floatingCharges": 123,
"propertyMortgages": 123,
"sumSecurities": 123,
"bankOverdraftFacilityGranted": 123,
"contingentLiabilities": 123,
"securitiesWithReservationOfOwnership": 123,
"securitiesOther": 123
},
"changeOfEquity": {
"changeEquityDividend": 123,
"proposalForDividend": 123,
"proposalBalanceToBeCarriedForward": 123,
"changeEquityToBeCarriedForward": 123,
"changeEquity": 123,
"changeEquityBalanceToBeCarriedForward": 123,
"changeEquityProfitForTheYearToBeCarriedForward": 123,
"changeEquityBalanceDividend": 123,
"changeEquityThisYearProfitOrLoss": 123
},
"keyRatios": {
"operatingMargin": 123,
"returnOnEquity": 123,
"returnOnAssets": 123,
"debtEquityRatio": 123,
"quickRatio": 123,
"grossMargin": 123,
"netProfitMargin": 123,
"equityAssetsRatio": 123,
"netSalesChange": 123
},
"groupKeyRatios": {
"returnOnEquity": 123,
"returnOnAssets": 123,
"operatingMargin": 123,
"equityAssetsRatio": 123,
"quickRatio": 123
},
"brfMetrics": {
"annualFeePerSqm": 123,
"annualFeeShareOfIncome": 123,
"debtPerSqmResidential": 123,
"debtPerSqmTotal": 123,
"savingsPerSqmTotal": 123,
"electricityCostPerSqm": 123,
"heatingCostPerSqm": 123,
"waterCostPerSqm": 123,
"energyCostPerSqm": 123,
"averageDebtInterestRate": 123,
"interestRateSensitivity": 123,
"numberOfApartments": 123,
"isQualifyingCooperative": true
},
"flags": {
"hasMultiYearOverview": true,
"hasChangeOfEquity": true,
"hasNumberOfEmployees": true,
"hasProfitOrResultNotAccountedFor": true,
"hasSrfMentions": true,
"hasFarMentions": true
},
"software": {
"reportSoftwareMetaTag": "<string>",
"reportSoftwareVersionMetaTag": "<string>",
"reportApplicationName": "<string>",
"reportAuditReportHashMetaTag": "<string>",
"reportOriginatorMetaTag": "<string>",
"reportAuditorMetaTag": "<string>",
"auditorSoftwareMetaTag": "<string>",
"auditorSoftwareVersionMetaTag": "<string>",
"auditorApplicationName": "<string>",
"auditorReportHashMetaTag": "<string>",
"auditorOriginatorMetaTag": "<string>"
},
"extendedDetails": {
"forvaltningsberattelseSummary": "<string>",
"property": {
"fastighetsbeteckning": "<string>",
"byggar": 123,
"markInnehav": "<string>",
"tomtrattsavgald": 123,
"bostadsyta": 123,
"lokalyta": 123,
"totalYta": 123,
"antalLokaler": 123,
"antalParkeringsplatser": 123,
"antalGaragePlatser": 123,
"antalForrad": 123
},
"board": {
"styrelseOrdforande": "<string>",
"antalStyrelseledamoter": 123,
"antalSuppleanter": 123
},
"auditor": {
"revisorForetag": "<string>",
"revisorNamn": "<string>",
"revisionOpinion": "<string>"
},
"forvaltning": {
"teknisk": "<string>",
"ekonomisk": "<string>"
},
"laneportfolj": {
"antalLan": 123,
"totalSkuld": 123,
"viktatSnittranta": 123,
"bundetDelProcent": 123,
"lanForAterbetalningInom1Ar": 123
},
"avgiftsforandringar": {
"senasteForandringDatum": "2023-11-07T05:31:56Z",
"senasteForandringProcent": 123,
"planeradeForandringar": "<string>"
},
"energi": {
"energiklass": "<string>",
"energiprestanda": 123,
"energideklarationDatum": "2023-11-07T05:31:56Z"
},
"keyRatios": {
"soliditet": 123,
"belaningsgrad": 123,
"underhallsfondBalans": 123,
"arligAvsattningUnderhallsfond": 123
},
"vasentligaHandelser": [
"<string>"
],
"planerade": [
"<string>"
]
}
}
],
"annualReports": [
{
"periodStart": "2023-11-07T05:31:56Z",
"periodEnd": "2023-11-07T05:31:56Z",
"arrivalDate": "2023-11-07T05:31:56Z",
"registrationDate": "2023-11-07T05:31:56Z",
"ruleset": "<string>",
"files": [
{
"fileId": 123,
"fileType": "xbrl",
"firstSeenAtUtc": "2023-11-07T05:31:56Z",
"lastUpdatedAtUtc": "2023-11-07T05:31:56Z"
}
]
}
]
}BRF
Get aggregated BRF data by registration number
Same response as GET /brf/{companyId} but looks the BRF up by Swedish organisationsnummer. Accepts the number in any common format: with or without dash (769603-9952 or 7696039952), and tolerates surrounding whitespace.
GET
/
brf
/
by-registration-number
/
{registrationNumber}
Get aggregated BRF data by registration number
curl --request GET \
--url https://lens-api.tic.io/brf/by-registration-number/{registrationNumber} \
--header 'x-api-key: <api-key>'import requests
url = "https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://lens-api.tic.io/brf/by-registration-number/{registrationNumber}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"companyId": 123,
"registrationNumber": "<string>",
"legalName": "<string>",
"purpose": "<string>",
"registrationDate": "2023-11-07T05:31:56Z",
"isCeased": true,
"ceasedDate": "2023-11-07T05:31:56Z",
"registeredOfficeMunicipalityCode": "<string>",
"registeredOfficeCountyCode": "<string>",
"sniCodes2007": "<string>",
"sniCodes2025": "<string>",
"isRegisteredForVAT": true,
"isRegisteredForFTax": true,
"isRegisteredForPayroll": true,
"hasAuditor": true,
"debtBalanceKr": 123,
"paymentDefaultsCount": 123,
"lastActivityStatus": "reorganizationOfBusinessCommenced",
"lastStatusType": "reorganizationOfBusinessCommenced",
"lastStatusDate": "2023-11-07T05:31:56Z",
"lastStatusDescription": "<string>",
"mailingAddress": {
"street": "<string>",
"postalCode": "<string>",
"city": "<string>",
"countryCodeAlpha3": "<string>",
"careOf": "<string>"
},
"visitingAddress": {
"street": "<string>",
"postalCode": "<string>",
"city": "<string>",
"countryCodeAlpha3": "<string>",
"careOf": "<string>"
},
"properties": [
{
"propertyObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"propertyDesignation": "<string>",
"registerArea": "<string>",
"trakt": "<string>",
"block": "<string>",
"countyCode": "<string>",
"municipalityCode": "<string>",
"totalArea": 123,
"registrationDate": "2023-11-07T05:31:56Z",
"grantedShareNumerator": 123,
"grantedShareDenominator": 123,
"landTenureType": "lagfart",
"mortgageSumKr": 123,
"mortgageCount": 123,
"latestTaxationValueKr": 123,
"latestTaxationYear": 123,
"propertyTypeCode": 123,
"propertyTypeDescription": "<string>",
"isJointlyTaxed": true
}
],
"addresses": [
{
"propertyObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"addressObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"addressPlaceObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"buildingObjectId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"buildingHouseNumber": "<string>",
"streetName": "<string>",
"streetType": "gatuadressomrade",
"streetNumber": "<string>",
"streetLetterSuffix": "<string>",
"streetPositionSuffix": "<string>",
"streetPositionSuffixNumber": 123,
"postalCode": 123,
"postalCity": "<string>",
"municipalityCode": "<string>",
"municipalityName": "<string>",
"buildingPartsArea": 123,
"buildingPartsResidentialArea": 123,
"registeredResidentsCount": 123,
"latitude": 123,
"longitude": 123,
"formattedAddress": "<string>",
"apartments": [
{
"apartmentNumber": "<string>",
"numberOfRooms": 123
}
]
}
],
"financials": [
{
"report": {
"arrivalDate": "2023-11-07T05:31:56Z",
"ruleset": "<string>",
"code": "<string>",
"periodStart": "2023-11-07T05:31:56Z",
"periodEnd": "2023-11-07T05:31:56Z",
"annualGeneralMeetingDate": "2023-11-07T05:31:56Z",
"lastSignatureDate": "2023-11-07T05:31:56Z",
"auditorFullName": "<string>",
"auditCompanyName": "<string>",
"hasAuditorRemark": true,
"createdFromComparativeFigures": true,
"isInterimReport": true,
"isConsolidatedAccounts": true,
"isExchange": true
},
"incomeStatement": {
"netSales": 123,
"changeInInventoriesAndWorkInProgress": 123,
"workPerformedAndCapitalized": 123,
"otherOperatingIncome": 123,
"sumOperatingIncome": 123,
"rawMaterialsAndConsumables": 123,
"goodsForResale": 123,
"otherExternalCosts": 123,
"personnelCosts": 123,
"depreciationAmortisationIntangibleTangible": 123,
"depreciationAssetsBeyondNormal": 123,
"otherOperatingExpenses": 123,
"sumOperatingExpenses": 123,
"operatingProfitOrLoss": 123,
"profitOrLossParticipationsInGroup": 123,
"profitOrLossAssociatedCompanies": 123,
"profitOrLossCompaniesOwnershipInterest": 123,
"profitOrLossOtherFinancialFixedAssets": 123,
"otherInterestIncomeAndSimilar": 123,
"amortisationFinancialFixedAssetsAndCurrentInvestments": 123,
"interestExpensesAndSimilar": 123,
"sumFinancialItems": 123,
"profitAfterFinancialItems": 123,
"madeGroupContributions": 123,
"receivedGroupContributions": 123,
"changeAccrualFundReversal": 123,
"changeAccrualFundDeposition": 123,
"changeExcessDepreciation": 123,
"appropriations": 123,
"resultBeforeTaxes": 123,
"tax": 123,
"profitOrLoss": 123
},
"balanceSheet": {
"concessionsPatentRights": 123,
"goodwill": 123,
"sumIntangibleFixedAssets": 123,
"plantMachineryAndEquipment": 123,
"equipmentToolsFixturesAndFittings": 123,
"landsAndBuildings": 123,
"improvementExpensesElseProperty": 123,
"ongoingNewFacilitiesAndAdvancesTangibleFixedAssets": 123,
"otherTangibleFixedAssets": 123,
"sumTangibleFixedAssets": 123,
"participationsInGroup": 123,
"participationsInAssociatedCompanies": 123,
"ownershipInterestInOtherCompanies": 123,
"otherLongTermSecurities": 123,
"loansToPartnersOrRelatedParties": 123,
"sumFinancialFixedAssets": 123,
"sumTotalFixedAssets": 123,
"inventoriesRawMaterialsAndSupplies": 123,
"stockReadyFinishedGoods": 123,
"advancePaymentsSuppliers": 123,
"sumInventoriesWorkInProgressAdvancePayments": 123,
"accruedExpensesPrepaidIncome": 123,
"accountsReceivable": 123,
"groupCompaniesReceivable": 123,
"associatedCompaniesReceivable": 123,
"earnedNotInvoicedRevenue": 123,
"otherCurrentReceivables": 123,
"sumCurrentReceivables": 123,
"longTermGroupReceivables": 123,
"longTermAssociatedCompaniesReceivables": 123,
"otherLongTermReceivables": 123,
"otherCurrentInvestments": 123,
"sumCurrentInvestments": 123,
"cashAndCashEquivalents": 123,
"cashAndCashEquivalentsExcl": 123,
"totalCurrentAssets": 123,
"totalAssets": 123,
"shareCapital": 123,
"sharePremiumReserve": 123,
"revaluationReserve": 123,
"accrualFund": 123,
"sumUntaxedReserves": 123,
"sumRestrictedEquity": 123,
"accumulatedProfit": 123,
"profitForTheYear": 123,
"sumTotalUnrestrictedEquity": 123,
"sumEquity": 123,
"longTermLiabilitiesGroup": 123,
"longTermLiabilitiesBondLoan": 123,
"longTermLiabilitiesOverdraftFacility": 123,
"longTermLiabilitiesToCreditInstitutions": 123,
"otherLongTermLiabilities": 123,
"sumLongTermLiabilities": 123,
"totalEquityAndLiabilities": 123,
"shortTermLiabilitiesOverdraftFacility": 123,
"shortTermLiabilitiesToCreditInstitutions": 123,
"accountsPayable": 123,
"advancePaymentsFromCustomers": 123,
"shortTermLiabilitiesGroup": 123,
"shortTermLiabilitiesTaxes": 123,
"otherShortTermLiabilities": 123,
"sumShortTermLiabilities": 123
},
"notes": {
"numberOfEmployees": 123,
"numberOfEmployeesMen": 123,
"numberOfEmployeesFemale": 123,
"interestExpenses": 123,
"floatingCharges": 123,
"propertyMortgages": 123,
"sumSecurities": 123,
"bankOverdraftFacilityGranted": 123,
"contingentLiabilities": 123,
"securitiesWithReservationOfOwnership": 123,
"securitiesOther": 123
},
"changeOfEquity": {
"changeEquityDividend": 123,
"proposalForDividend": 123,
"proposalBalanceToBeCarriedForward": 123,
"changeEquityToBeCarriedForward": 123,
"changeEquity": 123,
"changeEquityBalanceToBeCarriedForward": 123,
"changeEquityProfitForTheYearToBeCarriedForward": 123,
"changeEquityBalanceDividend": 123,
"changeEquityThisYearProfitOrLoss": 123
},
"keyRatios": {
"operatingMargin": 123,
"returnOnEquity": 123,
"returnOnAssets": 123,
"debtEquityRatio": 123,
"quickRatio": 123,
"grossMargin": 123,
"netProfitMargin": 123,
"equityAssetsRatio": 123,
"netSalesChange": 123
},
"groupKeyRatios": {
"returnOnEquity": 123,
"returnOnAssets": 123,
"operatingMargin": 123,
"equityAssetsRatio": 123,
"quickRatio": 123
},
"brfMetrics": {
"annualFeePerSqm": 123,
"annualFeeShareOfIncome": 123,
"debtPerSqmResidential": 123,
"debtPerSqmTotal": 123,
"savingsPerSqmTotal": 123,
"electricityCostPerSqm": 123,
"heatingCostPerSqm": 123,
"waterCostPerSqm": 123,
"energyCostPerSqm": 123,
"averageDebtInterestRate": 123,
"interestRateSensitivity": 123,
"numberOfApartments": 123,
"isQualifyingCooperative": true
},
"flags": {
"hasMultiYearOverview": true,
"hasChangeOfEquity": true,
"hasNumberOfEmployees": true,
"hasProfitOrResultNotAccountedFor": true,
"hasSrfMentions": true,
"hasFarMentions": true
},
"software": {
"reportSoftwareMetaTag": "<string>",
"reportSoftwareVersionMetaTag": "<string>",
"reportApplicationName": "<string>",
"reportAuditReportHashMetaTag": "<string>",
"reportOriginatorMetaTag": "<string>",
"reportAuditorMetaTag": "<string>",
"auditorSoftwareMetaTag": "<string>",
"auditorSoftwareVersionMetaTag": "<string>",
"auditorApplicationName": "<string>",
"auditorReportHashMetaTag": "<string>",
"auditorOriginatorMetaTag": "<string>"
},
"extendedDetails": {
"forvaltningsberattelseSummary": "<string>",
"property": {
"fastighetsbeteckning": "<string>",
"byggar": 123,
"markInnehav": "<string>",
"tomtrattsavgald": 123,
"bostadsyta": 123,
"lokalyta": 123,
"totalYta": 123,
"antalLokaler": 123,
"antalParkeringsplatser": 123,
"antalGaragePlatser": 123,
"antalForrad": 123
},
"board": {
"styrelseOrdforande": "<string>",
"antalStyrelseledamoter": 123,
"antalSuppleanter": 123
},
"auditor": {
"revisorForetag": "<string>",
"revisorNamn": "<string>",
"revisionOpinion": "<string>"
},
"forvaltning": {
"teknisk": "<string>",
"ekonomisk": "<string>"
},
"laneportfolj": {
"antalLan": 123,
"totalSkuld": 123,
"viktatSnittranta": 123,
"bundetDelProcent": 123,
"lanForAterbetalningInom1Ar": 123
},
"avgiftsforandringar": {
"senasteForandringDatum": "2023-11-07T05:31:56Z",
"senasteForandringProcent": 123,
"planeradeForandringar": "<string>"
},
"energi": {
"energiklass": "<string>",
"energiprestanda": 123,
"energideklarationDatum": "2023-11-07T05:31:56Z"
},
"keyRatios": {
"soliditet": 123,
"belaningsgrad": 123,
"underhallsfondBalans": 123,
"arligAvsattningUnderhallsfond": 123
},
"vasentligaHandelser": [
"<string>"
],
"planerade": [
"<string>"
]
}
}
],
"annualReports": [
{
"periodStart": "2023-11-07T05:31:56Z",
"periodEnd": "2023-11-07T05:31:56Z",
"arrivalDate": "2023-11-07T05:31:56Z",
"registrationDate": "2023-11-07T05:31:56Z",
"ruleset": "<string>",
"files": [
{
"fileId": 123,
"fileType": "xbrl",
"firstSeenAtUtc": "2023-11-07T05:31:56Z",
"lastUpdatedAtUtc": "2023-11-07T05:31:56Z"
}
]
}
]
}BRF add-on
This endpoint accepts the Swedish BRF organisationsnummer in any common format -
Understanding
Each entry in
Rules an integrator should know
769603-9952, 7696039952, or with surrounding whitespace - and returns the
same payload as GET /brf/{companyId}.
Understanding extendedDetails
Each entry in financials[] may include an extendedDetails object - content
extracted by an agent system that runs a sequence of steps:
- PDF / TIFFs are deskewed, cleaned and we run a layout analysis through custom CUDA-kernels
- Customed trained SVTRv2 model runs on the rectangles to identify the text / numbers
- Data is spot-checked against a fast VLM (currentley local hosted GPU Qwen3-VL)
- The full first 15 pages including the full text and spot-corrected data is sent to larger VLM (subject to loading times the agent system chooses among a range of the state of the art high resolution market VLMs)
extendedDetails as a best-effort, evolving block.
What’s in it today
| Field | Description |
|---|---|
managementReportSummary | Free-text summary of the förvaltningsberättelse. |
property | propertyDesignation, constructionYear, landTenure, tomtrattsavgald, residential / commercial / total area in m², counts of commercial units, parking, garage, storage. |
board | Chairman, board-member count, deputy count. |
auditor | Auditor company, auditor name, audit opinion (e.g. "ren"). |
management | Technical / financial property management providers. |
loanPortfolio | Loan count, total debt, weighted-average interest rate, fixed-rate share, loans maturing within 12 months. |
feeChanges | Latest fee-change date and percent, free-text description of planned changes. |
energy | Energy class, energy performance (kWh/m²), energy-declaration date. |
extendedKeyRatios | Equity ratio, loan-to-value, maintenance-fund balance, annual maintenance-fund contribution. |
significantEvents | Array of strings - the väsentliga händelser noted in the report. |
plannedMaintenance | Array of strings - line items from the underhållsplan. |
Only the primary period carries
extendedDetails. When a financial row’s
report.createdFromComparativeFigures is true, the row intentionally omits
extendedDetails - the narrative belongs to the year the annual report was
filed, not to its prior-year comparatives. The same BRF will therefore have
exactly one extendedDetails block per filed annual report, attached to the
primary-period row only.- Missing fields are dropped, not nulled. If the annual report doesn’t
state something or the agent system couldn’t extract it confidently, the field - or
the entire sub-object - is absent from the response. Always treat
extendedDetailsand every property under it as optional. - Prefer typed siblings when they exist. A value that appears in both
extendedDetails.*and a structured field on the samefinancials[]row (brfMetrics,keyRatios,report,notes) is authoritative under the typed name. UseextendedDetailsfor fields that have no typed equivalent today, and re-check when you upgrade integrations - fields move out as the schema matures. - The schema is intentionally fluid. New top-level keys can appear under
extendedDetailswithout an API version bump, and existing keys can disappear (graduating to typed columns) the same way. Don’t hardcode exhaustive type definitions against this object - model it asRecord<string, unknown>orMap<string, any>and access fields defensively. - Some values carry Swedish terminology where the concept doesn’t
translate cleanly - e.g.
property.landTenurereturns"agandeRatt"(freehold) or"tomtratt"(site leasehold),auditor.auditOpinionreturns"ren"(clean),"oren", etc.
Authorizations
Path Parameters
Swedish organisationsnummer, with or without dashes (e.g. 769603-9952 or 7696039952)
Response
Aggregated BRF data
Available options:
reorganizationOfBusinessCommenced, bankruptcyTerminatedWithSurplus, dissolvedByCompanyDemerger, liquidationTerminated, mergerProcedureCommenced, acquisitionByCompanyDemerger, acquisitionByMerger, dissolvedByMergerProcedure, liquidationDecided, bankruptcyProceedingsCommenced, bankruptcyProceedingsTerminated, mergerPermitted, unused1, unused2, unused3, liquidationContinues, struckOffRegisterCrossBorderMerger, bankruptcyRepealedByCourt, liquidationEnds, liquidationRepealedByCourt, companyStruckOff, reorganizationOfBusinessEnded, reorganizationOfBusinessRepealedByCourt, resolutionCommenced, resolutionTerminated, resolutionRepealedByCourt, companyStruckOffTradeRegisterAct, deregisteredNewHolder, deregistered, reintroduced, companyStruckOffOwnRequest, companyStruckOffByRegistrationOffice, companyStruckOffReenteredAsJointStock, branchStruckOffForeignLiquidationOrBankruptcy, branchStruckOffOperationsCeased, branchStruckOffMissingCEO, branchStruckOffCourtOrder, branchStruckOffAnnualReportMissing, isActive, isNoLongerActive, hasNeverBeenActive, taxAuthorityStatus, companyDemergerCommenced, settlementNegotiationsCommenced, settlementNegotiationsTerminated, settlementNegotiationsRepealedByCourt, acquisitionExpired, acquisitionTerminated, acquisitionByMultipleMergers, acquisitionRepealedByCourt, mergerExpired, mergerRepealedByCourt, other Available options:
reorganizationOfBusinessCommenced, bankruptcyTerminatedWithSurplus, dissolvedByCompanyDemerger, liquidationTerminated, mergerProcedureCommenced, acquisitionByCompanyDemerger, acquisitionByMerger, dissolvedByMergerProcedure, liquidationDecided, bankruptcyProceedingsCommenced, bankruptcyProceedingsTerminated, mergerPermitted, unused1, unused2, unused3, liquidationContinues, struckOffRegisterCrossBorderMerger, bankruptcyRepealedByCourt, liquidationEnds, liquidationRepealedByCourt, companyStruckOff, reorganizationOfBusinessEnded, reorganizationOfBusinessRepealedByCourt, resolutionCommenced, resolutionTerminated, resolutionRepealedByCourt, companyStruckOffTradeRegisterAct, deregisteredNewHolder, deregistered, reintroduced, companyStruckOffOwnRequest, companyStruckOffByRegistrationOffice, companyStruckOffReenteredAsJointStock, branchStruckOffForeignLiquidationOrBankruptcy, branchStruckOffOperationsCeased, branchStruckOffMissingCEO, branchStruckOffCourtOrder, branchStruckOffAnnualReportMissing, isActive, isNoLongerActive, hasNeverBeenActive, taxAuthorityStatus, companyDemergerCommenced, settlementNegotiationsCommenced, settlementNegotiationsTerminated, settlementNegotiationsRepealedByCourt, acquisitionExpired, acquisitionTerminated, acquisitionByMultipleMergers, acquisitionRepealedByCourt, mergerExpired, mergerRepealedByCourt, other Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes